From 8433e2253c37d557eb278fc4430dc8b11d972fbf Mon Sep 17 00:00:00 2001 From: Crementif Date: Wed, 31 Oct 2018 11:03:04 +0100 Subject: [PATCH] Replace with 1.14.0 repository Also new website! We've got the version2 branch if people want to search in those files. --- .gitattributes | 2 +- .gitignore | 13 +- .travis.yml | 70 +- .../0f2b9ee517917425_00000000000003c9_ps.txt | 12 - .../f14bb57cd5c9cb77_00000000000003c9_ps.txt | 11 - .../BreathOfTheWild_!AARemoval/rules.txt | 4 - .../0f2b9ee517917425_00000000000003c9_ps.txt | 350 - Enhancement/BreathOfTheWild_!NoDoF/rules.txt | 4 - .../BreathOfTheWild_!RegularShadows/rules.txt | 18 - Enhancement/BreathOfTheWild_30FPS/patches.txt | 69 - Enhancement/BreathOfTheWild_30FPS/rules.txt | 7 - .../rules.txt | 23 - .../How_to_make_your_own_Preset.txt | 124 - .../Usage_Instructions.txt | 9 - Enhancement/BreathOfTheWild_Clarity/rules.txt | 4 - .../37040a485a29d54e_00000000000003c9_ps.txt | 135 - .../BreathOfTheWild_Contrasty/rules.txt | 13 - Enhancement/BreathOfTheWild_LODBias/rules.txt | 8 - .../37b9100c1310d3bb_0000000000000000_vs.txt | 981 --- .../3e0262467e8add7d_0000000000000000_vs.txt | 125 - .../a8f3ec17a11d4a50_0000000000000000_vs.txt | 161 - .../CleanCameraRune[Experimental]/rules.txt | 395 - .../BreathOfTheWild_MinimalisticGUI/rules.txt | 23 - .../BreathOfTheWild_NoMMTriforce/rules.txt | 10 - .../37b9100c1310d3bb_0000000000000000_vs.txt | 1005 --- .../4d58e6f0906ff5cf_0000000000000000_vs.txt | 927 --- .../75faf095372864b1_0000000000000000_vs.txt | 1430 ---- .../b88c6020a8b17332_0000000000000000_vs.txt | 480 -- .../f56fcbd319ceba00_0000000000000000_vs.txt | 715 -- .../f7ba548c1fefe24a_0000000000000000_vs.txt | 1222 --- Enhancement/BreathOfTheWild_Pro+/rules.txt | 25 - .../BreathOfTheWild_ReflExtra/rules.txt | 4 - .../37a4ec1a7dbc7391_00000000000003c9_ps.txt | 182 - Enhancement/CaptainToad_0AARemoval/rules.txt | 4 - .../b4ad3f6c36f63964_0000000000000079_ps.txt | 207 - Enhancement/ColorSplash_0AARemoval/rules.txt | 4 - .../8e1337dde42fd224_00000000000003c9_ps.txt | 163 - Enhancement/MarioKart8_0AARemoval/rules.txt | 4 - .../MarioKart8_AdjustableBloom/rules.txt | 4 - .../d81508000beb90fd_0000000000000079_ps.txt | 43 - Enhancement/MarioTennis_0AARemoval/rules.txt | 4 - .../50e29e8929cea348_00000000000003c9_ps.txt | 161 - Enhancement/NSMBU_0AARemoval/rules.txt | 4 - .../4fe1bb2bc0611f15_0000000000000079_ps.txt | 315 - Enhancement/Runner2_DisableBlur/rules.txt | 4 - .../Splatoon_AdjustableBloom/rules.txt | 4 - Enhancement/Splatoon_FX/rules.txt | 4 - Enhancement/Splatoon_LODBias/rules.txt | 30 - .../be99d80628d31127_00000000000003c9_ps.txt | 187 - .../SuperMario3DWorld_0AARemoval/rules.txt | 4 - Enhancement/TokyoMirage_0AAremoval/rules.txt | 8 - .../TropicalFreeze_0AARemoval/rules.txt | 4 - .../c14019840473ff86_00000000000003c9_ps.txt | 41 - .../TwilightPrincessHD_0AARemoval/rules.txt | 4 - .../95a5a89d62998e0d_0000000000000079_ps.txt | 335 - .../c612390d4c70f430_0000000000000079_ps.txt | 538 -- .../TwilightPrincessHD_Bloom/rules.txt | 4 - .../49865bd2e62efda1_0000000000000079_ps.txt | 56 - .../5f422bf63e25be7f_0000000000000079_ps.txt | 62 - .../95a5a89d62998e0d_0000000000000079_ps.txt | 341 - ...S_6437bc3fbba05d3a_000000000000000f_ps.txt | 87 - ...s_afa7dc4b804ad02f_0000000000000079_ps.txt | 100 - .../c14019840473ff86_00000000000003c9_ps.txt | 173 - .../f42bb0ed469dd804_0000000000001e49_ps.txt | 187 - .../TwilightPrincessHD_contrasty/patches.txt | 12 - .../TwilightPrincessHD_contrasty/rules.txt | 21 - Enhancement/WindWakerHD-GC_colour/rules.txt | 5 - .../ff71dcd2ad4defdc_00000000000003c9_ps.txt | 51 - Enhancement/WindWakerHD_0AARemoval/rules.txt | 4 - .../960d3ef6662043c7_0000000000000079_ps.txt | 45 - .../WindWakerHD_AdjustableBloom/rules.txt | 4 - Enhancement/XenobladeX_0AARemoval/rules.txt | 4 - .../1cb8c35cca05b129_0000000000000000_vs.txt | 171 - .../28620f4f4753fb97_0000000000000000_vs.txt | 163 - .../3e12e7b9d981b915_0000000000000000_vs.txt | 188 - .../46bdcbf27127ae3b_0000000000000000_vs.txt | 132 - .../538fc98d957aaa7c_0000000000000000_vs.txt | 188 - .../8ff56afdf1a2f837_0000000000000000_vs.txt | 171 - .../9f390af3897e9112_0000000000000000_vs.txt | 181 - .../b679b0945943e505_0000000000000000_vs.txt | 163 - .../d6e8f178a5b828f0_0000000000000000_vs.txt | 188 - Enhancement/XenobladeX_219_GUI/rules.txt | 4 - .../3cc7e98f78c258b4_00000000000003ca_ps.txt | 280 - .../d936195db0dd8e7d_0000000000001e52_ps.txt | 296 - Enhancement/XenobladeX_FX/rules.txt | 4 - Enhancement/XenobladeX_NoOfflineTag/rules.txt | 10 - .../0f2b9ee517917425_00000000000003c9_ps.txt | 1017 +++ ...d_58b8411478181d7f_0000000000000079_ps.txt | 2 +- ...d_58b84124c01721ff_0000000000000079_ps.txt | 2 +- .../f14bb57cd5c9cb77_00000000000003c9_ps.txt | 175 +- .../!BreathOfTheWild_AntiAliasing}/rules.txt | 27 +- .../cb0e6e8cbec4502a_0000000000000079_ps.txt | 0 Enhancements/!BreathOfTheWild_NoDoF/rules.txt | 6 + .../04d0827b9471eb22_0000000000000000_vs.txt | 7 +- Enhancements/!TokyoMirage_AARemoval/rules.txt | 6 + .../10ccf0cc1234d069_00000000000003c9_ps.txt | 0 .../bafe6c9c37bfca4d_00000000000003c9_ps.txt | 0 .../!TropicalFreeze_AARemoval/rules.txt | 6 + .../497a209b49886520_0000000000000000_vs.txt | 61 +- .../59df1c7e1806366c_00000000000003c9_ps.txt | 0 Enhancements/!XenobladeX_AARemoval/rules.txt | 6 + Enhancements/Bayonetta2_Shadows/rules.txt | 33 + .../37040a485a29d54e_00000000000003c9_ps.txt | 331 +- .../how_to_make_your_own_preset.txt | 53 + .../BreathOfTheWild_Clarity/rules.txt | 46 + .../49ce4bf04a654e80_00000003c9249749_ps.txt | 0 .../8ff2cf86e789335f_00000003c9249749_ps.txt | 0 .../BreathOfTheWild_ReflExtra/rules.txt | 6 + .../22c410044398c7af_0000000000000000_vs.txt | 11 +- .../2a2f55a2b2d64474_0000000000000000_vs.txt | 11 +- .../88133ee405eaae28_000003c000009269_ps.txt | 12 +- .../ffe0e8c84f6e8da9_000003c000009269_ps.txt | 12 +- .../BreathOfTheWild_Shadows/rules.txt | 63 + .../0535e0f9e37cf612_0000000000000000_vs.txt | 132 + .../c7a21597bd595a25_0000000000000000_vs.txt | 110 + Enhancements/M&SRio2016_NoHUD/rules.txt | 14 + .../e90feef2bca6cb2e_00000000000003c9_ps.txt | 3 +- Enhancements/MarioKart8_Bloom/rules.txt | 22 + Enhancements/MarioKart8_Shadows/rules.txt | 33 + Enhancements/NintendoLand_Shadows/rules.txt | 47 + .../PokkenTournament_Shadows/rules.txt | 33 + Enhancements/RiseOfLyric_Shadows/rules.txt | 33 + .../34eaf9e211e76379_00000000000003c9_ps.txt | 3 +- Enhancements/Splatoon_Bloom/rules.txt | 22 + .../b4196905d6fff2bb_0000000000001e69_ps.txt | 10 +- Enhancements/Splatoon_Shadows/rules.txt | 40 + .../4a377a50eda82af8_0000000000001e51_ps.txt | 4 +- .../f502868a515bbfb4_00000000000003c9_ps.txt | 4 +- Enhancements/Splatoon_SplatFX/rules.txt | 46 + .../SuperMario3DWorld_Shadows/rules.txt | 33 + .../7613a0515b67d8b4_0000000000000000_vs.txt | 57 +- Enhancements/SuperSmashBros_Shadows/rules.txt | 40 + Enhancements/TokyoMirage_NegLod/rules.txt | 40 + .../04dcbf2655f94e03_00000000000007f9_ps.txt | 0 .../53141a02b3f78921_00000000000000ff_ps.txt | 0 .../8a763b05908ba4e8_00000000000000ff_ps.txt | 0 .../90ed656e9c17616b_00000000000000ff_ps.txt | 0 .../960d3ef6662043c7_0000000000000079_ps.txt | 0 .../b77c717f243c0b08_00000000007f9249_ps.txt | 0 .../e1ea1127489fd281_0000000000003fc9_ps.txt | 0 .../f1a49f43d95bec30_00000000000000ff_ps.txt | 2 +- .../ff71dcd2ad4defdc_00000000000003c9_ps.txt | 2 +- .../WindWakerHD_GameCubeColor/rules.txt | 6 + .../YoshisWoollyWorld_Shadows/rules.txt | 33 + .../069a6cb3b78b94dd_00003cd249549249_ps.txt | 0 .../07d4d8363600f2d4_0000000079249749_ps.txt | 0 .../0831c7ebf9279cdb_0000001e6924aa49_ps.txt | 0 .../0a042cc751c546b2_0000001e6924aa49_ps.txt | 0 .../10a2a18d2a9a02d8_000000007924d249_ps.txt | 0 .../1bd1c50969e7e4ac_000000000f249a49_ps.txt | 0 .../1cf7d93fabd9e8e3_000000007924d249_ps.txt | 0 .../1f8a651427ddb2a8_000000000f249a49_ps.txt | 0 .../235ae454992c4a92_00003cd249549249_ps.txt | 0 .../2e2543216c04766d_0000000079249749_ps.txt | 0 .../3179b85d41bfb80d_0000000079249749_ps.txt | 0 .../32b2c2ae76175d0d_0000001e6924aa49_ps.txt | 0 .../3c49f88069390494_0000000079249749_ps.txt | 0 .../49ce4bf04a654e80_00000003c9249749_ps.txt | 0 .../4a5e64d284788a47_0000001e6924aa49_ps.txt | 0 .../4c324d20f5b6de3b_000000007924d249_ps.txt | 0 .../53422d4f43914447_0000000000000079_ps.txt | 0 .../5648500869d5db39_0000000079249749_ps.txt | 0 .../5dc89e690f6b0726_0000001e6924aa49_ps.txt | 0 .../7c6e02daf538f23e_000000000f249a49_ps.txt | 0 .../7f33027db819f935_0000000079249749_ps.txt | 0 .../81bbc347eb4b6dbc_0000000079249749_ps.txt | 0 .../8d24f32f18e6de47_0000000079249749_ps.txt | 0 .../8daf3642d5942233_000000007924d249_ps.txt | 0 .../8ff2cf86e789335f_00000003c9249749_ps.txt | 0 .../910884d799c555ff_0000001e6924aa49_ps.txt | 0 .../9a39c7a4d12c3b4e_00003cd249549249_ps.txt | 0 .../a2986482c342660f_000000007924d249_ps.txt | 0 .../a5b3a5e5ab2938bc_0000000000001e49_ps.txt | 0 .../a84b5bc90f635eb4_0000001e6924aa49_ps.txt | 0 .../ac099496a4733213_000000007924d249_ps.txt | 0 .../accb5c78c5e346b5_0000001e6924aa49_ps.txt | 0 .../ad50629df039e45f_0000001e6924aa49_ps.txt | 0 .../b2e61dfb5275f27d_000000000f249a49_ps.txt | 0 .../bd8bba59e2149449_00000000000003c9_ps.txt | 0 .../bdc96b6928e88c78_0000000079249749_ps.txt | 0 .../bff17056bfac28dd_0000000079249749_ps.txt | 0 .../c580a12764680547_000000000f249a49_ps.txt | 0 .../de2bafbeb363afb3_0000000079249749_ps.txt | 0 .../dee484f174698fba_000000007924d249_ps.txt | 0 .../eabf1e8268c0acf2_0000000079249749_ps.txt | 0 .../ead71c09d523378c_000000f349255249_ps.txt | 0 .../readme.txt} | 0 .../!BreathOfTheWild_Monochromia/rules.txt | 11 + .../BreathOfTheWild_!Monochromia/rules.txt | 9 - .../BreathOfTheWild_Cheats/rules.txt | 10 +- .../6fa2baef8a4ece42_0000000000000709_ps.txt | 8 +- .../de960d36a997b34d_0000000000000709_ps.txt | 8 +- .../rules.txt | 50 +- .../BreathOfTheWild_FPS++/patches.txt | 796 +- Modifications/BreathOfTheWild_FPS++/rules.txt | 10 +- .../rules.txt | 22 - .../0453fb7ad9cc0f79_0000000000003849_ps.txt | 0 .../097eac672c26b4a4_00000000000000e1_ps.txt | 0 .../0ce5fca5c70640d1_0000000000003849_ps.txt | 0 .../12fe44a2273b452c_000000000000001c_ps.txt | 0 .../146164991e2929e2_0000000000000709_ps.txt | 0 .../14f5a7cf99f2904a_00000000000000f1_ps.txt | 0 .../15e2d4f74a5e8445_000000000000001c_ps.txt | 0 .../1dd8be9054c94f4e_0000000000003849_ps.txt | 0 .../233a000439032e75_00000000000000e1_ps.txt | 0 .../266a0d760fe1ddfc_0000000000003849_ps.txt | 0 .../2a045e62b99640b5_00000001e1e21c49_ps.txt | 0 .../2a87149b7154c69d_000000000001c24b_ps.txt | 0 .../2f64af19b1835ab0_00000000000000e1_ps.txt | 0 .../319e60116b59ceec_00000001e1e1fe49_ps.txt | 0 .../38d70ed9280bb3bc_0000000000000079_ps.txt | 0 .../3d383d2d61500c9c_0000000f0f0ff249_ps.txt | 0 .../42c9208b54ad72ca_00000000000000e1_ps.txt | 0 .../458dd826bd589332_0000000000000709_ps.txt | 0 .../48a94cda336d2976_00000000000000e1_ps.txt | 0 .../4af8a4670205be4c_00000000000000e1_ps.txt | 0 .../4bdac25bb98f5804_0000000000003849_ps.txt | 0 .../5219277e990fe5ba_00000000000000e1_ps.txt | 0 .../5b04d28f319a1d6d_0000000f0f0ff249_ps.txt | 0 .../5b9b7727ca24e22b_0000000000000709_ps.txt | 0 .../5f4e60117b59cf65_00000001e1e1fe49_ps.txt | 0 .../603d7ad06d86617e_00000000000000e1_ps.txt | 0 .../6240983542445009_00000001e1e21c49_ps.txt | 0 .../64342503518ca97a_0000000000000709_ps.txt | 0 .../6832b00344c32a71_00000000000000e1_ps.txt | 0 .../687da8c1b555b262_0000000000003849_ps.txt | 0 .../68aa37ce58db094d_00000000000000e1_ps.txt | 0 .../70a79265ab7d498a_0000000f0f10e249_ps.txt | 0 .../70d96b85a0ce93ef_00000000000000e1_ps.txt | 0 .../751393d6cbcd0c76_000003c3c3fc9249_ps.txt | 0 .../80b87385a0d2942f_00000000000000e1_ps.txt | 0 .../81adf9797e4661a7_00000000000000e1_ps.txt | 0 .../8438998c284fe428_000000000000001c_ps.txt | 0 .../87790fa17c847fea_0000000000000709_ps.txt | 0 .../8798144a6f066e7c_00000000000000e1_ps.txt | 0 .../87babe7569572ff5_0000000000003849_ps.txt | 0 .../8836c3a20b053cf0_000000000000001c_ps.txt | 0 .../8d0a18894dd0c9cb_0000000000000709_ps.txt | 0 .../8e9e804a3cd384c3_00000000000ff259_ps.txt | 0 .../8fe014235f134ac1_00000000000000e1_ps.txt | 0 .../99122c964b6a1a19_000000000001fe49_ps.txt | 0 .../99fc7f42b65ca284_0000000000000709_ps.txt | 0 .../9aacad682248145f_0000000000000709_ps.txt | 0 .../9c9c75d87bb9b4ef_0000000f0f10e249_ps.txt | 0 .../Readme.txt | 17 + .../a02a462f9ba59f2e_000000003c3c4389_ps.txt | 0 .../a11251f0bffe8631_000000000000001c_ps.txt | 0 .../a54bdb88a57b9be9_0000000000003849_ps.txt | 0 .../a6ea718e4c60e157_00000000000000e1_ps.txt | 0 .../a6eb708e4b616557_00000000000000e1_ps.txt | 0 .../a95fbb49ae2c8f46_00000000000000e1_ps.txt | 0 .../b2cf5924b04ea6a4_0000000f0f0ff249_ps.txt | 0 .../b2e1c9ce2f160aab_000000003c3c4389_ps.txt | 0 .../b5b53042daaad65c_00000001e1e21c49_ps.txt | 0 .../bc9529a682410603_00000001e1e1fe49_ps.txt | 0 .../beb15cab79e5ca5d_000000000000001c_ps.txt | 0 .../bee298edc2f7e315_00000001e1e1fe49_ps.txt | 0 .../bf72a1fd35401be2_0000079749255249_ps.txt | 0 .../c36b10f0e410def8_00000000000000e1_ps.txt | 0 .../cb27783c5e10df0e_000000000000001c_ps.txt | 0 .../cc9529ae1a492d03_00000001e1e1fe49_ps.txt | 0 .../cd1eba6802df67f7_0000000f0f0ff249_ps.txt | 0 .../ce76f7a67517c0b2_000000003c3c4389_ps.txt | 0 .../cf2e9b7aab93e342_000000000001fe49_ps.txt | 0 .../d178de668517df1e_000000003c3c4389_ps.txt | 0 .../d3ac3a61f7749326_000000000000001c_ps.txt | 0 .../d48de6ada1e9ad03_00000001e1e1fe49_ps.txt | 0 .../db8bc69330c08206_0000000000003849_ps.txt | 0 .../e53233e53de8434f_0000000000000709_ps.txt | 0 .../e95d54571be1c0a9_000000000001fe49_ps.txt | 0 .../f62be0d03546ec39_00000000000000e1_ps.txt | 0 .../fb135efcb4540fb1_00000078787f9249_ps.txt | 0 .../rules.txt | 6 + .../BreathOfTheWild_StaticFPS/patches.txt | 30 +- .../BreathOfTheWild_StaticFPS/readme.txt | 16 + .../BreathOfTheWild_StaticFPS/rules.txt | 97 + Modifications/HyruleWarriors_60FPS/rules.txt | 6 +- .../HyruleWarriors_CharacterSwap/patches.txt | 5 + .../HyruleWarriors_CharacterSwap/rules.txt | 45 + .../HyruleWarriors_PlayAsCucco/patches.txt | 4 - .../HyruleWarriors_PlayAsCucco/rules.txt | 5 - .../HyruleWarriors_PlayAsGanon/patches.txt | 4 - .../HyruleWarriors_PlayAsGanon/rules.txt | 5 - Modifications/MarioKart8_Speed/rules.txt | 33 + .../3e385c973f99f97f_0000000000000000_vs.txt | 31 - .../7caa82f23221199f_000000000000000f_ps.txt | 19 - .../7caa82f23221199f_6000000000000003_ps.txt | 20 - .../7caa82f23221199f_a000000000000003_ps.txt | 20 - .../826f5c3cbb703c6e_0000000000040309_ps.txt | 30 - .../826f5c3cbb703c6e_0000000000040389_ps.txt | 30 - .../826f5c3cbb703c6e_00000000001ffe49_ps.txt | 29 - .../a76d3742c770ac3c_0000000000000000_vs.txt | 35 - .../PokkenTournament_AprilFools/rules.txt | 11 - .../5e20002e68736ff6_0000000001e49249_ps.txt | 296 - .../ProjectZero_NoFilmGrain/rules.txt | 4 - Modifications/RiseOfLyric_60FPS/rules.txt | 13 - .../patches.txt | 1 - Modifications/RiseOfLyric_Uncapped/rules.txt | 15 + .../5589940158f30db3_0000000000000079_ps.txt | 22 - .../62d887aeff99f5a3_0000000000000000_vs.txt | 51 - .../68357a3eaf8b29a8_000000007bac9249_ps.txt | 123 - .../69b5b934d877bac0_0000000000000000_vs.txt | 48 - .../71a7179980cfe114_000000000000007b_ps.txt | 108 - .../733ee69ec9dd5e30_0000000000001e69_ps.txt | 25 - .../89371aa2435ecc7c_0000000000000000_vs.txt | 31 - .../acdc2cc298f22eed_0000000000000000_vs.txt | 41 - .../b1951b6b76aa5c84_0000000000000000_vs.txt | 28 - .../b997476498552b16_0000000000000079_ps.txt | 22 - .../d61363e0854c74ad_00000000000003d9_ps.txt | 109 - .../d92fe9087a495dcb_0000000000000000_vs.txt | 45 - Modifications/Splatoon_AprilFools/rules.txt | 17 - .../Splatoon_UltrawideFixes219/rules.txt | 4 - .../rules.txt | 10 - .../61b51be479ffa5dc_0000000000000000_vs.txt | 110 - .../94986f08df872394_0000000000000000_vs.txt | 131 - .../dda6656146476243_0000000000000000_vs.txt | 93 - Modifications/TokyoMirage_21_9_Gui/rules.txt | 4 - .../7fc14eb425c76088_0000000000000000_vs.txt | 262 - .../7fc256b425c76088_0000000000000000_vs.txt | 262 - .../8ed3fdc12b05f168_0000000000000000_vs.txt | 677 -- .../8ed40dc12b05f168_0000000000000000_vs.txt | 677 -- .../8ed505c12b05f168_0000000000000000_vs.txt | 677 -- .../8f2424ec8315e884_0000000000000000_vs.txt | 673 -- .../8f2434ec8315e884_0000000000000000_vs.txt | 673 -- .../8f252cec8315e884_0000000000000000_vs.txt | 673 -- .../8f6c001eaafbe968_0000000000000000_vs.txt | 676 -- .../8f6c001eab4ee968_0000000000000000_vs.txt | 678 -- .../8f6c00334afbe968_0000000000000000_vs.txt | 674 -- .../8f6c101eaafbe968_0000000000000000_vs.txt | 676 -- .../8f6d081eaafbe968_0000000000000000_vs.txt | 676 -- .../9773fd0a6739e762_0000000000000000_vs.txt | 674 -- .../9773fd0aaf39e76a_0000000000000000_vs.txt | 674 -- .../9773fd0aaf8ce76a_0000000000000000_vs.txt | 676 -- .../97740d0aaf39e76a_0000000000000000_vs.txt | 674 -- .../97740d0aaf8ce76a_0000000000000000_vs.txt | 676 -- .../9775050a6739e762_0000000000000000_vs.txt | 674 -- .../9775050aaf39e76a_0000000000000000_vs.txt | 674 -- .../978fbd0a6739e762_0000000000000000_vs.txt | 674 -- .../978fbd0aaf39e76a_0000000000000000_vs.txt | 674 -- .../9b03fe2a1c028702_0000000000000000_vs.txt | 677 -- .../9b03fe2a1c558702_0000000000000000_vs.txt | 679 -- .../9b040e2a1c028702_0000000000000000_vs.txt | 677 -- .../9b05062a1c028702_0000000000000000_vs.txt | 677 -- .../9b05062a1c558702_0000000000000000_vs.txt | 679 -- .../9b1fbe2a1c028702_0000000000000000_vs.txt | 677 -- .../TokyoMirage_ScaleToonShader/ToonScale.png | Bin 2242450 -> 0 bytes .../bb03fbca128c872a_0000000000000000_vs.txt | 678 -- .../bb040bca128c872a_0000000000000000_vs.txt | 678 -- .../bb0503ca128c872a_0000000000000000_vs.txt | 678 -- .../bb1fbbca128c872a_0000000000000000_vs.txt | 678 -- .../d197a7aa2d4a9878_0000000000000000_vs.txt | 250 - .../d486965b736e9bf0_0000000000000000_vs.txt | 673 -- .../d48ad65b736e9bf0_0000000000000000_vs.txt | 673 -- .../d4d6ab86cb7c930c_0000000000000000_vs.txt | 669 -- .../d4dafd86cb7e930c_0000000000000000_vs.txt | 669 -- .../d5089c79cdfe10e4_0000000000000000_vs.txt | 672 -- .../d522d8b8f36493f0_0000000000000000_vs.txt | 672 -- .../d59ffc774bfe110a_0000000000000000_vs.txt | 671 -- .../da53727d4bc510f8_0000000000000000_vs.txt | 668 -- .../decf327dcbc510f8_0000000000000000_vs.txt | 668 -- .../ded3727dcbc510f8_0000000000000000_vs.txt | 668 -- .../TokyoMirage_ScaleToonShader/rules.txt | 6 - Modifications/XenobladeX_21_9_gui/patches.txt | 27 - Modifications/XenobladeX_21_9_gui/rules.txt | 4 - Source/AdventureTimeEtDBIDK/rules.txt | 24 - Source/AdventureTimeFJI/rules.txt | 30 - Source/AmiiboFestival/rules.txt | 83 - Source/AquaTV/rules.txt | 30 - Source/BatmanArkham/rules.txt | 25 - .../117889891fd19c30_000000000000001e_ps.txt | 132 - .../212e4514290f2693_0000000000000079_ps.txt | 114 - .../51f398ee2e3e18a6_0000000000000079_ps.txt | 115 - .../63a0a7de4fdcf0ce_0000000000000079_ps.txt | 58 - .../6e828da50daedc79_00000000000003c9_ps.txt | 318 - .../9d1d7119cc2a1bc5_00000000000003c9_ps.txt | 526 -- .../f015876e4c8e82f9_000000000000001e_ps.txt | 131 - Source/Bayonetta/rules.txt | 62 - .../00fed4f92a49e851_0000000000000079_ps.txt | 10 +- .../43a2239f07af804e_0000000000000079_ps.txt | 9 +- .../73ac09c3fff4b657_0000000000000079_ps.txt | 9 +- .../75387173950c1793_0000000000000079_ps.txt | 9 +- .../8a0efcdc3f556942_0000000000000079_ps.txt | 9 +- Source/Bayonetta2/rules.txt | 229 +- Source/Ben10Omniverse/rules.txt | 42 - .../01ba1a725af9facf_0000000000000000_vs.txt | 9 +- .../01bef64ec0cccd53_0000000000000000_vs.txt | 14 +- .../0b9b8f5dfa16ad58_0000000000000000_vs.txt | 16 +- .../0bcd653c18367d59_0000000000000000_vs.txt | 14 +- .../0d6127fbed646d2b_0000000000000000_vs.txt | 14 +- .../0f2b9ee517917425_00000000000003c9_ps.txt | 14 +- .../141f484aff9b9f5a_0000000000000000_vs.txt | 14 +- .../15afdae4307b9a3d_0000000000000000_vs.txt | 14 +- .../1a14de8e58d5b30a_0000000000000000_vs.txt | 14 +- .../381d034349896360_0000000000000000_vs.txt | 14 +- .../44b73ce02e05c2e6_0000000000000000_vs.txt | 13 +- .../4721609a424e9a1f_0000000000000000_vs.txt | 14 +- .../5307d14d04250e61_000000000000000f_ps.txt | 4 +- .../5c1761d13feccdff_0000000000000000_vs.txt | 14 +- .../5c975b0e3dac0562_0000000000000000_vs.txt | 14 +- .../75a85b0cbcab764b_0000000000000000_vs.txt | 14 +- .../771e24915acbb074_0000000000000000_vs.txt | 14 +- .../7cd338ce4c6ea935_0000000000000079_ps.txt | 75 - .../81eb264a750163d9_0000000000000000_vs.txt | 13 +- .../8cab2ed476b991ea_0000000000000000_vs.txt | 14 +- .../93f16bf1d083933b_0000000000000000_vs.txt | 13 +- .../a1cb9f79d093badb_0000f0f0ff34db6d_ps.txt | 14 +- .../a5b3a5e5ab2938bc_0000000000001e49_ps.txt | 14 +- .../b4a729584b6188ea_0000000000001e49_ps.txt | 14 +- .../bb50d2ee4fa87bc2_0000000000000000_vs.txt | 14 +- .../c92c1c4c0a2fb839_0000000000001e49_ps.txt | 14 +- .../c9f2fd37115b0ee1_0000000000000000_vs.txt | 14 +- .../cb0e6e8cbec4502a_0000000000000079_ps.txt | 10 +- .../d1cf6920c3d5b194_0000000000000000_vs.txt | 14 +- .../e06e20b2efe87a84_0000000000000000_vs.txt | 14 +- .../ea9a49a6185cf1e5_0000000000000000_vs.txt | 14 +- .../f14bb57cd5c9cb77_00000000000003c9_ps.txt | 14 +- .../f69e84515ae56e70_0000000000000000_vs.txt | 13 +- .../fc3e63a2007625f8_0000000000000000_vs.txt | 18 +- Source/BreathOfTheWild/patches.txt | 71 +- Source/BreathOfTheWild/rules.txt | 835 ++- Source/BreathOfTheWild_StaticFPS/readme.txt | 19 - Source/BreathOfTheWild_StaticFPS/rules.txt | 7 - Source/Brunswick/rules.txt | 24 - .../37a4ec1a7dbc7391_00000000000003c9_ps.txt | 11 +- .../5c1761d13feccdff_0000000000000000_vs.txt | 12 +- .../6f5412f28bd716e8_0000000000000000_vs.txt | 11 +- .../83f42767ee584d5a_000000000007fffd_ps.txt | 11 +- .../a0bda935c83e6f2a_0000000000000000_vs.txt | 11 +- .../cc5b29e8cb801fb8_000000000007fff9_ps.txt | 11 +- .../d6228044a83341ca_000000000007fffd_ps.txt | 11 +- Source/CaptainToad/patches.txt | 23 +- Source/CaptainToad/rules.txt | 728 +- Source/Chariot/rules.txt | 57 - Source/ChimpuzzlePro/rules.txt | 24 - Source/ChompyChompChompParty/rules.txt | 36 - Source/CitizensOfEarth/rules.txt | 24 - .../5019118560a66950_0000000000000000_vs.txt | 71 - .../88a193c7d4d2c9bc_0000000000000079_ps.txt | 82 - .../deceb5ab7cca5140_0000000000000079_ps.txt | 82 - Source/ColorSplash/rules.txt | 84 - Source/DevilsThird/rules.txt | 25 - Source/DuckTalesRemastered/rules.txt | 30 - Source/ElectronicSuperJoyGrooveCity/rules.txt | 24 - .../0f53b10e26382ad1_00000000003db249_ps.txt | 705 -- .../33fa3ac7f0222908_0000000000000079_ps.txt | 180 - .../935b8d72d8f53ccc_00000000003c9249_ps.txt | 607 -- .../935b8d72d8f53ccc_00000000003db249_ps.txt | 646 -- .../c64145ed80397137_00000000000003c9_ps.txt | 221 - .../e54c6857324898f3_00000000003db249_ps.txt | 634 -- .../f0d0fb541a9e26ea_0000000000000079_ps.txt | 57 - Source/FASTRacingNEO/rules.txt | 286 +- Source/FamilyTennisSP/rules.txt | 24 - Source/FistoftheNorthStar/rules.txt | 49 - Source/FrenchyBird/rules.txt | 30 - Source/GhostBladeHD/rules.txt | 139 - Source/GhostlyAdventures/rules.txt | 44 - Source/GhostlyAdventures2/rules.txt | 44 - Source/GianaSistersTwistedDreams/rules.txt | 46 - Source/Guacamelee/rules.txt | 25 - Source/HyruleWarriors/patches.txt | 20 - Source/HyruleWarriors/rules.txt | 107 - Source/InfinityRunner/rules.txt | 25 - Source/KamenRider/rules.txt | 24 - Source/KickandFennick/rules.txt | 36 - Source/KirbyRainbowCurse/rules.txt | 76 - Source/KungFuPanda/rules.txt | 37 - Source/LEGOCityUndercover/rules.txt | 37 - Source/M&SRio2016/rules.txt | 313 + .../2e78a0d0a0aa66bb_0000000000000000_vs.txt | 20 +- .../74126253134563de_0000000000000000_vs.txt | 17 +- .../a9bf96a840b38cc8_0000000000000000_vs.txt | 156 - .../ad3014302e0e49bf_0000000000000000_vs.txt | 17 +- .../c673c0d44f779fc9_0000000000000000_vs.txt | 87 - .../dd7a19be01b7b1aa_0000000000000000_vs.txt | 20 +- .../e02d25abb7529b7f_0000000000000000_vs.txt | 129 - .../e8266ec81590ed24_0000000000000000_vs.txt | 130 - Source/MarioKart8/patches.txt | 42 +- Source/MarioKart8/rules.txt | 619 +- Source/MarioParty10/rules.txt | 188 - Source/MarioSonicRio/rules.txt | 294 - Source/MarioSonicSochi/rules.txt | 56 - Source/MarioTennis/rules.txt | 180 - Source/MemeRun/rules.txt | 102 + Source/Minecraft/rules.txt | 25 - Source/MinecraftStory/rules.txt | 62 - Source/MonsterHunter3Ultimate/rules.txt | 202 +- Source/NBA2K13/rules.txt | 30 - .../50e29e8929cea348_00000000000003c9_ps.txt | 199 - .../70b82af4d17024d2_0000000000000000_vs.txt | 83 - .../8d638f35cebd14dc_00000000000007f9_ps.txt | 109 - .../ec4a85d51e778437_0000000000000000_vs.txt | 86 - Source/NewSuperMarioBrosU/rules.txt | 73 - .../7a641a67c4009f7f_0000000000000000_vs.txt | 153 + .../fd6c2e800481a180_0000000000000000_vs.txt | 158 + Source/NinjaGaiden3/rules.txt | 347 + Source/NinjaGaiden3RE/rules.txt | 19 - Source/NintendoLand/rules.txt | 309 +- Source/OnePiece/rules.txt | 167 +- Source/PaperMonstersRecut/rules.txt | 36 - Source/PhineasFerb/rules.txt | 24 - Source/Pikmin3/rules.txt | 25 - .../b2fecd8319ee0096_0000000000079249_ps.txt | 11 +- .../fe05aca8e186a5fd_0000000000000079_ps.txt | 11 +- Source/PokkenTournament/rules.txt | 276 +- Source/ProjectZero/rules.txt | 38 - Source/PuyoPuyoTetris/rules.txt | 24 - .../8fd5069eea66af37_0000000000000000_vs.txt | 146 - Source/RiseOfLyric/rules.txt | 231 +- .../4fe1bb2bc0611f15_0000000000000079_ps.txt | 315 - Source/Runner2/rules.txt | 26 - Source/SanatoryHallways/rules.txt | 24 - Source/ScribblenautsUnlimited/rules.txt | 25 - Source/ScribblenautsUnmasked/rules.txt | 25 - Source/Severed/rules.txt | 24 - .../023831cdf6638473_00000000000003c9_ps.txt | 245 - .../24d99fe8b4e5f576_0000000000000000_vs.txt | 78 - .../294904d1771460cf_0000000000000079_ps.txt | 121 - .../8fdd009324e987ee_0000000000000079_ps.txt | 124 - Source/ShantaeHGH/rules.txt | 34 - Source/ShovelKnight/rules.txt | 30 - Source/Smurfs2/rules.txt | 73 - .../58cf1eb8946f4b3c_0000000000000079_ps.txt | 11 +- .../79183302695ea935_0000000000000079_ps.txt | 11 +- .../92e5b6dffd1d9b9b_0000000000000079_ps.txt | 13 +- .../a455fc196032912c_0000000000000079_ps.txt | 11 +- Source/SonicLostWorld/patches.txt | 15 +- Source/SonicLostWorld/rules.txt | 318 +- .../0b9b8f5dfa16ad58_0000000000000000_vs.txt | 11 +- .../5c1761d13feccdff_0000000000000000_vs.txt | 11 +- .../6f5412f28bd716e8_0000000000000000_vs.txt | 11 +- .../a0bda935c83e6f2a_0000000000000000_vs.txt | 11 +- .../ae5bf21625f134f3_0000000000000000_vs.txt | 138 - .../fc3e63a2007625f8_0000000000000000_vs.txt | 11 +- Source/Splatoon/patches.txt | 27 +- Source/Splatoon/rules.txt | 452 +- Source/SpongeBob/rules.txt | 25 - Source/StarFoxGuard/rules.txt | 49 - Source/StarFoxZero/rules.txt | 64 - .../1f83c0d47b1c4c34_0000000000000000_vs.txt | 11 +- .../280351fcf8e5949f_0000000000000000_vs.txt | 11 +- .../5661793d88425685_0000000007fffff9_ps.txt | 11 +- .../6d9067fd20086bc0_0000000000000000_vs.txt | 11 +- .../842a19b509f8b91a_0000000000000000_vs.txt | 11 +- .../8d68a0e3561ff525_0000000000000000_vs.txt | 13 +- .../b727c08e3b534992_0000000007fffffd_ps.txt | 11 +- .../be99d80628d31127_00000000000003c9_ps.txt | 15 +- Source/SuperMario3DWorld/patches.txt | 15 +- Source/SuperMario3DWorld/rules.txt | 465 +- .../0b9b8f5dfa16ad58_0000000000000000_vs.txt | 60 +- .../141f484aff9b9f5a_0000000000000000_vs.txt | 83 - .../37a4ec1a7dbc7391_00000000000003c9_ps.txt | 192 - .../7f513855e2ebc5d0_0000000000000000_vs.txt | 127 - .../cedd7a7d49bc26da_0000000000000000_vs.txt | 128 - .../db25758018a030be_0000000000000000_vs.txt | 115 - .../fc3e63a2007625f8_0000000000000000_vs.txt | 62 +- Source/SuperMarioMaker/rules.txt | 411 +- .../315d61ad21f97614_0000000000000000_vs.txt | 11 +- .../4b92e636153d6b54_0000000000000000_vs.txt | 11 +- Source/SuperSmashBros/rules.txt | 371 +- Source/TNTRacers/rules.txt | 30 - .../9bc0b72c01bbaac2_000000000000001c_ps.txt | 272 - Source/TaikoNoTatsujin/rules.txt | 39 - Source/Tekken/rules.txt | 26 - Source/Tengami/rules.txt | 24 - .../013b284dd654166c_00000000001e1e49_ps.txt | 880 --- .../06ba1a56c89ddf3f_0000000007879249_ps.txt | 1085 --- .../0d4f172cb95a4c6d_0000000007879249_ps.txt | 896 --- .../0f9b53e33a3bdda2_0000000f0f249249_ps.txt | 1565 ---- .../11ad1c7744853e28_0000000007879649_ps.txt | 1084 --- .../11cd991ec462cde6_000003c3c9249649_ps.txt | 1859 ----- .../13727f533f0b02e5_000000003c3c9249_ps.txt | 999 --- .../15818f56e475e8dd_000000003c3c9649_ps.txt | 1225 --- .../201bd8dfd2a9e7d3_0000000000000000_vs.txt | 168 - .../23c5bbfda0fc3b0f_0000000000000000_vs.txt | 96 - .../2b2102290296ed7b_000000003c3c9649_ps.txt | 1182 --- .../2ccf4df3c71a294b_00000000f0f0f249_ps.txt | 871 --- .../3259d3b3ca333bf3_0000000000000000_vs.txt | 116 - .../3580dbf90f8599b5_0000003c3c3c9649_ps.txt | 1286 ---- .../378c2086d302df76_0000007879249249_ps.txt | 1728 ----- .../38e10e2b4b676385_00000000078792c9_ps.txt | 1141 --- .../39500ee79c45c24e_00000001e1e49249_ps.txt | 1504 ---- .../39863f29c6d85cb8_0000000000000000_vs.txt | 82 - .../3b1ee60c5e7eb349_00000000001e3849_ps.txt | 445 -- .../4299868e90181d42_00000f0f0f249249_ps.txt | 1664 ----- .../44cac66c0a1ac2e0_000001e1e1e49249_ps.txt | 1415 ---- .../4717e201697a3299_000000000003c709_ps.txt | 400 - .../4717e201697a3299_00000000001e1e49_ps.txt | 398 - .../47f1cf08cd81daec_00000000001e3849_ps.txt | 1045 --- .../47f1cf08cd81daec_0000000000f0f249_ps.txt | 1043 --- .../4a1878ced0dc8fea_0000787879249249_ps.txt | 1708 ----- .../4ba994ab0ac0bef4_0000000007879249_ps.txt | 1004 --- .../4c108d5760637fc9_00000f0f0f249249_ps.txt | 1125 --- .../4f6f4c93055b859f_0000000000f0f249_ps.txt | 1051 --- .../5166e277a07549eb_00000000078e1249_ps.txt | 1133 --- .../52ee7db30818150f_00000001e1e49249_ps.txt | 1330 ---- .../54f202046702d4d5_0000000f0f249249_ps.txt | 1720 ----- .../56247a996eb4f56b_0000000007879249_ps.txt | 859 --- .../59fca914f0dcb060_0000000000000000_vs.txt | 200 - .../5aef5a108e7134ce_0000000000f0f249_ps.txt | 865 --- .../60d954abeff0f4a5_00000001e1e49649_ps.txt | 1225 --- .../637727b58ea13abc_00000000078e1649_ps.txt | 1219 --- .../637727b58ea13abc_000000003c3c9649_ps.txt | 1217 --- .../658c0585bb7b4b1f_0000000007879249_ps.txt | 615 -- .../6c12438270a71b38_0000000f0f249249_ps.txt | 1547 ---- .../6cad1f9e3b132733_0000003c3c3c9249_ps.txt | 1150 --- .../6e1c0e67c00faf41_00000001e1e49249_ps.txt | 1676 ----- .../73c2bf1091343523_000000003c3c9649_ps.txt | 1260 ---- .../74ab7845ce95d107_0000007879249249_ps.txt | 1591 ---- .../7709da01f43c145b_0000000007879649_ps.txt | 643 -- .../78b9ba889e63ee13_0000007879249249_ps.txt | 1674 ----- .../7a5a427460eef0e4_00000f0f0f249249_ps.txt | 1583 ---- .../7ff51869d8979702_0000000000f0f249_ps.txt | 916 --- .../82395d1cbdf2c430_0000007879249649_ps.txt | 1063 --- .../85bfb16d3e86115d_0000000000f0f249_ps.txt | 931 --- .../88ae6940d510eea5_0000000000000000_vs.txt | 80 - .../8942491660a6e5dd_00000000f0f1c249_ps.txt | 964 --- .../89822681cb52f1b4_0000000000f0f249_ps.txt | 1014 --- .../8b5e35332cd2d009_0000000007879249_ps.txt | 1165 --- .../8cdd68cf2a074404_0000000000000000_vs.txt | 151 - .../8e4ce35172aa4207_0000000007879649_ps.txt | 1040 --- .../8ec0e9d024e5eab1_000000003c3c9249_ps.txt | 1176 --- .../93a9c110b64f2c4a_000001e1e1e49649_ps.txt | 806 -- .../942d4bf4624a0b2b_00000000078e1249_ps.txt | 898 --- .../942d4bf4624a0b2b_000000003c3c9249_ps.txt | 896 --- .../9482a40453e83072_000000003c3c9249_ps.txt | 1132 --- .../950e516872bc89e1_0000000f0f249249_ps.txt | 1633 ---- .../98fbed6646d0a28e_00000f0f0f249249_ps.txt | 1451 ---- .../a7f4801a8d29e333_0000000000000079_ps.txt | 227 - .../a990ed1d8b98c845_00000001e1e49249_ps.txt | 1514 ---- .../a9fab78f85b62771_00000001e1e49249_ps.txt | 1392 ---- .../adaebba23d3cde3d_00000f0f0f249249_ps.txt | 1708 ----- .../adc1f8175ad593d2_0000000f0f249249_ps.txt | 1516 ---- .../ae4b9d707f95f9e3_00000001e1e49249_ps.txt | 1598 ---- .../ae5531e428f703f5_0000000007879249_ps.txt | 1353 ---- .../aeacafe10869d9dd_000003c3c9249649_ps.txt | 1754 ----- .../af7acf7fb6dca1be_0000000000079249_ps.txt | 583 -- .../b181218b85619285_0000000000000000_vs.txt | 131 - .../b367f45a902e71b9_0000000f0f249249_ps.txt | 1555 ---- .../b5b078876f8aea16_0000000000f1c2c9_ps.txt | 655 -- .../b5b078876f8aea16_00000000078792c9_ps.txt | 653 -- .../ba19276703190072_0000000000001e49_ps.txt | 349 - .../ba91c4a71ca3f482_0000000007879249_ps.txt | 1339 ---- .../bf0d3ea368f59c01_000000003c3c9249_ps.txt | 1092 --- .../bfc54e7c73074291_00000f0f0f249249_ps.txt | 1745 ----- .../c119d6dc3845973c_00000001e1e49249_ps.txt | 1468 ---- .../c47311db5ad96d40_00000001e1e49649_ps.txt | 1270 ---- .../c584bebcdcb93b8d_00000001e1e49249_ps.txt | 1457 ---- .../c90f7d197e8cef8f_0000003c3c3c9249_ps.txt | 1030 --- .../c9a715140538a7a6_0000000787879249_ps.txt | 1291 ---- .../cb60585a374f1761_0000000000f0f2c9_ps.txt | 1003 --- .../ce2ff6b2fd939478_0000000f0f249249_ps.txt | 1506 ---- .../d35885ced93e745a_0000000007879249_ps.txt | 1279 ---- .../dd2a47af8d2caf76_00000001e1e49249_ps.txt | 1629 ---- .../df01ee93f5e32259_000003c3c9249249_ps.txt | 1703 ----- .../dfd09ecca1f42f08_000001e1e1e49249_ps.txt | 1401 ---- .../e0702e915651fa43_000000003c3c9649_ps.txt | 1034 --- .../e0a01790582276ee_000003c3c9249249_ps.txt | 1750 ----- .../e2f8996baff83d4d_00000000078e1649_ps.txt | 1087 --- .../e2f8996baff83d4d_000000003c3c9649_ps.txt | 1085 --- .../e6594de142bd3d05_00000000078e1649_ps.txt | 700 -- .../e717b6f3bc364ae6_0000000f0f249249_ps.txt | 1684 ----- .../ed51eb916a78aefe_00000f0f0f249249_ps.txt | 1461 ---- .../ee74120dadf200d1_000003c3c9249249_ps.txt | 1774 ----- .../f4525e13d6671be9_00000000001e3849_ps.txt | 852 --- .../f4525e13d6671be9_0000000000f0f249_ps.txt | 850 --- .../f5714975b9b463ed_000001e1e1e49249_ps.txt | 1545 ---- .../f579e3ba9295354e_000000000003c709_ps.txt | 818 -- .../f579e3ba9295354e_00000000001e1e49_ps.txt | 816 -- .../fd9b21e74d99c2cc_0000000007879249_ps.txt | 1046 --- .../fdb5a87dd0368c6b_000000000000f249_ps.txt | 477 -- .../fdea68787e2969ab_0000787879249249_ps.txt | 1752 ----- Source/TokyoMirage/patches.txt | 20 - Source/TokyoMirage/rules.txt | 292 +- Source/TropicalFreeze/patches.txt | 19 +- Source/TropicalFreeze/rules.txt | 287 +- Source/TurboSuperStuntSquad/rules.txt | 37 - Source/TwilightPrincessHD/patches.txt | 24 - Source/TwilightPrincessHD/rules.txt | 47 - Source/WarriorsOrochi3/rules.txt | 87 - Source/WiiUBIOS/rules.txt | 133 - .../1f83c0d47b1c4c34_0000000000000000_vs.txt | 84 - .../4c426260188ace42_0000000000000000_vs.txt | 113 - .../842a19b509f8b91a_0000000000000000_vs.txt | 107 - .../8d68a0e3561ff525_0000000000000000_vs.txt | 105 - .../d283b9338c6b10c5_0000000000000000_vs.txt | 84 - .../d9c81460d6984bb2_0000000000000000_vs.txt | 116 - .../ff71dcd2ad4defdc_00000000000003c9_ps.txt | 197 - Source/WindWakerHD/patches.txt | 28 - Source/WindWakerHD/rules.txt | 330 +- Source/Wipeout3/rules.txt | 38 - Source/WipeoutCreate/rules.txt | 36 - Source/Wonderful101/rules.txt | 207 +- Source/WoollyWorld/patches.txt | 15 - Source/WoollyWorld/rules.txt | 26 - Source/WorldOfKeflings/rules.txt | 129 +- .../007148d1db7f78e7_0000000000000000_vs.txt | 1428 ---- .../0b8b33c2f133a514_0000000000000000_vs.txt | 1396 ---- .../0dbac1e3ebdc5c02_0000000000000000_vs.txt | 1377 ---- .../14f760ff4d6b05f5_0000000000000000_vs.txt | 549 -- .../1bef7019c97eb2b1_0000000000000079_ps.txt | 4 +- .../1f915b133a255dab_0000000000000000_vs.txt | 219 - .../20075cc6cf058a84_0000000000000000_vs.txt | 1299 ---- .../21eafb6c514a4b35_0000000000000000_vs.txt | 1415 ---- .../2716141e287247da_0000000000000000_vs.txt | 1311 ---- .../330acac562ddee2b_0000000000000000_vs.txt | 1407 ---- .../3fae14064195391b_0000000000000000_vs.txt | 1313 ---- .../430ac3a85ece61af_0000000000000079_ps.txt | 11 +- .../4c66e611ad14aabe_0000000000000000_vs.txt | 533 -- .../4d4b09634a7eab30_0000000000001e49_ps.txt | 11 +- .../5098356af9ebfe85_0000000000000079_ps.txt | 2 +- .../59df1c7e1806366c_00000000000003c9_ps.txt | 9 +- .../5a41baf724c1cff3_0000000000000000_vs.txt | 1410 ---- .../5b5c7c2a52ed1459_0000000000000079_ps.txt | 4 +- .../5eb82314ffb8484e_00000000000007f9_ps.txt | 14 +- .../6093720c5ca6289c_0000000000000000_vs.txt | 531 -- .../610a9c4cb60b0bdf_0000000000000000_vs.txt | 289 - .../622450648ddbf1b2_0000000000000000_vs.txt | 474 -- .../738c509776f2c113_0000000000000000_vs.txt | 476 -- .../7d2d26ba00a66735_0000000000000000_vs.txt | 1429 ---- .../7ec11ebc6ad99936_0000000000000000_vs.txt | 1424 ---- .../8236d4df96d36e25_0000000000000000_vs.txt | 301 - .../840947e29015aa9a_00000000000003c9_ps.txt | 11 +- .../8b8ade20f1ae78e7_0000000000000079_ps.txt | 9 +- .../8c1e55fd967b0496_0000000000000079_ps.txt | 11 +- .../90bdbafc1c764ae6_0000000000000000_vs.txt | 1411 ---- .../948500d0191d1ed8_0000000000000000_vs.txt | 320 - .../9ae7833e513d2c25_0000000000000079_ps.txt | 10 +- .../9bc5e526132c9534_0000000000000000_vs.txt | 150 - .../_59df1c7e1806366c_00000000000003c9_ps.txt | 214 - .../_cf4eda5057e1a527_0000000000000000_vs.txt | 67 - .../_fe436d1abf8cc6f6_000000000000000f_ps.txt | 61 - .../a225baec4db6d89e_0000000000000000_vs.txt | 1410 ---- .../af7acf7fb6dca1be_0000000000079249_ps.txt | 11 +- .../b253dca415790207_0000000000000079_ps.txt | 140 - .../b3fb199c73caa796_00000000000003c9_ps.txt | 11 +- .../b77e14af90eec1bd_00000000000003c9_ps.txt | 9 +- .../ba19276703190072_0000000000001e49_ps.txt | 9 +- .../ba529c2c3078fff0_0000000000000000_vs.txt | 288 - .../c01cc5b7af21f689_0000000000000000_vs.txt | 1399 ---- .../ccc475eb7e537add_0000000000000000_vs.txt | 556 -- .../ccc6fb8b53f5f651_0000000000000000_vs.txt | 1416 ---- .../d0664898dbf28dfa_0000000000000000_vs.txt | 84 - .../d321199dc854621f_0000000000000000_vs.txt | 1286 ---- .../d7074f19f5ca3b20_0000000000000000_vs.txt | 302 - .../d8e69e8df8c227f5_00000000000003c9_ps.txt | 11 +- .../df832bc2e6d22e45_0000000000000000_vs.txt | 1394 ---- .../dfacd3f8f448aeaa_0000000000000000_vs.txt | 1278 ---- .../e082c1f638f8e81e_0000000000000000_vs.txt | 1381 ---- .../e99ed318f647e1cf_0000000000000000_vs.txt | 1394 ---- .../ec248df3384d3d18_0000000000000000_vs.txt | 1340 ---- .../ed70de7fe7542f87_00000000000003c9_ps.txt | 283 - .../eec2c2cee7a1d42f_0000000000000000_vs.txt | 1407 ---- .../fa7054d25fd49999_0000000000000000_vs.txt | 121 - .../fdb5a87dd0368c6b_000000000000f249_ps.txt | 11 +- Source/XenobladeX/patches.txt | 76 - Source/XenobladeX/rules.txt | 422 +- .../b5082db8c1a44514_0000000000000079_ps.txt | 11 +- .../f1f99f18ae69719b_0000000000000079_ps.txt | 11 +- Source/YoshisWoollyWorld/rules.txt | 136 + Source/functions.php | 53 - .../cf2e9b7aab93e342_000000000001fe49_ps.txt | 494 -- .../d2082c0e0e8ddf27_000000000001fe49_ps.txt | 424 -- .../e7e31b26bbd728fc_000000000001fe49_ps.txt | 506 -- .../e95d54571be1c0a9_000000000001fe49_ps.txt | 398 - .../BreathOfTheWild_!AMDLights/rules.txt | 8 - .../BreathOfTheWild_!AMDShadows/rules.txt | 6 - .../BreathOfTheWild_LwzxNullCheck/rules.txt | 4 - .../10e939370329849a_0000000000000000_vs.txt | 471 -- .../127a33e6425e2e83_0000000000000000_vs.txt | 449 -- .../127a33e6825e2e83_0000000000000000_vs.txt | 451 -- .../127a33ea625e2e83_0000000000000000_vs.txt | 449 -- .../16fa33eae25e2e83_0000000000000000_vs.txt | 449 -- .../16fa33fca25e2e83_0000000000000000_vs.txt | 447 -- .../37d4289e0541199b_0000000000000000_vs.txt | 370 - .../4d3766953c3d41b4_0000000000000000_vs.txt | 343 - .../95a6fa7649598084_0000000000000000_vs.txt | 353 - .../c6c67c24e7df1604_0000000000000000_vs.txt | 306 - .../rules.txt | 23 - .../BreathOfTheWild_NVIDIASmoke/rules.txt | 8 - .../rules.txt | 8 - Workaround/ColorSplash_30FPS/rules.txt | 7 - Workaround/HyruleWarriors_30FPS/rules.txt | 7 - Workaround/HyruleWarriors_DLCFix/patches.txt | 38 - Workaround/HyruleWarriors_DLCFix/rules.txt | 4 - .../HyruleWarriors_DoFBlurRemoval/patches.txt | 18 - .../HyruleWarriors_DoFBlurRemoval/rules.txt | 4 - .../6e8a52b2c5236e90_0000000001fffe49_ps.txt | 714 -- .../fcea74ffa264fa58_000000000ffff2c9_ps.txt | 864 --- .../HyruleWarriors_EnemyDeathFix/rules.txt | 4 - .../HyruleWarriors_ShadowRemoval/patches.txt | 7 - .../HyruleWarriors_ShadowRemoval/rules.txt | 4 - .../SonicLostWorld_BrightnessFix/rules.txt | 4 - Workaround/SuperSmashBros_PixelMess/rules.txt | 13 - .../Wonderful101_ShadowRemoval/rules.txt | 4 - Workaround/XenobladeX_AMDGCN4/rules.txt | 11 - .../XenobladeX_AdjustableBrightness/rules.txt | 4 - .../09085793b5a9f364_00001ffe492e9249_ps.txt | 0 .../45e72a252caba763_000003c000009269_ps.txt | 0 .../59cba7eb9a9c1df6_00000007f924d249_ps.txt | 0 .../808ba0411f6f526e_0000007ff9249a49_ps.txt | 0 .../88133ee405eaae28_000003c000009269_ps.txt | 0 .../9c0b7031078fba88_0000007800001269_ps.txt | 0 .../!BreathOfTheWild_ShadowsAMD/rules.txt | 8 + .../8e9e804a3cd384c3_00000000000ff259_ps.txt | 0 .../ab0a485b9ae1bb1e_00000000000ff259_ps.txt | 0 .../BreathOfTheWild_KakarikoShadows/rules.txt | 10 + .../BreathOfTheWild_LwzxNullCheck/patches.txt | 0 .../BreathOfTheWild_LwzxNullCheck/rules.txt | 5 + .../17aae2b035ae850c_0000000000000000_vs.txt | 0 .../2938a1b3abfdfe49_0000000000000000_vs.txt | 0 .../314c2583a1612026_0000000000000000_vs.txt | 0 .../344d8b1f7d6f2b8e_0000000000000000_vs.txt | 0 .../961cf134642327cc_0000000000000000_vs.txt | 0 .../a4f029f0b16e3776_0000000000000000_vs.txt | 0 .../b9eeedc9f6628c36_0000000000000000_vs.txt | 0 .../ea77e7f80b23e7b7_0000000000000000_vs.txt | 0 .../fc4a738a3df2bcce_0000000000000000_vs.txt | 0 .../BreathOfTheWild_NVIDIASmoke/rules.txt | 9 + Workarounds/ColorSplash_30FPS/rules.txt | 9 + Workarounds/HyruleWarriors_30FPS/rules.txt | 9 + .../061c4a3b19113538_0000000000000000_vs.txt | 0 .../289fad0a94a60a46_0000000000000000_vs.txt | 0 .../7658289ba65cb755_00000000000003c9_ps.txt | 0 .../971a39bb79e32fd1_0000000000001e71_ps.txt | 0 .../e1d2a971c93cd82a_0000000000001e71_ps.txt | 0 .../SonicLostWorld_DisplayFixes/rules.txt | 6 + .../0b2ca00a882b9629_0000000000000000_vs.txt | 2 +- .../1e015f95e9b3e57f_0000000000000000_vs.txt | 2 +- .../4754883f71f69101_0000000000000000_vs.txt | 2 +- .../5bf3a3153a7cab75_0000000000000000_vs.txt | 2 +- .../6724aef6f3f59403_0000000000000000_vs.txt | 2 +- .../6a5cfcb2e29672eb_0000000000000000_vs.txt | 2 +- .../771cf3a9a165ebf7_0000000000000000_vs.txt | 2 +- .../c6628888b292c921_0000000000000000_vs.txt | 2 +- .../c73bf8204f4ddceb_0000000000000000_vs.txt | 2 +- .../f6fc641eb23547cf_0000000000000000_vs.txt | 2 +- .../Splatoon_UltrawideFixes219/rules.txt | 48 + .../rules.txt | 12 + .../WindWakerHD_FPSSlowdownFix/patches.txt | 0 .../WindWakerHD_FPSSlowdownFix/rules.txt | 0 .../WindWakerHD_IntelFixes/patches.txt | 0 .../WindWakerHD_IntelFixes/rules.txt | 0 .../2a8afa64e98f2977_0000000000000000_vs.txt | 0 .../5c0d907ed99903ab_0000000000000000_vs.txt | 0 .../Wonderful101_ShadowRemoval/rules.txt | 6 + .../3cc7e98f78c258b4_00000000000003ca_ps.txt | 115 + .../7b9f05b2bd8f3b71_0000000000000079_ps.txt | 97 + .../bd74794730fc559a_00000000ff249249_ps.txt | 0 .../d936195db0dd8e7d_0000000000001e52_ps.txt | 129 + .../rules.txt | 6 + .../3cc7e98f78c258b4_00000000000003ca_ps.txt | 0 .../7b9f05b2bd8f3b71_0000000000000079_ps.txt | 0 .../bd74794730fc559a_00000000ff249249_ps.txt | 449 ++ .../d936195db0dd8e7d_0000000000001e52_ps.txt | 0 .../rules.txt | 6 + build.sh | 245 - docs/.gitattributes | 48 + docs/.gitignore | 9 + docs/404.html | 13 + docs/Dockerfile | 8 + docs/Gemfile | 9 + docs/LICENSE | 21 + docs/_config.yml | 214 + docs/_data/GameTitles.yml | 348 + docs/_data/SocialNetworks.yml | 97 + docs/_includes/disqus.html | 17 + docs/_includes/ext-css.html | 7 + docs/_includes/ext-js.html | 7 + docs/_includes/fb-comment.html | 14 + docs/_includes/footer-minimal.html | 16 + docs/_includes/footer-scripts.html | 32 + docs/_includes/footer.html | 51 + docs/_includes/google_analytics.html | 12 + docs/_includes/gtag.html | 11 + docs/_includes/gtm_body.html | 6 + docs/_includes/gtm_head.html | 9 + docs/_includes/head.html | 126 + docs/_includes/header.html | 76 + docs/_includes/matomo.html | 17 + docs/_includes/nav.html | 59 + docs/_includes/navbarlink.html | 16 + docs/_includes/social-share.html | 51 + docs/_layouts/base.html | 35 + docs/_layouts/default.html | 9 + docs/_layouts/minimal.html | 26 + docs/_layouts/page.html | 19 + docs/_layouts/post.html | 76 + docs/css/bootstrap-social.css | 147 + docs/css/bootstrap-theme.css | 476 ++ docs/css/bootstrap-theme.css.map | 1 + docs/css/bootstrap-theme.min.css | 5 + docs/css/bootstrap.css | 6566 +++++++++++++++++ docs/css/bootstrap.css.map | 1 + docs/css/bootstrap.min.css | 5 + docs/css/index.css | 45 + docs/css/main-minimal.css | 13 + docs/css/main.css | 800 ++ docs/css/normalize.css | 427 ++ docs/css/pygment_highlights.css | 66 + docs/feed.xml | 24 + docs/img/404-southpark.jpg | Bin 0 -> 60624 bytes docs/img/avatar-icon.png | Bin 0 -> 5069 bytes docs/img/bgimage.png | Bin 0 -> 2135 bytes docs/index.html | 57 + docs/js/bootstrap.js | 2306 ++++++ docs/js/bootstrap.min.js | 7 + docs/js/index.js | 12 + docs/js/jquery-1.11.2.min.js | 4 + docs/js/main.js | 140 + docs/tags.html | 34 + docs/watch_local.bat | 2 + requestGithubPages.sh | 2 - 912 files changed, 23859 insertions(+), 222284 deletions(-) delete mode 100644 Enhancement/BreathOfTheWild_!AARemoval/0f2b9ee517917425_00000000000003c9_ps.txt delete mode 100644 Enhancement/BreathOfTheWild_!AARemoval/f14bb57cd5c9cb77_00000000000003c9_ps.txt delete mode 100644 Enhancement/BreathOfTheWild_!AARemoval/rules.txt delete mode 100644 Enhancement/BreathOfTheWild_!FXAA/0f2b9ee517917425_00000000000003c9_ps.txt delete mode 100644 Enhancement/BreathOfTheWild_!NoDoF/rules.txt delete mode 100644 Enhancement/BreathOfTheWild_!RegularShadows/rules.txt delete mode 100644 Enhancement/BreathOfTheWild_30FPS/patches.txt delete mode 100644 Enhancement/BreathOfTheWild_30FPS/rules.txt delete mode 100644 Enhancement/BreathOfTheWild_720pBetterColorDepth/rules.txt delete mode 100644 Enhancement/BreathOfTheWild_Clarity/How_to_make_your_own_Preset.txt delete mode 100644 Enhancement/BreathOfTheWild_Clarity/Usage_Instructions.txt delete mode 100644 Enhancement/BreathOfTheWild_Clarity/rules.txt delete mode 100644 Enhancement/BreathOfTheWild_Contrasty/37040a485a29d54e_00000000000003c9_ps.txt delete mode 100644 Enhancement/BreathOfTheWild_Contrasty/rules.txt delete mode 100644 Enhancement/BreathOfTheWild_LODBias/rules.txt delete mode 100644 Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/37b9100c1310d3bb_0000000000000000_vs.txt delete mode 100644 Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/3e0262467e8add7d_0000000000000000_vs.txt delete mode 100644 Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/a8f3ec17a11d4a50_0000000000000000_vs.txt delete mode 100644 Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/rules.txt delete mode 100644 Enhancement/BreathOfTheWild_MinimalisticGUI/rules.txt delete mode 100644 Enhancement/BreathOfTheWild_NoMMTriforce/rules.txt delete mode 100644 Enhancement/BreathOfTheWild_Pro+/37b9100c1310d3bb_0000000000000000_vs.txt delete mode 100644 Enhancement/BreathOfTheWild_Pro+/4d58e6f0906ff5cf_0000000000000000_vs.txt delete mode 100644 Enhancement/BreathOfTheWild_Pro+/75faf095372864b1_0000000000000000_vs.txt delete mode 100644 Enhancement/BreathOfTheWild_Pro+/b88c6020a8b17332_0000000000000000_vs.txt delete mode 100644 Enhancement/BreathOfTheWild_Pro+/f56fcbd319ceba00_0000000000000000_vs.txt delete mode 100644 Enhancement/BreathOfTheWild_Pro+/f7ba548c1fefe24a_0000000000000000_vs.txt delete mode 100644 Enhancement/BreathOfTheWild_Pro+/rules.txt delete mode 100644 Enhancement/BreathOfTheWild_ReflExtra/rules.txt delete mode 100644 Enhancement/CaptainToad_0AARemoval/37a4ec1a7dbc7391_00000000000003c9_ps.txt delete mode 100644 Enhancement/CaptainToad_0AARemoval/rules.txt delete mode 100644 Enhancement/ColorSplash_0AARemoval/b4ad3f6c36f63964_0000000000000079_ps.txt delete mode 100644 Enhancement/ColorSplash_0AARemoval/rules.txt delete mode 100644 Enhancement/MarioKart8_0AARemoval/8e1337dde42fd224_00000000000003c9_ps.txt delete mode 100644 Enhancement/MarioKart8_0AARemoval/rules.txt delete mode 100644 Enhancement/MarioKart8_AdjustableBloom/rules.txt delete mode 100644 Enhancement/MarioTennis_0AARemoval/d81508000beb90fd_0000000000000079_ps.txt delete mode 100644 Enhancement/MarioTennis_0AARemoval/rules.txt delete mode 100644 Enhancement/NSMBU_0AARemoval/50e29e8929cea348_00000000000003c9_ps.txt delete mode 100644 Enhancement/NSMBU_0AARemoval/rules.txt delete mode 100644 Enhancement/Runner2_DisableBlur/4fe1bb2bc0611f15_0000000000000079_ps.txt delete mode 100644 Enhancement/Runner2_DisableBlur/rules.txt delete mode 100644 Enhancement/Splatoon_AdjustableBloom/rules.txt delete mode 100644 Enhancement/Splatoon_FX/rules.txt delete mode 100644 Enhancement/Splatoon_LODBias/rules.txt delete mode 100644 Enhancement/SuperMario3DWorld_0AARemoval/be99d80628d31127_00000000000003c9_ps.txt delete mode 100644 Enhancement/SuperMario3DWorld_0AARemoval/rules.txt delete mode 100644 Enhancement/TokyoMirage_0AAremoval/rules.txt delete mode 100644 Enhancement/TropicalFreeze_0AARemoval/rules.txt delete mode 100644 Enhancement/TwilightPrincessHD_0AARemoval/c14019840473ff86_00000000000003c9_ps.txt delete mode 100644 Enhancement/TwilightPrincessHD_0AARemoval/rules.txt delete mode 100644 Enhancement/TwilightPrincessHD_Bloom/95a5a89d62998e0d_0000000000000079_ps.txt delete mode 100644 Enhancement/TwilightPrincessHD_Bloom/c612390d4c70f430_0000000000000079_ps.txt delete mode 100644 Enhancement/TwilightPrincessHD_Bloom/rules.txt delete mode 100644 Enhancement/TwilightPrincessHD_contrasty/49865bd2e62efda1_0000000000000079_ps.txt delete mode 100644 Enhancement/TwilightPrincessHD_contrasty/5f422bf63e25be7f_0000000000000079_ps.txt delete mode 100644 Enhancement/TwilightPrincessHD_contrasty/95a5a89d62998e0d_0000000000000079_ps.txt delete mode 100644 Enhancement/TwilightPrincessHD_contrasty/_S_6437bc3fbba05d3a_000000000000000f_ps.txt delete mode 100644 Enhancement/TwilightPrincessHD_contrasty/_s_afa7dc4b804ad02f_0000000000000079_ps.txt delete mode 100644 Enhancement/TwilightPrincessHD_contrasty/c14019840473ff86_00000000000003c9_ps.txt delete mode 100644 Enhancement/TwilightPrincessHD_contrasty/f42bb0ed469dd804_0000000000001e49_ps.txt delete mode 100644 Enhancement/TwilightPrincessHD_contrasty/patches.txt delete mode 100644 Enhancement/TwilightPrincessHD_contrasty/rules.txt delete mode 100644 Enhancement/WindWakerHD-GC_colour/rules.txt delete mode 100644 Enhancement/WindWakerHD_0AARemoval/ff71dcd2ad4defdc_00000000000003c9_ps.txt delete mode 100644 Enhancement/WindWakerHD_0AARemoval/rules.txt delete mode 100644 Enhancement/WindWakerHD_AdjustableBloom/960d3ef6662043c7_0000000000000079_ps.txt delete mode 100644 Enhancement/WindWakerHD_AdjustableBloom/rules.txt delete mode 100644 Enhancement/XenobladeX_0AARemoval/rules.txt delete mode 100644 Enhancement/XenobladeX_219_GUI/1cb8c35cca05b129_0000000000000000_vs.txt delete mode 100644 Enhancement/XenobladeX_219_GUI/28620f4f4753fb97_0000000000000000_vs.txt delete mode 100644 Enhancement/XenobladeX_219_GUI/3e12e7b9d981b915_0000000000000000_vs.txt delete mode 100644 Enhancement/XenobladeX_219_GUI/46bdcbf27127ae3b_0000000000000000_vs.txt delete mode 100644 Enhancement/XenobladeX_219_GUI/538fc98d957aaa7c_0000000000000000_vs.txt delete mode 100644 Enhancement/XenobladeX_219_GUI/8ff56afdf1a2f837_0000000000000000_vs.txt delete mode 100644 Enhancement/XenobladeX_219_GUI/9f390af3897e9112_0000000000000000_vs.txt delete mode 100644 Enhancement/XenobladeX_219_GUI/b679b0945943e505_0000000000000000_vs.txt delete mode 100644 Enhancement/XenobladeX_219_GUI/d6e8f178a5b828f0_0000000000000000_vs.txt delete mode 100644 Enhancement/XenobladeX_219_GUI/rules.txt delete mode 100644 Enhancement/XenobladeX_FX/3cc7e98f78c258b4_00000000000003ca_ps.txt delete mode 100644 Enhancement/XenobladeX_FX/d936195db0dd8e7d_0000000000001e52_ps.txt delete mode 100644 Enhancement/XenobladeX_FX/rules.txt delete mode 100644 Enhancement/XenobladeX_NoOfflineTag/rules.txt create mode 100644 Enhancements/!BreathOfTheWild_AntiAliasing/0f2b9ee517917425_00000000000003c9_ps.txt rename Enhancement/BreathOfTheWild_!FXAA/58b84124c01721ff_0000000000000079_ps.txt => Enhancements/!BreathOfTheWild_AntiAliasing/disabled_58b8411478181d7f_0000000000000079_ps.txt (90%) rename Enhancement/BreathOfTheWild_!FXAA/58b8411478181d7f_0000000000000079_ps.txt => Enhancements/!BreathOfTheWild_AntiAliasing/disabled_58b84124c01721ff_0000000000000079_ps.txt (89%) rename {Enhancement/BreathOfTheWild_!FXAA => Enhancements/!BreathOfTheWild_AntiAliasing}/f14bb57cd5c9cb77_00000000000003c9_ps.txt (73%) rename {Enhancement/BreathOfTheWild_!FXAA => Enhancements/!BreathOfTheWild_AntiAliasing}/rules.txt (62%) rename {Enhancement/BreathOfTheWild_!NoDoF => Enhancements/!BreathOfTheWild_NoDoF}/cb0e6e8cbec4502a_0000000000000079_ps.txt (100%) create mode 100644 Enhancements/!BreathOfTheWild_NoDoF/rules.txt rename {Enhancement/TokyoMirage_0AAremoval => Enhancements/!TokyoMirage_AARemoval}/04d0827b9471eb22_0000000000000000_vs.txt (91%) create mode 100644 Enhancements/!TokyoMirage_AARemoval/rules.txt rename {Enhancement/TropicalFreeze_0AARemoval => Enhancements/!TropicalFreeze_AARemoval}/10ccf0cc1234d069_00000000000003c9_ps.txt (100%) rename {Enhancement/TropicalFreeze_0AARemoval => Enhancements/!TropicalFreeze_AARemoval}/bafe6c9c37bfca4d_00000000000003c9_ps.txt (100%) create mode 100644 Enhancements/!TropicalFreeze_AARemoval/rules.txt rename Source/MarioKart8/f5274bda2b5e1e9f_0000000000000000_vs.txt => Enhancements/!XenobladeX_AARemoval/497a209b49886520_0000000000000000_vs.txt (65%) rename {Enhancement/XenobladeX_0AARemoval => Enhancements/!XenobladeX_AARemoval}/59df1c7e1806366c_00000000000003c9_ps.txt (100%) create mode 100644 Enhancements/!XenobladeX_AARemoval/rules.txt create mode 100644 Enhancements/Bayonetta2_Shadows/rules.txt rename {Enhancement => Enhancements}/BreathOfTheWild_Clarity/37040a485a29d54e_00000000000003c9_ps.txt (95%) create mode 100644 Enhancements/BreathOfTheWild_Clarity/how_to_make_your_own_preset.txt create mode 100644 Enhancements/BreathOfTheWild_Clarity/rules.txt rename {Enhancement => Enhancements}/BreathOfTheWild_ReflExtra/49ce4bf04a654e80_00000003c9249749_ps.txt (100%) rename {Enhancement => Enhancements}/BreathOfTheWild_ReflExtra/8ff2cf86e789335f_00000003c9249749_ps.txt (100%) create mode 100644 Enhancements/BreathOfTheWild_ReflExtra/rules.txt rename {Source/BreathOfTheWild => Enhancements/BreathOfTheWild_Shadows}/22c410044398c7af_0000000000000000_vs.txt (89%) rename {Source/BreathOfTheWild => Enhancements/BreathOfTheWild_Shadows}/2a2f55a2b2d64474_0000000000000000_vs.txt (89%) rename {Source/BreathOfTheWild => Enhancements/BreathOfTheWild_Shadows}/88133ee405eaae28_000003c000009269_ps.txt (99%) rename {Source/BreathOfTheWild => Enhancements/BreathOfTheWild_Shadows}/ffe0e8c84f6e8da9_000003c000009269_ps.txt (99%) create mode 100644 Enhancements/BreathOfTheWild_Shadows/rules.txt create mode 100644 Enhancements/M&SRio2016_NoHUD/0535e0f9e37cf612_0000000000000000_vs.txt create mode 100644 Enhancements/M&SRio2016_NoHUD/c7a21597bd595a25_0000000000000000_vs.txt create mode 100644 Enhancements/M&SRio2016_NoHUD/rules.txt rename {Enhancement/MarioKart8_AdjustableBloom => Enhancements/MarioKart8_Bloom}/e90feef2bca6cb2e_00000000000003c9_ps.txt (98%) create mode 100644 Enhancements/MarioKart8_Bloom/rules.txt create mode 100644 Enhancements/MarioKart8_Shadows/rules.txt create mode 100644 Enhancements/NintendoLand_Shadows/rules.txt create mode 100644 Enhancements/PokkenTournament_Shadows/rules.txt create mode 100644 Enhancements/RiseOfLyric_Shadows/rules.txt rename {Enhancement/Splatoon_AdjustableBloom => Enhancements/Splatoon_Bloom}/34eaf9e211e76379_00000000000003c9_ps.txt (99%) create mode 100644 Enhancements/Splatoon_Bloom/rules.txt rename {Source/Splatoon => Enhancements/Splatoon_Shadows}/b4196905d6fff2bb_0000000000001e69_ps.txt (96%) create mode 100644 Enhancements/Splatoon_Shadows/rules.txt rename {Enhancement/Splatoon_FX => Enhancements/Splatoon_SplatFX}/4a377a50eda82af8_0000000000001e51_ps.txt (99%) rename {Enhancement/Splatoon_FX => Enhancements/Splatoon_SplatFX}/f502868a515bbfb4_00000000000003c9_ps.txt (99%) create mode 100644 Enhancements/Splatoon_SplatFX/rules.txt create mode 100644 Enhancements/SuperMario3DWorld_Shadows/rules.txt rename Source/TokyoMirage/04d0827b9471eb22_0000000000000000_vs.txt => Enhancements/SuperSmashBros_Shadows/7613a0515b67d8b4_0000000000000000_vs.txt (56%) create mode 100644 Enhancements/SuperSmashBros_Shadows/rules.txt create mode 100644 Enhancements/TokyoMirage_NegLod/rules.txt rename {Enhancement/WindWakerHD-GC_colour => Enhancements/WindWakerHD_GameCubeColor}/04dcbf2655f94e03_00000000000007f9_ps.txt (100%) rename {Enhancement/WindWakerHD-GC_colour => Enhancements/WindWakerHD_GameCubeColor}/53141a02b3f78921_00000000000000ff_ps.txt (100%) rename {Enhancement/WindWakerHD-GC_colour => Enhancements/WindWakerHD_GameCubeColor}/8a763b05908ba4e8_00000000000000ff_ps.txt (100%) rename {Enhancement/WindWakerHD-GC_colour => Enhancements/WindWakerHD_GameCubeColor}/90ed656e9c17616b_00000000000000ff_ps.txt (100%) rename {Enhancement/WindWakerHD-GC_colour => Enhancements/WindWakerHD_GameCubeColor}/960d3ef6662043c7_0000000000000079_ps.txt (100%) rename {Enhancement/WindWakerHD-GC_colour => Enhancements/WindWakerHD_GameCubeColor}/b77c717f243c0b08_00000000007f9249_ps.txt (100%) rename {Enhancement/WindWakerHD-GC_colour => Enhancements/WindWakerHD_GameCubeColor}/e1ea1127489fd281_0000000000003fc9_ps.txt (100%) rename {Enhancement/WindWakerHD-GC_colour => Enhancements/WindWakerHD_GameCubeColor}/f1a49f43d95bec30_00000000000000ff_ps.txt (95%) rename {Enhancement/WindWakerHD-GC_colour => Enhancements/WindWakerHD_GameCubeColor}/ff71dcd2ad4defdc_00000000000003c9_ps.txt (99%) create mode 100644 Enhancements/WindWakerHD_GameCubeColor/rules.txt create mode 100644 Enhancements/YoshisWoollyWorld_Shadows/rules.txt rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/069a6cb3b78b94dd_00003cd249549249_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/07d4d8363600f2d4_0000000079249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/0831c7ebf9279cdb_0000001e6924aa49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/0a042cc751c546b2_0000001e6924aa49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/10a2a18d2a9a02d8_000000007924d249_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/1bd1c50969e7e4ac_000000000f249a49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/1cf7d93fabd9e8e3_000000007924d249_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/1f8a651427ddb2a8_000000000f249a49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/235ae454992c4a92_00003cd249549249_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/2e2543216c04766d_0000000079249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/3179b85d41bfb80d_0000000079249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/32b2c2ae76175d0d_0000001e6924aa49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/3c49f88069390494_0000000079249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/49ce4bf04a654e80_00000003c9249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/4a5e64d284788a47_0000001e6924aa49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/4c324d20f5b6de3b_000000007924d249_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/53422d4f43914447_0000000000000079_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/5648500869d5db39_0000000079249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/5dc89e690f6b0726_0000001e6924aa49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/7c6e02daf538f23e_000000000f249a49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/7f33027db819f935_0000000079249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/81bbc347eb4b6dbc_0000000079249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/8d24f32f18e6de47_0000000079249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/8daf3642d5942233_000000007924d249_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/8ff2cf86e789335f_00000003c9249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/910884d799c555ff_0000001e6924aa49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/9a39c7a4d12c3b4e_00003cd249549249_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/a2986482c342660f_000000007924d249_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/a5b3a5e5ab2938bc_0000000000001e49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/a84b5bc90f635eb4_0000001e6924aa49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/ac099496a4733213_000000007924d249_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/accb5c78c5e346b5_0000001e6924aa49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/ad50629df039e45f_0000001e6924aa49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/b2e61dfb5275f27d_000000000f249a49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/bd8bba59e2149449_00000000000003c9_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/bdc96b6928e88c78_0000000079249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/bff17056bfac28dd_0000000079249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/c580a12764680547_000000000f249a49_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/de2bafbeb363afb3_0000000079249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/dee484f174698fba_000000007924d249_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/eabf1e8268c0acf2_0000000079249749_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia => !BreathOfTheWild_Monochromia}/ead71c09d523378c_000000f349255249_ps.txt (100%) rename Modifications/{BreathOfTheWild_!Monochromia/readMe.txt => !BreathOfTheWild_Monochromia/readme.txt} (100%) create mode 100644 Modifications/!BreathOfTheWild_Monochromia/rules.txt delete mode 100644 Modifications/BreathOfTheWild_!Monochromia/rules.txt delete mode 100644 Modifications/BreathOfTheWild_GlowLightsColorMod/rules.txt rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/0453fb7ad9cc0f79_0000000000003849_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/097eac672c26b4a4_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/0ce5fca5c70640d1_0000000000003849_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/12fe44a2273b452c_000000000000001c_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/146164991e2929e2_0000000000000709_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/14f5a7cf99f2904a_00000000000000f1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/15e2d4f74a5e8445_000000000000001c_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/1dd8be9054c94f4e_0000000000003849_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/233a000439032e75_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/266a0d760fe1ddfc_0000000000003849_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/2a045e62b99640b5_00000001e1e21c49_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/2a87149b7154c69d_000000000001c24b_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/2f64af19b1835ab0_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/319e60116b59ceec_00000001e1e1fe49_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/38d70ed9280bb3bc_0000000000000079_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/3d383d2d61500c9c_0000000f0f0ff249_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/42c9208b54ad72ca_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/458dd826bd589332_0000000000000709_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/48a94cda336d2976_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/4af8a4670205be4c_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/4bdac25bb98f5804_0000000000003849_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/5219277e990fe5ba_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/5b04d28f319a1d6d_0000000f0f0ff249_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/5b9b7727ca24e22b_0000000000000709_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/5f4e60117b59cf65_00000001e1e1fe49_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/603d7ad06d86617e_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/6240983542445009_00000001e1e21c49_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/64342503518ca97a_0000000000000709_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/6832b00344c32a71_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/687da8c1b555b262_0000000000003849_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/68aa37ce58db094d_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/70a79265ab7d498a_0000000f0f10e249_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/70d96b85a0ce93ef_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/751393d6cbcd0c76_000003c3c3fc9249_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/80b87385a0d2942f_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/81adf9797e4661a7_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/8438998c284fe428_000000000000001c_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/87790fa17c847fea_0000000000000709_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/8798144a6f066e7c_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/87babe7569572ff5_0000000000003849_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/8836c3a20b053cf0_000000000000001c_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/8d0a18894dd0c9cb_0000000000000709_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/8e9e804a3cd384c3_00000000000ff259_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/8fe014235f134ac1_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/99122c964b6a1a19_000000000001fe49_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/99fc7f42b65ca284_0000000000000709_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/9aacad682248145f_0000000000000709_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/9c9c75d87bb9b4ef_0000000f0f10e249_ps.txt (100%) create mode 100644 Modifications/BreathOfTheWild_GlowLightsColors/Readme.txt rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/a02a462f9ba59f2e_000000003c3c4389_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/a11251f0bffe8631_000000000000001c_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/a54bdb88a57b9be9_0000000000003849_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/a6ea718e4c60e157_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/a6eb708e4b616557_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/a95fbb49ae2c8f46_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/b2cf5924b04ea6a4_0000000f0f0ff249_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/b2e1c9ce2f160aab_000000003c3c4389_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/b5b53042daaad65c_00000001e1e21c49_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/bc9529a682410603_00000001e1e1fe49_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/beb15cab79e5ca5d_000000000000001c_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/bee298edc2f7e315_00000001e1e1fe49_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/bf72a1fd35401be2_0000079749255249_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/c36b10f0e410def8_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/cb27783c5e10df0e_000000000000001c_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/cc9529ae1a492d03_00000001e1e1fe49_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/cd1eba6802df67f7_0000000f0f0ff249_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/ce76f7a67517c0b2_000000003c3c4389_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/cf2e9b7aab93e342_000000000001fe49_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/d178de668517df1e_000000003c3c4389_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/d3ac3a61f7749326_000000000000001c_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/d48de6ada1e9ad03_00000001e1e1fe49_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/db8bc69330c08206_0000000000003849_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/e53233e53de8434f_0000000000000709_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/e95d54571be1c0a9_000000000001fe49_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/f62be0d03546ec39_00000000000000e1_ps.txt (100%) rename Modifications/{BreathOfTheWild_GlowLightsColorMod => BreathOfTheWild_GlowLightsColors}/fb135efcb4540fb1_00000078787f9249_ps.txt (100%) create mode 100644 Modifications/BreathOfTheWild_GlowLightsColors/rules.txt rename {Source => Modifications}/BreathOfTheWild_StaticFPS/patches.txt (79%) create mode 100644 Modifications/BreathOfTheWild_StaticFPS/readme.txt create mode 100644 Modifications/BreathOfTheWild_StaticFPS/rules.txt create mode 100644 Modifications/HyruleWarriors_CharacterSwap/patches.txt create mode 100644 Modifications/HyruleWarriors_CharacterSwap/rules.txt delete mode 100644 Modifications/HyruleWarriors_PlayAsCucco/patches.txt delete mode 100644 Modifications/HyruleWarriors_PlayAsCucco/rules.txt delete mode 100644 Modifications/HyruleWarriors_PlayAsGanon/patches.txt delete mode 100644 Modifications/HyruleWarriors_PlayAsGanon/rules.txt create mode 100644 Modifications/MarioKart8_Speed/rules.txt delete mode 100644 Modifications/PokkenTournament_AprilFools/3e385c973f99f97f_0000000000000000_vs.txt delete mode 100644 Modifications/PokkenTournament_AprilFools/7caa82f23221199f_000000000000000f_ps.txt delete mode 100644 Modifications/PokkenTournament_AprilFools/7caa82f23221199f_6000000000000003_ps.txt delete mode 100644 Modifications/PokkenTournament_AprilFools/7caa82f23221199f_a000000000000003_ps.txt delete mode 100644 Modifications/PokkenTournament_AprilFools/826f5c3cbb703c6e_0000000000040309_ps.txt delete mode 100644 Modifications/PokkenTournament_AprilFools/826f5c3cbb703c6e_0000000000040389_ps.txt delete mode 100644 Modifications/PokkenTournament_AprilFools/826f5c3cbb703c6e_00000000001ffe49_ps.txt delete mode 100644 Modifications/PokkenTournament_AprilFools/a76d3742c770ac3c_0000000000000000_vs.txt delete mode 100644 Modifications/PokkenTournament_AprilFools/rules.txt delete mode 100644 Modifications/ProjectZero_NoFilmGrain/5e20002e68736ff6_0000000001e49249_ps.txt delete mode 100644 Modifications/ProjectZero_NoFilmGrain/rules.txt delete mode 100644 Modifications/RiseOfLyric_60FPS/rules.txt rename Modifications/{RiseOfLyric_60FPS => RiseOfLyric_Uncapped}/patches.txt (99%) create mode 100644 Modifications/RiseOfLyric_Uncapped/rules.txt delete mode 100644 Modifications/Splatoon_AprilFools/5589940158f30db3_0000000000000079_ps.txt delete mode 100644 Modifications/Splatoon_AprilFools/62d887aeff99f5a3_0000000000000000_vs.txt delete mode 100644 Modifications/Splatoon_AprilFools/68357a3eaf8b29a8_000000007bac9249_ps.txt delete mode 100644 Modifications/Splatoon_AprilFools/69b5b934d877bac0_0000000000000000_vs.txt delete mode 100644 Modifications/Splatoon_AprilFools/71a7179980cfe114_000000000000007b_ps.txt delete mode 100644 Modifications/Splatoon_AprilFools/733ee69ec9dd5e30_0000000000001e69_ps.txt delete mode 100644 Modifications/Splatoon_AprilFools/89371aa2435ecc7c_0000000000000000_vs.txt delete mode 100644 Modifications/Splatoon_AprilFools/acdc2cc298f22eed_0000000000000000_vs.txt delete mode 100644 Modifications/Splatoon_AprilFools/b1951b6b76aa5c84_0000000000000000_vs.txt delete mode 100644 Modifications/Splatoon_AprilFools/b997476498552b16_0000000000000079_ps.txt delete mode 100644 Modifications/Splatoon_AprilFools/d61363e0854c74ad_00000000000003d9_ps.txt delete mode 100644 Modifications/Splatoon_AprilFools/d92fe9087a495dcb_0000000000000000_vs.txt delete mode 100644 Modifications/Splatoon_AprilFools/rules.txt delete mode 100644 Modifications/Splatoon_UltrawideFixes219/rules.txt delete mode 100644 Modifications/SuperSmashBros_NoBoxingRingScreen/rules.txt delete mode 100644 Modifications/TokyoMirage_21_9_Gui/61b51be479ffa5dc_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_21_9_Gui/94986f08df872394_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_21_9_Gui/dda6656146476243_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_21_9_Gui/rules.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/7fc14eb425c76088_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/7fc256b425c76088_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/8ed3fdc12b05f168_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/8ed40dc12b05f168_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/8ed505c12b05f168_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/8f2424ec8315e884_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/8f2434ec8315e884_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/8f252cec8315e884_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/8f6c001eaafbe968_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/8f6c001eab4ee968_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/8f6c00334afbe968_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/8f6c101eaafbe968_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/8f6d081eaafbe968_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/9773fd0a6739e762_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/9773fd0aaf39e76a_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/9773fd0aaf8ce76a_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/97740d0aaf39e76a_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/97740d0aaf8ce76a_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/9775050a6739e762_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/9775050aaf39e76a_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/978fbd0a6739e762_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/978fbd0aaf39e76a_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/9b03fe2a1c028702_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/9b03fe2a1c558702_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/9b040e2a1c028702_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/9b05062a1c028702_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/9b05062a1c558702_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/9b1fbe2a1c028702_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/ToonScale.png delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/bb03fbca128c872a_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/bb040bca128c872a_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/bb0503ca128c872a_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/bb1fbbca128c872a_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/d197a7aa2d4a9878_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/d486965b736e9bf0_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/d48ad65b736e9bf0_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/d4d6ab86cb7c930c_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/d4dafd86cb7e930c_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/d5089c79cdfe10e4_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/d522d8b8f36493f0_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/d59ffc774bfe110a_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/da53727d4bc510f8_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/decf327dcbc510f8_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/ded3727dcbc510f8_0000000000000000_vs.txt delete mode 100644 Modifications/TokyoMirage_ScaleToonShader/rules.txt delete mode 100644 Modifications/XenobladeX_21_9_gui/patches.txt delete mode 100644 Modifications/XenobladeX_21_9_gui/rules.txt delete mode 100644 Source/AdventureTimeEtDBIDK/rules.txt delete mode 100644 Source/AdventureTimeFJI/rules.txt delete mode 100644 Source/AmiiboFestival/rules.txt delete mode 100644 Source/AquaTV/rules.txt delete mode 100644 Source/BatmanArkham/rules.txt delete mode 100644 Source/Bayonetta/117889891fd19c30_000000000000001e_ps.txt delete mode 100644 Source/Bayonetta/212e4514290f2693_0000000000000079_ps.txt delete mode 100644 Source/Bayonetta/51f398ee2e3e18a6_0000000000000079_ps.txt delete mode 100644 Source/Bayonetta/63a0a7de4fdcf0ce_0000000000000079_ps.txt delete mode 100644 Source/Bayonetta/6e828da50daedc79_00000000000003c9_ps.txt delete mode 100644 Source/Bayonetta/9d1d7119cc2a1bc5_00000000000003c9_ps.txt delete mode 100644 Source/Bayonetta/f015876e4c8e82f9_000000000000001e_ps.txt delete mode 100644 Source/Bayonetta/rules.txt delete mode 100644 Source/Ben10Omniverse/rules.txt delete mode 100644 Source/BreathOfTheWild/7cd338ce4c6ea935_0000000000000079_ps.txt delete mode 100644 Source/BreathOfTheWild_StaticFPS/readme.txt delete mode 100644 Source/BreathOfTheWild_StaticFPS/rules.txt delete mode 100644 Source/Brunswick/rules.txt delete mode 100644 Source/Chariot/rules.txt delete mode 100644 Source/ChimpuzzlePro/rules.txt delete mode 100644 Source/ChompyChompChompParty/rules.txt delete mode 100644 Source/CitizensOfEarth/rules.txt delete mode 100644 Source/ColorSplash/5019118560a66950_0000000000000000_vs.txt delete mode 100644 Source/ColorSplash/88a193c7d4d2c9bc_0000000000000079_ps.txt delete mode 100644 Source/ColorSplash/deceb5ab7cca5140_0000000000000079_ps.txt delete mode 100644 Source/ColorSplash/rules.txt delete mode 100644 Source/DevilsThird/rules.txt delete mode 100644 Source/DuckTalesRemastered/rules.txt delete mode 100644 Source/ElectronicSuperJoyGrooveCity/rules.txt delete mode 100644 Source/FASTRacingNEO/0f53b10e26382ad1_00000000003db249_ps.txt delete mode 100644 Source/FASTRacingNEO/33fa3ac7f0222908_0000000000000079_ps.txt delete mode 100644 Source/FASTRacingNEO/935b8d72d8f53ccc_00000000003c9249_ps.txt delete mode 100644 Source/FASTRacingNEO/935b8d72d8f53ccc_00000000003db249_ps.txt delete mode 100644 Source/FASTRacingNEO/c64145ed80397137_00000000000003c9_ps.txt delete mode 100644 Source/FASTRacingNEO/e54c6857324898f3_00000000003db249_ps.txt delete mode 100644 Source/FASTRacingNEO/f0d0fb541a9e26ea_0000000000000079_ps.txt delete mode 100644 Source/FamilyTennisSP/rules.txt delete mode 100644 Source/FistoftheNorthStar/rules.txt delete mode 100644 Source/FrenchyBird/rules.txt delete mode 100644 Source/GhostBladeHD/rules.txt delete mode 100644 Source/GhostlyAdventures/rules.txt delete mode 100644 Source/GhostlyAdventures2/rules.txt delete mode 100644 Source/GianaSistersTwistedDreams/rules.txt delete mode 100644 Source/Guacamelee/rules.txt delete mode 100644 Source/HyruleWarriors/patches.txt delete mode 100644 Source/HyruleWarriors/rules.txt delete mode 100644 Source/InfinityRunner/rules.txt delete mode 100644 Source/KamenRider/rules.txt delete mode 100644 Source/KickandFennick/rules.txt delete mode 100644 Source/KirbyRainbowCurse/rules.txt delete mode 100644 Source/KungFuPanda/rules.txt delete mode 100644 Source/LEGOCityUndercover/rules.txt create mode 100644 Source/M&SRio2016/rules.txt delete mode 100644 Source/MarioKart8/a9bf96a840b38cc8_0000000000000000_vs.txt delete mode 100644 Source/MarioKart8/c673c0d44f779fc9_0000000000000000_vs.txt delete mode 100644 Source/MarioKart8/e02d25abb7529b7f_0000000000000000_vs.txt delete mode 100644 Source/MarioKart8/e8266ec81590ed24_0000000000000000_vs.txt delete mode 100644 Source/MarioParty10/rules.txt delete mode 100644 Source/MarioSonicRio/rules.txt delete mode 100644 Source/MarioSonicSochi/rules.txt delete mode 100644 Source/MarioTennis/rules.txt create mode 100644 Source/MemeRun/rules.txt delete mode 100644 Source/Minecraft/rules.txt delete mode 100644 Source/MinecraftStory/rules.txt delete mode 100644 Source/NBA2K13/rules.txt delete mode 100644 Source/NewSuperMarioBrosU/50e29e8929cea348_00000000000003c9_ps.txt delete mode 100644 Source/NewSuperMarioBrosU/70b82af4d17024d2_0000000000000000_vs.txt delete mode 100644 Source/NewSuperMarioBrosU/8d638f35cebd14dc_00000000000007f9_ps.txt delete mode 100644 Source/NewSuperMarioBrosU/ec4a85d51e778437_0000000000000000_vs.txt delete mode 100644 Source/NewSuperMarioBrosU/rules.txt create mode 100644 Source/NinjaGaiden3/7a641a67c4009f7f_0000000000000000_vs.txt create mode 100644 Source/NinjaGaiden3/fd6c2e800481a180_0000000000000000_vs.txt create mode 100644 Source/NinjaGaiden3/rules.txt delete mode 100644 Source/NinjaGaiden3RE/rules.txt delete mode 100644 Source/PaperMonstersRecut/rules.txt delete mode 100644 Source/PhineasFerb/rules.txt delete mode 100644 Source/Pikmin3/rules.txt delete mode 100644 Source/ProjectZero/rules.txt delete mode 100644 Source/PuyoPuyoTetris/rules.txt delete mode 100644 Source/RiseOfLyric/8fd5069eea66af37_0000000000000000_vs.txt delete mode 100644 Source/Runner2/4fe1bb2bc0611f15_0000000000000079_ps.txt delete mode 100644 Source/Runner2/rules.txt delete mode 100644 Source/SanatoryHallways/rules.txt delete mode 100644 Source/ScribblenautsUnlimited/rules.txt delete mode 100644 Source/ScribblenautsUnmasked/rules.txt delete mode 100644 Source/Severed/rules.txt delete mode 100644 Source/ShantaeHGH/023831cdf6638473_00000000000003c9_ps.txt delete mode 100644 Source/ShantaeHGH/24d99fe8b4e5f576_0000000000000000_vs.txt delete mode 100644 Source/ShantaeHGH/294904d1771460cf_0000000000000079_ps.txt delete mode 100644 Source/ShantaeHGH/8fdd009324e987ee_0000000000000079_ps.txt delete mode 100644 Source/ShantaeHGH/rules.txt delete mode 100644 Source/ShovelKnight/rules.txt delete mode 100644 Source/Smurfs2/rules.txt delete mode 100644 Source/Splatoon/ae5bf21625f134f3_0000000000000000_vs.txt delete mode 100644 Source/SpongeBob/rules.txt delete mode 100644 Source/StarFoxGuard/rules.txt delete mode 100644 Source/StarFoxZero/rules.txt delete mode 100644 Source/SuperMarioMaker/141f484aff9b9f5a_0000000000000000_vs.txt delete mode 100644 Source/SuperMarioMaker/37a4ec1a7dbc7391_00000000000003c9_ps.txt delete mode 100644 Source/SuperMarioMaker/7f513855e2ebc5d0_0000000000000000_vs.txt delete mode 100644 Source/SuperMarioMaker/cedd7a7d49bc26da_0000000000000000_vs.txt delete mode 100644 Source/SuperMarioMaker/db25758018a030be_0000000000000000_vs.txt delete mode 100644 Source/TNTRacers/rules.txt delete mode 100644 Source/TaikoNoTatsujin/9bc0b72c01bbaac2_000000000000001c_ps.txt delete mode 100644 Source/TaikoNoTatsujin/rules.txt delete mode 100644 Source/Tekken/rules.txt delete mode 100644 Source/Tengami/rules.txt delete mode 100644 Source/TokyoMirage/013b284dd654166c_00000000001e1e49_ps.txt delete mode 100644 Source/TokyoMirage/06ba1a56c89ddf3f_0000000007879249_ps.txt delete mode 100644 Source/TokyoMirage/0d4f172cb95a4c6d_0000000007879249_ps.txt delete mode 100644 Source/TokyoMirage/0f9b53e33a3bdda2_0000000f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/11ad1c7744853e28_0000000007879649_ps.txt delete mode 100644 Source/TokyoMirage/11cd991ec462cde6_000003c3c9249649_ps.txt delete mode 100644 Source/TokyoMirage/13727f533f0b02e5_000000003c3c9249_ps.txt delete mode 100644 Source/TokyoMirage/15818f56e475e8dd_000000003c3c9649_ps.txt delete mode 100644 Source/TokyoMirage/201bd8dfd2a9e7d3_0000000000000000_vs.txt delete mode 100644 Source/TokyoMirage/23c5bbfda0fc3b0f_0000000000000000_vs.txt delete mode 100644 Source/TokyoMirage/2b2102290296ed7b_000000003c3c9649_ps.txt delete mode 100644 Source/TokyoMirage/2ccf4df3c71a294b_00000000f0f0f249_ps.txt delete mode 100644 Source/TokyoMirage/3259d3b3ca333bf3_0000000000000000_vs.txt delete mode 100644 Source/TokyoMirage/3580dbf90f8599b5_0000003c3c3c9649_ps.txt delete mode 100644 Source/TokyoMirage/378c2086d302df76_0000007879249249_ps.txt delete mode 100644 Source/TokyoMirage/38e10e2b4b676385_00000000078792c9_ps.txt delete mode 100644 Source/TokyoMirage/39500ee79c45c24e_00000001e1e49249_ps.txt delete mode 100644 Source/TokyoMirage/39863f29c6d85cb8_0000000000000000_vs.txt delete mode 100644 Source/TokyoMirage/3b1ee60c5e7eb349_00000000001e3849_ps.txt delete mode 100644 Source/TokyoMirage/4299868e90181d42_00000f0f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/44cac66c0a1ac2e0_000001e1e1e49249_ps.txt delete mode 100644 Source/TokyoMirage/4717e201697a3299_000000000003c709_ps.txt delete mode 100644 Source/TokyoMirage/4717e201697a3299_00000000001e1e49_ps.txt delete mode 100644 Source/TokyoMirage/47f1cf08cd81daec_00000000001e3849_ps.txt delete mode 100644 Source/TokyoMirage/47f1cf08cd81daec_0000000000f0f249_ps.txt delete mode 100644 Source/TokyoMirage/4a1878ced0dc8fea_0000787879249249_ps.txt delete mode 100644 Source/TokyoMirage/4ba994ab0ac0bef4_0000000007879249_ps.txt delete mode 100644 Source/TokyoMirage/4c108d5760637fc9_00000f0f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/4f6f4c93055b859f_0000000000f0f249_ps.txt delete mode 100644 Source/TokyoMirage/5166e277a07549eb_00000000078e1249_ps.txt delete mode 100644 Source/TokyoMirage/52ee7db30818150f_00000001e1e49249_ps.txt delete mode 100644 Source/TokyoMirage/54f202046702d4d5_0000000f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/56247a996eb4f56b_0000000007879249_ps.txt delete mode 100644 Source/TokyoMirage/59fca914f0dcb060_0000000000000000_vs.txt delete mode 100644 Source/TokyoMirage/5aef5a108e7134ce_0000000000f0f249_ps.txt delete mode 100644 Source/TokyoMirage/60d954abeff0f4a5_00000001e1e49649_ps.txt delete mode 100644 Source/TokyoMirage/637727b58ea13abc_00000000078e1649_ps.txt delete mode 100644 Source/TokyoMirage/637727b58ea13abc_000000003c3c9649_ps.txt delete mode 100644 Source/TokyoMirage/658c0585bb7b4b1f_0000000007879249_ps.txt delete mode 100644 Source/TokyoMirage/6c12438270a71b38_0000000f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/6cad1f9e3b132733_0000003c3c3c9249_ps.txt delete mode 100644 Source/TokyoMirage/6e1c0e67c00faf41_00000001e1e49249_ps.txt delete mode 100644 Source/TokyoMirage/73c2bf1091343523_000000003c3c9649_ps.txt delete mode 100644 Source/TokyoMirage/74ab7845ce95d107_0000007879249249_ps.txt delete mode 100644 Source/TokyoMirage/7709da01f43c145b_0000000007879649_ps.txt delete mode 100644 Source/TokyoMirage/78b9ba889e63ee13_0000007879249249_ps.txt delete mode 100644 Source/TokyoMirage/7a5a427460eef0e4_00000f0f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/7ff51869d8979702_0000000000f0f249_ps.txt delete mode 100644 Source/TokyoMirage/82395d1cbdf2c430_0000007879249649_ps.txt delete mode 100644 Source/TokyoMirage/85bfb16d3e86115d_0000000000f0f249_ps.txt delete mode 100644 Source/TokyoMirage/88ae6940d510eea5_0000000000000000_vs.txt delete mode 100644 Source/TokyoMirage/8942491660a6e5dd_00000000f0f1c249_ps.txt delete mode 100644 Source/TokyoMirage/89822681cb52f1b4_0000000000f0f249_ps.txt delete mode 100644 Source/TokyoMirage/8b5e35332cd2d009_0000000007879249_ps.txt delete mode 100644 Source/TokyoMirage/8cdd68cf2a074404_0000000000000000_vs.txt delete mode 100644 Source/TokyoMirage/8e4ce35172aa4207_0000000007879649_ps.txt delete mode 100644 Source/TokyoMirage/8ec0e9d024e5eab1_000000003c3c9249_ps.txt delete mode 100644 Source/TokyoMirage/93a9c110b64f2c4a_000001e1e1e49649_ps.txt delete mode 100644 Source/TokyoMirage/942d4bf4624a0b2b_00000000078e1249_ps.txt delete mode 100644 Source/TokyoMirage/942d4bf4624a0b2b_000000003c3c9249_ps.txt delete mode 100644 Source/TokyoMirage/9482a40453e83072_000000003c3c9249_ps.txt delete mode 100644 Source/TokyoMirage/950e516872bc89e1_0000000f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/98fbed6646d0a28e_00000f0f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/a7f4801a8d29e333_0000000000000079_ps.txt delete mode 100644 Source/TokyoMirage/a990ed1d8b98c845_00000001e1e49249_ps.txt delete mode 100644 Source/TokyoMirage/a9fab78f85b62771_00000001e1e49249_ps.txt delete mode 100644 Source/TokyoMirage/adaebba23d3cde3d_00000f0f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/adc1f8175ad593d2_0000000f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/ae4b9d707f95f9e3_00000001e1e49249_ps.txt delete mode 100644 Source/TokyoMirage/ae5531e428f703f5_0000000007879249_ps.txt delete mode 100644 Source/TokyoMirage/aeacafe10869d9dd_000003c3c9249649_ps.txt delete mode 100644 Source/TokyoMirage/af7acf7fb6dca1be_0000000000079249_ps.txt delete mode 100644 Source/TokyoMirage/b181218b85619285_0000000000000000_vs.txt delete mode 100644 Source/TokyoMirage/b367f45a902e71b9_0000000f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/b5b078876f8aea16_0000000000f1c2c9_ps.txt delete mode 100644 Source/TokyoMirage/b5b078876f8aea16_00000000078792c9_ps.txt delete mode 100644 Source/TokyoMirage/ba19276703190072_0000000000001e49_ps.txt delete mode 100644 Source/TokyoMirage/ba91c4a71ca3f482_0000000007879249_ps.txt delete mode 100644 Source/TokyoMirage/bf0d3ea368f59c01_000000003c3c9249_ps.txt delete mode 100644 Source/TokyoMirage/bfc54e7c73074291_00000f0f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/c119d6dc3845973c_00000001e1e49249_ps.txt delete mode 100644 Source/TokyoMirage/c47311db5ad96d40_00000001e1e49649_ps.txt delete mode 100644 Source/TokyoMirage/c584bebcdcb93b8d_00000001e1e49249_ps.txt delete mode 100644 Source/TokyoMirage/c90f7d197e8cef8f_0000003c3c3c9249_ps.txt delete mode 100644 Source/TokyoMirage/c9a715140538a7a6_0000000787879249_ps.txt delete mode 100644 Source/TokyoMirage/cb60585a374f1761_0000000000f0f2c9_ps.txt delete mode 100644 Source/TokyoMirage/ce2ff6b2fd939478_0000000f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/d35885ced93e745a_0000000007879249_ps.txt delete mode 100644 Source/TokyoMirage/dd2a47af8d2caf76_00000001e1e49249_ps.txt delete mode 100644 Source/TokyoMirage/df01ee93f5e32259_000003c3c9249249_ps.txt delete mode 100644 Source/TokyoMirage/dfd09ecca1f42f08_000001e1e1e49249_ps.txt delete mode 100644 Source/TokyoMirage/e0702e915651fa43_000000003c3c9649_ps.txt delete mode 100644 Source/TokyoMirage/e0a01790582276ee_000003c3c9249249_ps.txt delete mode 100644 Source/TokyoMirage/e2f8996baff83d4d_00000000078e1649_ps.txt delete mode 100644 Source/TokyoMirage/e2f8996baff83d4d_000000003c3c9649_ps.txt delete mode 100644 Source/TokyoMirage/e6594de142bd3d05_00000000078e1649_ps.txt delete mode 100644 Source/TokyoMirage/e717b6f3bc364ae6_0000000f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/ed51eb916a78aefe_00000f0f0f249249_ps.txt delete mode 100644 Source/TokyoMirage/ee74120dadf200d1_000003c3c9249249_ps.txt delete mode 100644 Source/TokyoMirage/f4525e13d6671be9_00000000001e3849_ps.txt delete mode 100644 Source/TokyoMirage/f4525e13d6671be9_0000000000f0f249_ps.txt delete mode 100644 Source/TokyoMirage/f5714975b9b463ed_000001e1e1e49249_ps.txt delete mode 100644 Source/TokyoMirage/f579e3ba9295354e_000000000003c709_ps.txt delete mode 100644 Source/TokyoMirage/f579e3ba9295354e_00000000001e1e49_ps.txt delete mode 100644 Source/TokyoMirage/fd9b21e74d99c2cc_0000000007879249_ps.txt delete mode 100644 Source/TokyoMirage/fdb5a87dd0368c6b_000000000000f249_ps.txt delete mode 100644 Source/TokyoMirage/fdea68787e2969ab_0000787879249249_ps.txt delete mode 100644 Source/TokyoMirage/patches.txt delete mode 100644 Source/TurboSuperStuntSquad/rules.txt delete mode 100644 Source/TwilightPrincessHD/patches.txt delete mode 100644 Source/TwilightPrincessHD/rules.txt delete mode 100644 Source/WarriorsOrochi3/rules.txt delete mode 100644 Source/WiiUBIOS/rules.txt delete mode 100644 Source/WindWakerHD/1f83c0d47b1c4c34_0000000000000000_vs.txt delete mode 100644 Source/WindWakerHD/4c426260188ace42_0000000000000000_vs.txt delete mode 100644 Source/WindWakerHD/842a19b509f8b91a_0000000000000000_vs.txt delete mode 100644 Source/WindWakerHD/8d68a0e3561ff525_0000000000000000_vs.txt delete mode 100644 Source/WindWakerHD/d283b9338c6b10c5_0000000000000000_vs.txt delete mode 100644 Source/WindWakerHD/d9c81460d6984bb2_0000000000000000_vs.txt delete mode 100644 Source/WindWakerHD/ff71dcd2ad4defdc_00000000000003c9_ps.txt delete mode 100644 Source/WindWakerHD/patches.txt delete mode 100644 Source/Wipeout3/rules.txt delete mode 100644 Source/WipeoutCreate/rules.txt delete mode 100644 Source/WoollyWorld/patches.txt delete mode 100644 Source/WoollyWorld/rules.txt delete mode 100644 Source/XenobladeX/007148d1db7f78e7_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/0b8b33c2f133a514_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/0dbac1e3ebdc5c02_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/14f760ff4d6b05f5_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/1f915b133a255dab_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/20075cc6cf058a84_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/21eafb6c514a4b35_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/2716141e287247da_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/330acac562ddee2b_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/3fae14064195391b_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/4c66e611ad14aabe_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/5a41baf724c1cff3_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/6093720c5ca6289c_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/610a9c4cb60b0bdf_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/622450648ddbf1b2_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/738c509776f2c113_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/7d2d26ba00a66735_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/7ec11ebc6ad99936_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/8236d4df96d36e25_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/90bdbafc1c764ae6_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/948500d0191d1ed8_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/9bc5e526132c9534_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/_59df1c7e1806366c_00000000000003c9_ps.txt delete mode 100644 Source/XenobladeX/_cf4eda5057e1a527_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/_fe436d1abf8cc6f6_000000000000000f_ps.txt delete mode 100644 Source/XenobladeX/a225baec4db6d89e_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/b253dca415790207_0000000000000079_ps.txt delete mode 100644 Source/XenobladeX/ba529c2c3078fff0_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/c01cc5b7af21f689_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/ccc475eb7e537add_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/ccc6fb8b53f5f651_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/d0664898dbf28dfa_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/d321199dc854621f_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/d7074f19f5ca3b20_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/df832bc2e6d22e45_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/dfacd3f8f448aeaa_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/e082c1f638f8e81e_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/e99ed318f647e1cf_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/ec248df3384d3d18_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/ed70de7fe7542f87_00000000000003c9_ps.txt delete mode 100644 Source/XenobladeX/eec2c2cee7a1d42f_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/fa7054d25fd49999_0000000000000000_vs.txt delete mode 100644 Source/XenobladeX/patches.txt rename Source/{WoollyWorld => YoshisWoollyWorld}/b5082db8c1a44514_0000000000000079_ps.txt (94%) rename Source/{WoollyWorld => YoshisWoollyWorld}/f1f99f18ae69719b_0000000000000079_ps.txt (94%) create mode 100644 Source/YoshisWoollyWorld/rules.txt delete mode 100644 Source/functions.php delete mode 100644 Workaround/BreathOfTheWild_!AMDLights/cf2e9b7aab93e342_000000000001fe49_ps.txt delete mode 100644 Workaround/BreathOfTheWild_!AMDLights/d2082c0e0e8ddf27_000000000001fe49_ps.txt delete mode 100644 Workaround/BreathOfTheWild_!AMDLights/e7e31b26bbd728fc_000000000001fe49_ps.txt delete mode 100644 Workaround/BreathOfTheWild_!AMDLights/e95d54571be1c0a9_000000000001fe49_ps.txt delete mode 100644 Workaround/BreathOfTheWild_!AMDLights/rules.txt delete mode 100644 Workaround/BreathOfTheWild_!AMDShadows/rules.txt delete mode 100644 Workaround/BreathOfTheWild_LwzxNullCheck/rules.txt delete mode 100644 Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/10e939370329849a_0000000000000000_vs.txt delete mode 100644 Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/127a33e6425e2e83_0000000000000000_vs.txt delete mode 100644 Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/127a33e6825e2e83_0000000000000000_vs.txt delete mode 100644 Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/127a33ea625e2e83_0000000000000000_vs.txt delete mode 100644 Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/16fa33eae25e2e83_0000000000000000_vs.txt delete mode 100644 Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/16fa33fca25e2e83_0000000000000000_vs.txt delete mode 100644 Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/37d4289e0541199b_0000000000000000_vs.txt delete mode 100644 Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/4d3766953c3d41b4_0000000000000000_vs.txt delete mode 100644 Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/95a6fa7649598084_0000000000000000_vs.txt delete mode 100644 Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/c6c67c24e7df1604_0000000000000000_vs.txt delete mode 100644 Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/rules.txt delete mode 100644 Workaround/BreathOfTheWild_NVIDIASmoke/rules.txt delete mode 100644 Workaround/BreathOfTheWild_SquareShadowsFix/rules.txt delete mode 100644 Workaround/ColorSplash_30FPS/rules.txt delete mode 100644 Workaround/HyruleWarriors_30FPS/rules.txt delete mode 100644 Workaround/HyruleWarriors_DLCFix/patches.txt delete mode 100644 Workaround/HyruleWarriors_DLCFix/rules.txt delete mode 100644 Workaround/HyruleWarriors_DoFBlurRemoval/patches.txt delete mode 100644 Workaround/HyruleWarriors_DoFBlurRemoval/rules.txt delete mode 100644 Workaround/HyruleWarriors_EnemyDeathFix/6e8a52b2c5236e90_0000000001fffe49_ps.txt delete mode 100644 Workaround/HyruleWarriors_EnemyDeathFix/fcea74ffa264fa58_000000000ffff2c9_ps.txt delete mode 100644 Workaround/HyruleWarriors_EnemyDeathFix/rules.txt delete mode 100644 Workaround/HyruleWarriors_ShadowRemoval/patches.txt delete mode 100644 Workaround/HyruleWarriors_ShadowRemoval/rules.txt delete mode 100644 Workaround/SonicLostWorld_BrightnessFix/rules.txt delete mode 100644 Workaround/SuperSmashBros_PixelMess/rules.txt delete mode 100644 Workaround/Wonderful101_ShadowRemoval/rules.txt delete mode 100644 Workaround/XenobladeX_AMDGCN4/rules.txt delete mode 100644 Workaround/XenobladeX_AdjustableBrightness/rules.txt rename {Workaround/BreathOfTheWild_!AMDShadows => Workarounds/!BreathOfTheWild_ShadowsAMD}/09085793b5a9f364_00001ffe492e9249_ps.txt (100%) rename {Workaround/BreathOfTheWild_!AMDShadows => Workarounds/!BreathOfTheWild_ShadowsAMD}/45e72a252caba763_000003c000009269_ps.txt (100%) rename {Workaround/BreathOfTheWild_!AMDShadows => Workarounds/!BreathOfTheWild_ShadowsAMD}/59cba7eb9a9c1df6_00000007f924d249_ps.txt (100%) rename {Workaround/BreathOfTheWild_!AMDShadows => Workarounds/!BreathOfTheWild_ShadowsAMD}/808ba0411f6f526e_0000007ff9249a49_ps.txt (100%) rename {Workaround/BreathOfTheWild_!AMDShadows => Workarounds/!BreathOfTheWild_ShadowsAMD}/88133ee405eaae28_000003c000009269_ps.txt (100%) rename {Workaround/BreathOfTheWild_!AMDShadows => Workarounds/!BreathOfTheWild_ShadowsAMD}/9c0b7031078fba88_0000007800001269_ps.txt (100%) create mode 100644 Workarounds/!BreathOfTheWild_ShadowsAMD/rules.txt rename {Workaround/BreathOfTheWild_SquareShadowsFix => Workarounds/BreathOfTheWild_KakarikoShadows}/8e9e804a3cd384c3_00000000000ff259_ps.txt (100%) rename {Workaround/BreathOfTheWild_SquareShadowsFix => Workarounds/BreathOfTheWild_KakarikoShadows}/ab0a485b9ae1bb1e_00000000000ff259_ps.txt (100%) create mode 100644 Workarounds/BreathOfTheWild_KakarikoShadows/rules.txt rename {Workaround => Workarounds}/BreathOfTheWild_LwzxNullCheck/patches.txt (100%) create mode 100644 Workarounds/BreathOfTheWild_LwzxNullCheck/rules.txt rename {Workaround => Workarounds}/BreathOfTheWild_NVIDIASmoke/17aae2b035ae850c_0000000000000000_vs.txt (100%) rename {Workaround => Workarounds}/BreathOfTheWild_NVIDIASmoke/2938a1b3abfdfe49_0000000000000000_vs.txt (100%) rename {Workaround => Workarounds}/BreathOfTheWild_NVIDIASmoke/314c2583a1612026_0000000000000000_vs.txt (100%) rename {Workaround => Workarounds}/BreathOfTheWild_NVIDIASmoke/344d8b1f7d6f2b8e_0000000000000000_vs.txt (100%) rename {Workaround => Workarounds}/BreathOfTheWild_NVIDIASmoke/961cf134642327cc_0000000000000000_vs.txt (100%) rename {Workaround => Workarounds}/BreathOfTheWild_NVIDIASmoke/a4f029f0b16e3776_0000000000000000_vs.txt (100%) rename {Workaround => Workarounds}/BreathOfTheWild_NVIDIASmoke/b9eeedc9f6628c36_0000000000000000_vs.txt (100%) rename {Workaround => Workarounds}/BreathOfTheWild_NVIDIASmoke/ea77e7f80b23e7b7_0000000000000000_vs.txt (100%) rename {Workaround => Workarounds}/BreathOfTheWild_NVIDIASmoke/fc4a738a3df2bcce_0000000000000000_vs.txt (100%) create mode 100644 Workarounds/BreathOfTheWild_NVIDIASmoke/rules.txt create mode 100644 Workarounds/ColorSplash_30FPS/rules.txt create mode 100644 Workarounds/HyruleWarriors_30FPS/rules.txt rename {Workaround/SonicLostWorld_BrightnessFix => Workarounds/SonicLostWorld_DisplayFixes}/061c4a3b19113538_0000000000000000_vs.txt (100%) rename {Workaround/SonicLostWorld_BrightnessFix => Workarounds/SonicLostWorld_DisplayFixes}/289fad0a94a60a46_0000000000000000_vs.txt (100%) rename {Workaround/SonicLostWorld_BrightnessFix => Workarounds/SonicLostWorld_DisplayFixes}/7658289ba65cb755_00000000000003c9_ps.txt (100%) rename {Workaround/SonicLostWorld_BrightnessFix => Workarounds/SonicLostWorld_DisplayFixes}/971a39bb79e32fd1_0000000000001e71_ps.txt (100%) rename {Workaround/SonicLostWorld_BrightnessFix => Workarounds/SonicLostWorld_DisplayFixes}/e1d2a971c93cd82a_0000000000001e71_ps.txt (100%) create mode 100644 Workarounds/SonicLostWorld_DisplayFixes/rules.txt rename {Modifications => Workarounds}/Splatoon_UltrawideFixes219/0b2ca00a882b9629_0000000000000000_vs.txt (99%) rename {Modifications => Workarounds}/Splatoon_UltrawideFixes219/1e015f95e9b3e57f_0000000000000000_vs.txt (99%) rename {Modifications => Workarounds}/Splatoon_UltrawideFixes219/4754883f71f69101_0000000000000000_vs.txt (99%) rename {Modifications => Workarounds}/Splatoon_UltrawideFixes219/5bf3a3153a7cab75_0000000000000000_vs.txt (99%) rename {Modifications => Workarounds}/Splatoon_UltrawideFixes219/6724aef6f3f59403_0000000000000000_vs.txt (99%) rename {Modifications => Workarounds}/Splatoon_UltrawideFixes219/6a5cfcb2e29672eb_0000000000000000_vs.txt (99%) rename {Modifications => Workarounds}/Splatoon_UltrawideFixes219/771cf3a9a165ebf7_0000000000000000_vs.txt (99%) rename {Modifications => Workarounds}/Splatoon_UltrawideFixes219/c6628888b292c921_0000000000000000_vs.txt (99%) rename {Modifications => Workarounds}/Splatoon_UltrawideFixes219/c73bf8204f4ddceb_0000000000000000_vs.txt (99%) rename {Modifications => Workarounds}/Splatoon_UltrawideFixes219/f6fc641eb23547cf_0000000000000000_vs.txt (99%) create mode 100644 Workarounds/Splatoon_UltrawideFixes219/rules.txt create mode 100644 Workarounds/SuperSmashBros_NoBoxingRingScreen/rules.txt rename {Workaround => Workarounds}/WindWakerHD_FPSSlowdownFix/patches.txt (100%) rename {Workaround => Workarounds}/WindWakerHD_FPSSlowdownFix/rules.txt (100%) rename {Workaround => Workarounds}/WindWakerHD_IntelFixes/patches.txt (100%) rename {Workaround => Workarounds}/WindWakerHD_IntelFixes/rules.txt (100%) rename {Workaround => Workarounds}/Wonderful101_ShadowRemoval/2a8afa64e98f2977_0000000000000000_vs.txt (100%) rename {Workaround => Workarounds}/Wonderful101_ShadowRemoval/5c0d907ed99903ab_0000000000000000_vs.txt (100%) create mode 100644 Workarounds/Wonderful101_ShadowRemoval/rules.txt create mode 100644 Workarounds/XenobladeX_AdjustableBrightnessAMD/3cc7e98f78c258b4_00000000000003ca_ps.txt create mode 100644 Workarounds/XenobladeX_AdjustableBrightnessAMD/7b9f05b2bd8f3b71_0000000000000079_ps.txt rename {Workaround/XenobladeX_AdjustableBrightness => Workarounds/XenobladeX_AdjustableBrightnessAMD}/bd74794730fc559a_00000000ff249249_ps.txt (100%) create mode 100644 Workarounds/XenobladeX_AdjustableBrightnessAMD/d936195db0dd8e7d_0000000000001e52_ps.txt create mode 100644 Workarounds/XenobladeX_AdjustableBrightnessAMD/rules.txt rename {Workaround/XenobladeX_AdjustableBrightness => Workarounds/XenobladeX_AdjustableBrightnessNvidia}/3cc7e98f78c258b4_00000000000003ca_ps.txt (100%) rename {Workaround/XenobladeX_AdjustableBrightness => Workarounds/XenobladeX_AdjustableBrightnessNvidia}/7b9f05b2bd8f3b71_0000000000000079_ps.txt (100%) create mode 100644 Workarounds/XenobladeX_AdjustableBrightnessNvidia/bd74794730fc559a_00000000ff249249_ps.txt rename {Workaround/XenobladeX_AdjustableBrightness => Workarounds/XenobladeX_AdjustableBrightnessNvidia}/d936195db0dd8e7d_0000000000001e52_ps.txt (100%) create mode 100644 Workarounds/XenobladeX_AdjustableBrightnessNvidia/rules.txt delete mode 100755 build.sh create mode 100644 docs/.gitattributes create mode 100644 docs/.gitignore create mode 100644 docs/404.html create mode 100644 docs/Dockerfile create mode 100644 docs/Gemfile create mode 100644 docs/LICENSE create mode 100644 docs/_config.yml create mode 100644 docs/_data/GameTitles.yml create mode 100644 docs/_data/SocialNetworks.yml create mode 100644 docs/_includes/disqus.html create mode 100644 docs/_includes/ext-css.html create mode 100644 docs/_includes/ext-js.html create mode 100644 docs/_includes/fb-comment.html create mode 100644 docs/_includes/footer-minimal.html create mode 100644 docs/_includes/footer-scripts.html create mode 100644 docs/_includes/footer.html create mode 100644 docs/_includes/google_analytics.html create mode 100644 docs/_includes/gtag.html create mode 100644 docs/_includes/gtm_body.html create mode 100644 docs/_includes/gtm_head.html create mode 100644 docs/_includes/head.html create mode 100644 docs/_includes/header.html create mode 100644 docs/_includes/matomo.html create mode 100644 docs/_includes/nav.html create mode 100644 docs/_includes/navbarlink.html create mode 100644 docs/_includes/social-share.html create mode 100644 docs/_layouts/base.html create mode 100644 docs/_layouts/default.html create mode 100644 docs/_layouts/minimal.html create mode 100644 docs/_layouts/page.html create mode 100644 docs/_layouts/post.html create mode 100644 docs/css/bootstrap-social.css create mode 100644 docs/css/bootstrap-theme.css create mode 100644 docs/css/bootstrap-theme.css.map create mode 100644 docs/css/bootstrap-theme.min.css create mode 100644 docs/css/bootstrap.css create mode 100644 docs/css/bootstrap.css.map create mode 100644 docs/css/bootstrap.min.css create mode 100644 docs/css/index.css create mode 100644 docs/css/main-minimal.css create mode 100644 docs/css/main.css create mode 100644 docs/css/normalize.css create mode 100644 docs/css/pygment_highlights.css create mode 100644 docs/feed.xml create mode 100644 docs/img/404-southpark.jpg create mode 100644 docs/img/avatar-icon.png create mode 100644 docs/img/bgimage.png create mode 100644 docs/index.html create mode 100644 docs/js/bootstrap.js create mode 100644 docs/js/bootstrap.min.js create mode 100644 docs/js/index.js create mode 100644 docs/js/jquery-1.11.2.min.js create mode 100644 docs/js/main.js create mode 100644 docs/tags.html create mode 100644 docs/watch_local.bat delete mode 100755 requestGithubPages.sh diff --git a/.gitattributes b/.gitattributes index c61b241e..db2a596a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1 @@ -*.txt text eol=crlf +* text eol=crlf \ No newline at end of file diff --git a/.gitignore b/.gitignore index f00840ab..d6eb4aa8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,10 @@ -Enthusiast -Performance -Quality + +Build/ + +docs/node_modules/ + +docs/\.idea/ + +docs/package-lock\.json + +docs/Gemfile\.lock diff --git a/.travis.yml b/.travis.yml index 77242360..cd7e75e0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,66 +1,30 @@ -# Aim to have fast builds -# TODO: Maybe don't build the files into seperate folders and copy them after that anyway. - -language: php - -php: - - 7.0 +dist: trusty +sudo: false +language: node_js +node_js: + - "node" git: depth: 1 - submodules: false -if: branch IS master +env: + global: + secure: JkXrZEYH1PvXUpI02PYZC9csCtHDS9C41vMMWZZ4gIlkugFQGwVqB2aOjCbiCZzo5PiBXqz9p+xcRHk97SnzCLBINovw3GgWw1YUApYNXDARAOvZVrWMUQhqiouezexPUfL0dxJW5T1it6zN+weAiDsdfgJB8Q++TOQbn2mbcVfRNoR/HCO0v/5P0rtmtqPLbvtLj76eesVVr5rmC8SRDv7x/kCj4fHFYlS7tQGE6nV8XHo0FLr9cPafuqPjsIXR/QnJR+XYMsQfi8LymBEfv92Fq47J+nS9+iGG3M+T+n3GQ8lAjx6gGeiNnfVXQB8rMNItBuFsNfu+iiyurw4uMFaP66+GgamosyuPM+Tw7p4zc/WP316enAYZ/aAbQsbV3BBZXfBy94iU/xNAq4T82QTNq2I3zS84MJnjQtNPBxmADEJ/EZN6SE+rDRq4KxsTCis+hWqiioaeF6rhF8z7Mbg3P6Hn/FesqyBSlRAHmq+bOJx5m2m7lww1DRTPeOH6vKut3yU6uSd+9let4K14AGgV4S0VdKRoTmZHLFUK+L6HkjERKDpeAWq1j4sKpBLPRXxKRmVFb9B9LJVGzAZQ4ad0gNLHP9SKHBF9DxwKESRNzY37FkRSj/rO8tASm4BZRiTVS/WUhTPig7C92+VuVedfTe7UHAX+2wow61qJlHQ= + if: tag IS blank -branches: - only: - master - -# Simultaneous builds for common and uncommon resolutions -env: - matrix: - - buildType=Common - - buildType=Uncommon - global: - - secure: "X0PrKXLjW6r8e0zT7+SshhP7uaW/5EW2BJPCc/oRIWX6eC4QLXv0lQBstIZ6vChAvgYv2K1CcBlWHrQarTlHqmkYnfHAfOFK//qURFUfuyTkKcKU/aCYvm4op0jPGw8+wbOkxwfnbvOaa0E7oBv4GCXVPYCU3nm7E1H2XHgcfJukaEhpvFfHaNohoh1ygVt65G1WIoYwUIFh/0XXgP6RVBDCAU+QYaNopK5co2O40vhjtg2f0la4zMsunMEY5oXNMaM/oRAvGBaXJ3KUTgSb0+uRlEM/XxOYRyfmG6fjVXYbwL6j+kNCLsZklCfN98AAvbysCebQWhI46vJcPa/Ji/ImMeAns17fBlHMn+PI0MIBbPkMztEkenXW3Yv1BquBHElhB758Fd1Zt9KdA5H5JC6WfuRBd+QBwlzOBxOrVfmaI3uOmy3cEvQZgckPGN+7SdSDyrw/+ukM+Ks775qaZ/bw3eQyMx6DpfATa6pVzK0AWj4Xlm4IufaOFI/hy2gH60hV+3KuYXeSJOq4gXYbtJcruAbHK5YOeEmAEsVCpz+RKSuAWWvcPktoyLTOjbGTM89Yf3jFgZOFi4HNCt7K67/bDnflsHj04X/pDm3gQ0XhxQx1Sj1j0IG1XLh+k37uL2FZusBbd+8kI1SkMED5aVWTp1WmbJN+dJXZMWJxJPc=" # GITHUB_TOKEN - -matrix: - fast_finish: true - -# === Build steps === - -# No dependencies install: npm install -g github-release-cli@0.4.1 -# No need to debug the PHP code. Keeping this enabled slows down execution. -before_script: - - phpenv config-rm xdebug.ini - -script: ./build.sh - -after_success: - # Create zip file - - mkdir build - - mv $TRAVIS_BUILD_DIR/Enhancement/* build - - mv $TRAVIS_BUILD_DIR/Enthusiast/* build - - mv $TRAVIS_BUILD_DIR/Modifications/* build - - mv $TRAVIS_BUILD_DIR/Performance/* build - - mv $TRAVIS_BUILD_DIR/Quality/* build - - mv $TRAVIS_BUILD_DIR/Workaround/* build - - cd build - - $([ "$buildType" = "Common" ] && echo zip -o -9 -r -q "../graphicPacksCommon_$TRAVIS_BUILD_NUMBER"".zip" ./* || echo zip -o -9 -r -q "../graphicPacks$TRAVIS_BUILD_NUMBER""_Uncommon.zip" ./*) - - cd .. - # Create github release - # The odd naming of the releases will create a more compatible order. It's intended. +script: + - cd Enhancements && zip -r -q -9 "../graphicPacks$TRAVIS_BUILD_NUMBER"".zip" ./* && cd .. + - cd Source && zip -r -q -9 "../graphicPacks$TRAVIS_BUILD_NUMBER"".zip" ./* && cd .. + - cd Modifications && zip -r -q -9 "../graphicPacks$TRAVIS_BUILD_NUMBER"".zip" ./* && cd .. + - cd Workarounds && zip -r -q -9 "../graphicPacks$TRAVIS_BUILD_NUMBER"".zip" ./* && cd .. - | github-release upload \ --owner=slashiee \ - --repo=cemu_graphic_packs \ + --repo=gfx_pack \ --tag="Travis$TRAVIS_BUILD_NUMBER" \ --name="Graphic Packs: version $TRAVIS_BUILD_NUMBER" \ - --body="$(git log -1 --format='Commited at %ci by **%cn** in commit %h%n### %s%n```%n%b%n```%n') $(if [ '$buildType' = 'Common' ]; then echo 'This is a prerelease with only the common resolutions.'; fi)" \ - $([ "$buildType" = "Common" ] && echo "--prerelease=true" || echo "--prerelease=false") \ - $([ "$buildType" = "Common" ] && echo "graphicPacksCommon_$TRAVIS_BUILD_NUMBER"".zip" || echo "graphicPacks$TRAVIS_BUILD_NUMBER""_Uncommon.zip") - # Request a new Github Pages build when all the releases are present so that the links will be updated. Need to use a seperate file due to weird yaml parsing. - - sh requestGithubPages.sh + --body="$(git log -1 --format='Commited at %ci by **%cn** in commit %h%n### %s%n```%n%b%n```%n')" \ + "graphicPacks$TRAVIS_BUILD_NUMBER"".zip" diff --git a/Enhancement/BreathOfTheWild_!AARemoval/0f2b9ee517917425_00000000000003c9_ps.txt b/Enhancement/BreathOfTheWild_!AARemoval/0f2b9ee517917425_00000000000003c9_ps.txt deleted file mode 100644 index ae2d520d..00000000 --- a/Enhancement/BreathOfTheWild_!AARemoval/0f2b9ee517917425_00000000000003c9_ps.txt +++ /dev/null @@ -1,12 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader 0f2b9ee517917425 // Inventory AA removal - -layout(binding = 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; - -void main() -{ -passPixelColor0 = texture(textureUnitPS0, passParameterSem2.xy); -} diff --git a/Enhancement/BreathOfTheWild_!AARemoval/f14bb57cd5c9cb77_00000000000003c9_ps.txt b/Enhancement/BreathOfTheWild_!AARemoval/f14bb57cd5c9cb77_00000000000003c9_ps.txt deleted file mode 100644 index 90c5e070..00000000 --- a/Enhancement/BreathOfTheWild_!AARemoval/f14bb57cd5c9cb77_00000000000003c9_ps.txt +++ /dev/null @@ -1,11 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader f14bb57cd5c9cb77 - -layout(binding = 0) uniform sampler2D textureUnitPS0; -layout(location = 0) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -void main() -{ -passPixelColor0 = texture(textureUnitPS0, passParameterSem2.xy); -} diff --git a/Enhancement/BreathOfTheWild_!AARemoval/rules.txt b/Enhancement/BreathOfTheWild_!AARemoval/rules.txt deleted file mode 100644 index 9470fa5f..00000000 --- a/Enhancement/BreathOfTheWild_!AARemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - No Anti-Aliasing" -version = 2 diff --git a/Enhancement/BreathOfTheWild_!FXAA/0f2b9ee517917425_00000000000003c9_ps.txt b/Enhancement/BreathOfTheWild_!FXAA/0f2b9ee517917425_00000000000003c9_ps.txt deleted file mode 100644 index f9da5d1f..00000000 --- a/Enhancement/BreathOfTheWild_!FXAA/0f2b9ee517917425_00000000000003c9_ps.txt +++ /dev/null @@ -1,350 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable - -/*-----------------------------settings-------------------------------------*/ - -#define Subpix 1.00 //[0.000 to 1.000] Choose the amount of sub-pixel aliasing removal. -#define EdgeThreshold 0.125 //[0.000 to 1.000] Edge detection threshold. The minimum amount of local contrast required to apply algorithm. -#define EdgeThresholdMin 0.0625 //[0.000 to 1.000] Darkness threshold. Trims the algorithm from processing darks. - -/*--------------------------------------------------------------------------*/ - -// shader 0f2b9ee517917425 -// fxaa in inventory screen -// original shader dumped using cemu 1.10.0f, BotW 1.3.1 -layout(binding = 0) uniform sampler2D textureUnitPS0; -layout(binding = 1) uniform sampler2D textureUnitPS1; -layout(location = 0) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; - -#define FXAA_QUALITY__PS 12 -#define FXAA_QUALITY__P0 1.0 -#define FXAA_QUALITY__P1 1.0 -#define FXAA_QUALITY__P2 1.0 -#define FXAA_QUALITY__P3 1.0 -#define FXAA_QUALITY__P4 1.0 -#define FXAA_QUALITY__P5 1.5 -#define FXAA_QUALITY__P6 2.0 -#define FXAA_QUALITY__P7 2.0 -#define FXAA_QUALITY__P8 2.0 -#define FXAA_QUALITY__P9 2.0 -#define FXAA_QUALITY__P10 4.0 -#define FXAA_QUALITY__P11 8.0 - -#define FxaaBool bool -#define FxaaDiscard discard -#define FxaaFloat float -#define FxaaFloat2 vec2 -#define FxaaFloat3 vec3 -#define FxaaFloat4 vec4 -#define FxaaHalf float -#define FxaaHalf2 vec2 -#define FxaaHalf3 vec3 -#define FxaaHalf4 vec4 -#define FxaaInt2 ivec2 -#define FxaaSat(x) clamp(x, 0.0, 1.0) -#define FxaaTex sampler2D - -#define FxaaTexTop(t, p) textureLod(t, p, 0.0) -#define FxaaTexOff(t, p, o, r) textureLodOffset(t, p, 0.0, o) - -#define FxaaTexAlpha4(t, p) textureGather(t, p, 3) -#define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3) -#define FxaaTexGreen4(t, p) textureGather(t, p, 1) -#define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1) - -FxaaFloat4 FxaaPixelShader( - FxaaFloat2 pos, - FxaaTex tex, - FxaaTex lum, - FxaaFloat2 fxaaQualityRcpFrame, - FxaaFloat fxaaQualitySubpix, - FxaaFloat fxaaQualityEdgeThreshold, - FxaaFloat fxaaQualityEdgeThresholdMin -) { - FxaaFloat2 posM; - posM.x = pos.x; - posM.y = pos.y; - FxaaFloat4 rgbyM = vec4(FxaaTexTop(tex, posM).xyz, FxaaTexTop(lum, posM).x); - #define lumaM rgbyM.w - FxaaFloat4 luma4A = textureGather(lum, posM); - FxaaFloat4 luma4B = textureGatherOffset(lum, posM, FxaaInt2(-1, -1)); - #define lumaE luma4A.z - #define lumaS luma4A.x - #define lumaSE luma4A.y - #define lumaNW luma4B.w - #define lumaN luma4B.z - #define lumaW luma4B.x - FxaaFloat maxSM = max(lumaS, lumaM); - FxaaFloat minSM = min(lumaS, lumaM); - FxaaFloat maxESM = max(lumaE, maxSM); - FxaaFloat minESM = min(lumaE, minSM); - FxaaFloat maxWN = max(lumaN, lumaW); - FxaaFloat minWN = min(lumaN, lumaW); - FxaaFloat rangeMax = max(maxWN, maxESM); - FxaaFloat rangeMin = min(minWN, minESM); - FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold; - FxaaFloat range = rangeMax - rangeMin; - FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled); - FxaaBool earlyExit = range < rangeMaxClamped; - if(earlyExit) - return rgbyM; - FxaaFloat lumaNE = FxaaTexOff(lum, posM, FxaaInt2(1, -1), fxaaQualityRcpFrame.xy).x; - FxaaFloat lumaSW = FxaaTexOff(lum, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy).x; - FxaaFloat lumaNS = lumaN + lumaS; - FxaaFloat lumaWE = lumaW + lumaE; - FxaaFloat subpixRcpRange = 1.0/range; - FxaaFloat subpixNSWE = lumaNS + lumaWE; - FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS; - FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE; - FxaaFloat lumaNESE = lumaNE + lumaSE; - FxaaFloat lumaNWNE = lumaNW + lumaNE; - FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE; - FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE; - FxaaFloat lumaNWSW = lumaNW + lumaSW; - FxaaFloat lumaSWSE = lumaSW + lumaSE; - FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2); - FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2); - FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW; - FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE; - FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4; - FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4; - FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE; - FxaaFloat lengthSign = fxaaQualityRcpFrame.x; - FxaaBool horzSpan = edgeHorz >= edgeVert; - FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE; - if(!horzSpan) lumaN = lumaW; - if(!horzSpan) lumaS = lumaE; - if(horzSpan) lengthSign = fxaaQualityRcpFrame.y; - FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM; - FxaaFloat gradientN = lumaN - lumaM; - FxaaFloat gradientS = lumaS - lumaM; - FxaaFloat lumaNN = lumaN + lumaM; - FxaaFloat lumaSS = lumaS + lumaM; - FxaaBool pairN = abs(gradientN) >= abs(gradientS); - FxaaFloat gradient = max(abs(gradientN), abs(gradientS)); - if(pairN) lengthSign = -lengthSign; - FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange); - FxaaFloat2 posB; - posB.x = posM.x; - posB.y = posM.y; - FxaaFloat2 offNP; - offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x; - offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y; - if(!horzSpan) posB.x += lengthSign * 0.5; - if( horzSpan) posB.y += lengthSign * 0.5; - FxaaFloat2 posN; - posN.x = posB.x - offNP.x * FXAA_QUALITY__P0; - posN.y = posB.y - offNP.y * FXAA_QUALITY__P0; - FxaaFloat2 posP; - posP.x = posB.x + offNP.x * FXAA_QUALITY__P0; - posP.y = posB.y + offNP.y * FXAA_QUALITY__P0; - FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0; - FxaaFloat lumaEndN = FxaaTexTop(lum, posN).x; - FxaaFloat subpixE = subpixC * subpixC; - FxaaFloat lumaEndP = FxaaTexTop(lum, posP).x; - if(!pairN) lumaNN = lumaSS; - FxaaFloat gradientScaled = gradient * 1.0/4.0; - FxaaFloat lumaMM = lumaM - lumaNN * 0.5; - FxaaFloat subpixF = subpixD * subpixE; - FxaaBool lumaMLTZero = lumaMM < 0.0; - lumaEndN -= lumaNN * 0.5; - lumaEndP -= lumaNN * 0.5; - FxaaBool doneN = abs(lumaEndN) >= gradientScaled; - FxaaBool doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P1; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P1; - FxaaBool doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P1; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P1; - if(doneNP) { - if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; - if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P2; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P2; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P2; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P2; - #if (FXAA_QUALITY__PS > 3) - if(doneNP) { - if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; - if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P3; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P3; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P3; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P3; - #if (FXAA_QUALITY__PS > 4) - if(doneNP) { - if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; - if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P4; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P4; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P4; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P4; - #if (FXAA_QUALITY__PS > 5) - if(doneNP) { - if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; - if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P5; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P5; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P5; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P5; - #if (FXAA_QUALITY__PS > 6) - if(doneNP) { - if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; - if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P6; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P6; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P6; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P6; - #if (FXAA_QUALITY__PS > 7) - if(doneNP) { - if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; - if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P7; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P7; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P7; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P7; - #if (FXAA_QUALITY__PS > 8) - if(doneNP) { - if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; - if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P8; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P8; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P8; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P8; - #if (FXAA_QUALITY__PS > 9) - if(doneNP) { - if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; - if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P9; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P9; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P9; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P9; - #if (FXAA_QUALITY__PS > 10) - if(doneNP) { - if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; - if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P10; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P10; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P10; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P10; - #if (FXAA_QUALITY__PS > 11) - if(doneNP) { - if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; - if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P11; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P11; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P11; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P11; - #if (FXAA_QUALITY__PS > 12) - if(doneNP) { - if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; - if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P12; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P12; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P12; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P12; - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - #endif - } - FxaaFloat dstN = posM.x - posN.x; - FxaaFloat dstP = posP.x - posM.x; - if(!horzSpan) dstN = posM.y - posN.y; - if(!horzSpan) dstP = posP.y - posM.y; - FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero; - FxaaFloat spanLength = (dstP + dstN); - FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero; - FxaaFloat spanLengthRcp = 1.0/spanLength; - FxaaBool directionN = dstN < dstP; - FxaaFloat dst = min(dstN, dstP); - FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP; - FxaaFloat subpixG = subpixF * subpixF; - FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5; - FxaaFloat subpixH = subpixG * fxaaQualitySubpix; - FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0; - FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH); - if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign; - if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign; - return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM); -} - - -vec2 RcpFrame = vec2(1.0 / 1280.0, 1.0 / 720.0) * uf_fragCoordScale; -void main() -{ -passPixelColor0 = FxaaPixelShader(passParameterSem2.xy, textureUnitPS0, textureUnitPS1, RcpFrame, Subpix, EdgeThreshold, EdgeThresholdMin); -} diff --git a/Enhancement/BreathOfTheWild_!NoDoF/rules.txt b/Enhancement/BreathOfTheWild_!NoDoF/rules.txt deleted file mode 100644 index 5b94dbe6..00000000 --- a/Enhancement/BreathOfTheWild_!NoDoF/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - No Depth of Field" -version = 2 diff --git a/Enhancement/BreathOfTheWild_!RegularShadows/rules.txt b/Enhancement/BreathOfTheWild_!RegularShadows/rules.txt deleted file mode 100644 index 45ac7876..00000000 --- a/Enhancement/BreathOfTheWild_!RegularShadows/rules.txt +++ /dev/null @@ -1,18 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - Regular Resolution Shadows" -version = 2 - -[TextureRedefine] -width = 360 -height = 360 -formats = 0x005 -overwriteWidth = 360 -overwriteHeight = 360 - -[TextureRedefine] -width = 720 -height = 720 -formats = 0x005 -overwriteWidth = 720 -overwriteHeight = 720 \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_30FPS/patches.txt b/Enhancement/BreathOfTheWild_30FPS/patches.txt deleted file mode 100644 index b9194f6c..00000000 --- a/Enhancement/BreathOfTheWild_30FPS/patches.txt +++ /dev/null @@ -1,69 +0,0 @@ -[BotwNoVsyncV33] -moduleMatches = 0xD91A406D - -;0x03068414 = nop ;disables gx2 fence -0x030685E4 = nop ;disables wait for vsync -0x03068608 = nop ;disables wait for vsync loop - -[BotwNoVsyncV48] -moduleMatches = 0x0F748D9C - -;0x03068488 = nop ;disables gx2 fence -0x03068658 = nop ;disables wait for vsync -0x0306867C = nop ;disables wait for vsync loop - -[BotwNoVsyncV64] -moduleMatches = 0x9A61FF4C - -;0x03069B60 = nop ;disables gx2 fence -0x03069D30 = nop ;disables wait for vsync -0x03069D54 = nop ;disables wait for vsync loop - -[BotwNoVsyncV80] -moduleMatches = 0x8E3324A9 - -;0x03088A68 = nop ;disables gx2 fence -0x03088C38 = nop ;disables wait for vsync -0x03088C5C = nop ;disables wait for vsync loop - -[BotwNoVsyncV97] -moduleMatches = 0xD71D859D - -;0x030D42A0 = nop ;disables gx2 fence -0x030D4474 = nop ;disables wait for vsync -0x030D4498 = nop ;disables wait for vsync loop - -[BotwNoVsyncV112] -moduleMatches = 0x6FD41A61 - -;0x030D5200 = nop ;disables gx2 fence -0x030D53D4 = nop ;disables wait for vsync -0x030D53F8 = nop ;disables wait for vsync loop - -[BotwNoVsyncV144] -moduleMatches = 0x9A2CA0C7 - -;0x03102808 = nop ;disables gx2 fence -0x031029DC = nop ;disables wait for vsync -0x03102A00 = nop ;disables wait for vsync loop - -[BotwNoVsyncV160] -moduleMatches = 0x29DBB52A - -;0x031026D8 = nop ;disables gx2 fence -0x031028A8 = nop ;disables wait for vsync -0x031028CC = nop ;disables wait for vsync loop - -[BotwNoVsyncV176V192] -moduleMatches = 0xFD091F9F,0xD472D8A5 - -;0x031FA004 = nop ;disables gx2 fence -0x031FA1D4 = nop ;disables wait for vsync -0x031FA1F8 = nop ;disables wait for vsync loop - -[BotwNoVsyncV208] -moduleMatches = 0x6267BFD0 - -;0x031FAB00 = nop ;disables gx2 fence -0x031FACD0 = nop ;disables wait for vsync -0x031FACF4 = nop ;disables wait for vsync loop \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_30FPS/rules.txt b/Enhancement/BreathOfTheWild_30FPS/rules.txt deleted file mode 100644 index f5b79d3d..00000000 --- a/Enhancement/BreathOfTheWild_30FPS/rules.txt +++ /dev/null @@ -1,7 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - 30FPS Lock (Requires Fence Skip or FPS++)" -version = 2 - -[Control] -vsyncFrequency = 30 \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_720pBetterColorDepth/rules.txt b/Enhancement/BreathOfTheWild_720pBetterColorDepth/rules.txt deleted file mode 100644 index 3c34d97f..00000000 --- a/Enhancement/BreathOfTheWild_720pBetterColorDepth/rules.txt +++ /dev/null @@ -1,23 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - 1280x720 (Better Color Depth)" -version = 2 - -[TextureRedefine] #TV -width = 1280 -height = 720 -formats = 0x19,0x1a -overwriteFormat = 0x1f -tileModesExcluded = 0x001 - -[TextureRedefine] #inventory and title menu background blur -width = 320 -height = 180 -formats = 0x19 -overwriteFormat = 0x823 - -[TextureRedefine] #title menu background bloom -width = 320 -height = 180 -formats = 0x1a -overwriteFormat = 0x823 \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_Clarity/How_to_make_your_own_Preset.txt b/Enhancement/BreathOfTheWild_Clarity/How_to_make_your_own_Preset.txt deleted file mode 100644 index 32d2ddd9..00000000 --- a/Enhancement/BreathOfTheWild_Clarity/How_to_make_your_own_Preset.txt +++ /dev/null @@ -1,124 +0,0 @@ - - - -- How to set up your own Clarity Preset -- - - ((Required storage space, Approx 2~4GB)) - -=================================================================== - - Hey, it's Serfrost. I'm writing this out because it's come to our attention that no matter what we really do for presets, it won't really matter in the long run. Every user has a unique monitor / display they use with their PC, yeah? A lot of them are calibrated differently, and they often come with numerous presets that alter colors, brightness, contrast, you name it. Because of this, the presets that look good to me might not look good to you--the presets that look good to Jamie might not look good to you; you get the idea. So I'm writing this hoping you'll take the time to do a few short steps to get you on your way to making the game look the way YOU want it to look on YOUR display! - - Jamie has coded this faithfully and diligently, and he's added a lot of different functions that were previously unavailable with these newer updates. We hope you enjoy this and use it to it's fullest potential. - -=================================================================== - - There are 15 steps total. Please read very carefully and with your full attention. As long as you do that, it's relatively just "point and click" and the rest is changing the numbers on your own and testing them to see what they do. - -=================================================================== - - -1) Download & install Visual Studio Community 2017 - - https://www.visualstudio.com/downloads/ - - -2) On the setup window, within the Workload tab, select "Desktop development with C++" - - After installation and setup, close Visual Studio 2017... - - -3) Download & install Nsight for Visual Studio 2017 (You are required to make a Developer Account) - - https://developer.nvidia.com/nsight-visual-studio-edition-downloads - - After installation and setup, re-open Visual Studio 2017 - - -4) Make a new Visual C++ > General > Empty Project (with a name of your choosing, i.e. Clarity) - - -4) In the Solution Explorer pane on the right, right-click your project's name with the ++ icon, select "Nsight User Properties" - - -5) Set the "Launch external program" to your Cemu.exe - - -6) Below that, "Command line arguments", simply set it to "-nsight" -- Then, Ok/Confirm - - -7) Save your project. It can now be reused to skip these steps in the future. - - -===============\ - -Note 1: Transferrable ShaderCache and Precompiled ShaderCache must be either backed-up and deleted, or at least moved to a new location before the next step. You must have an empty Transferrable and Precompiled with no shaders from BotW each time you run Nsight! If Nsight ignores your regular Precompiled, read below. - - Note 2: This should be a one-time step. - - Visual Studio might be saving your shaderCache to a new location based on your working directory, if that happens you'll have to find that directory. Mine was at... - - C:\Users\serfr\source\repos\Clarity\Clarity\shaderCache - - If it indeed does this, open that folder and clear it out. Then right-click the folder, go to Properties, go to Security, and then edit the permissions to Deny all access to any user listed. - - This prevents Visual Studio from saving any shaderCache, which is what you want, since Nsight will not be able to use shaders that have already been turned into shaderCache, effectively skipping over them and screwing up your workflow. - -===============/ - - -8) Nsight menu at the top > Start Graphics Debugging - - -9) After Cemu opens itself, load the game and your save file. - - Note 2: My editing save is set to be at Riverside Stable between the Stable and the 4 trees on the hill. - This allows the shader to always be located as the same number in the next steps for consistency, not - only that, but it gives you a great vantage point to tune your variables. - - -10) Visual Studio: Nsight menu at the top > Windows > Shaders - - -11) Filter: "63" > Wait for the shader to process > Expand 633 > Open Shader Program 632, this should be Clarity. - - -===============\ - - Note 2: If this isn't Clarity, then restart at the previous "Note 1" and load a different save. - -===============/ - - -12) If you've successfully opened the shader as Clarity, then right-click the contents and select "Edit" - - -13) You may now edit all the variables in realtime. To view / compile your changes hit Ctrl + Shift + C - - -===============\ - - Note 3: "Realtime", as in, you can view your changes by using the hotkey. You do not have to stop the game, etc. - - Pro Tip 1: If time changes too fast for you, you can use Cemu > Debug > Custom Timer options to slow down time to 0.125x! - - Pro Tip 2: If you want to chance it, you can use Visual Studio > Nsight Menu > Pause and Capture Frame ... you may then edit the shader with the frame frozen; this keeps time from progressing. Keep in mind it may error, and keep in mind that resuming may heavily glitch the game. - - MAKE SURE YOU CHECK VARIOUS AREAS IN THE GAME TO MAKE SURE YOUR COLOR / SHADOW BALANCING IS CORRECT. - -===============/ - - -14) When you have your variables for your Preset where you want them, Ctrl + A to select all text, then Copy it. - - -15) Paste your entire shader code into a notepad and save it to wherever you want. - - -- Make backups of files before making changes. Keep track of your work! -- - - The new shader.txt file has to be put in the Clarity GFX Pack for it to be used. Make sure you replace the original with your own, or relocate the original somewhere else. Your Preset must be the same name as the original file! 37040a485a29d54e_00000000000003c9_ps_.txt - - === - - MAKE SURE YOU CHECK VARIOUS AREAS IN THE GAME TO MAKE SURE YOUR COLOR / SHADOW BALANCING IS CORRECT. - - === \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_Clarity/Usage_Instructions.txt b/Enhancement/BreathOfTheWild_Clarity/Usage_Instructions.txt deleted file mode 100644 index 1680cc80..00000000 --- a/Enhancement/BreathOfTheWild_Clarity/Usage_Instructions.txt +++ /dev/null @@ -1,9 +0,0 @@ -============================================ - -1. Open the 37040a485a29d54e_00000000000003c9_ps - -2. Pick preset or make your own. - -3. Enable the pack in Cemu in order to test the preset. - -============================================ \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_Clarity/rules.txt b/Enhancement/BreathOfTheWild_Clarity/rules.txt deleted file mode 100644 index 2aa9c950..00000000 --- a/Enhancement/BreathOfTheWild_Clarity/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - Clarity" -version = 2 \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_Contrasty/37040a485a29d54e_00000000000003c9_ps.txt b/Enhancement/BreathOfTheWild_Contrasty/37040a485a29d54e_00000000000003c9_ps.txt deleted file mode 100644 index 2bb14fbe..00000000 --- a/Enhancement/BreathOfTheWild_Contrasty/37040a485a29d54e_00000000000003c9_ps.txt +++ /dev/null @@ -1,135 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// Adjustable Bloom + Tone Mapping + Adjustable Vibrance(Contrasty) - -/*=============================Settings=====================================*/ - -#define adjust_bloom 1 // 0: disable, 1: enable. -const float bloomFactor = 0.7; // 1.0 is neutral [0,1+] - -#define tone_mapping 1 -// -1: disable, loss of bright detail/color but keep [0,1] intact -// 0: (Wii U) BotW original -// 1: ACES Filmic -//---------------"ACES Filmic","disable" Parameters-------------// -const float Exposure = 0.6; // [0.0, 1.0+] Adjust exposure -//---------------------------------------------------------------// - -#define post_process 0 -// -1: disable -// 0: (Wii U) BotW original, only vibrance -// 1: Contrasty -//----------------"BotW original" vibrance adjust-------------// -const float satFactor = 0.25; // 0.18 is neutral. Experimental, adjust native saturation -//---------------------------------------------------------------// -//---------------------"Contrasty" Parameters-----------------// -const float gamma = 0.81; // 1.0 is neutral. Botw is already colour graded at this stage -const float exposure = 1.17; // 1.0 is neutral -const float vibrance = 0.40; // >0: saturate <0: desaturate -const vec3 vibrance_RGB_balance = vec3(1.0,1.0,1.0); // A per channel multiplier to the Vibrance strength so you can give more boost to certain colors over others. -const float crushContrast = 0.000; // 0.0 is neutral. Use small increments, loss of shadow detail -//---------------------------------------------------------------// - -/*==========================================================================*/ - - -// shader bd8bba59e2149449 // bloom(add), tonemap, saturate -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0; //bloom -layout(binding = 1) uniform sampler2D textureUnitPS1; //texture, hdr -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; - -float getL601(vec3 rgb) { - return dot(rgb,vec3(0.2989,0.5866,0.1145)); -} - -float getL709(vec3 rgb) { - return dot(rgb,vec3(0.2126,0.7152,0.0722)); -} - -vec3 BotWToneMap(vec3 color) { - float Lumn = getL601(color); - vec4 exptm = 1.0 - exp(-vec4(color,Lumn)); - vec3 cpre = exptm.w / Lumn * color; - vec3 colorldr = mix(cpre,exptm.rgb,vec3(pow(exptm.w,2.0)));//refine - return colorldr; -} - -vec3 ACESFilm(vec3 color) { - color *= Exposure; - float Lumn = getL709(color); - vec4 tm = vec4(color,Lumn); - tm = (tm*(2.51*tm+0.03))/(tm*(2.43*tm+0.59)+0.14); // tonemap - vec3 cpre = tm.w / Lumn * color; - vec3 colorldr = mix(cpre,tm.rgb,vec3(pow(tm.w,2.0)));//refine - return colorldr; -} - -vec3 BotWVibrance(vec3 color) { - float avg = (color.r + color.g + color.b)/3.0; - float maxc = max(color.r, max(color.g,color.b)); - float w = 1.0 - pow(1.0 - 2.0 * avg, 2.0); - float weight = 1.0 + w * satFactor; - vec3 satcolor = mix(vec3(maxc), color, weight); - return satcolor; -} - -vec3 ReshadeVibrance(vec3 color) { - float max_color = max(color.r, max(color.g, color.b)); // Find the strongest color - float min_color = min(color.r, min(color.g, color.b)); // Find the weakest color - float luma = getL709(color); - float color_saturation = max_color - min_color; // The difference between the two is the saturation - vec3 coeffVibrance = vibrance_RGB_balance * vibrance; - color = mix(vec3(luma), color, 1.0 + (coeffVibrance * (1.0 - (sign(coeffVibrance) * color_saturation)))); - return color; -} - -vec3 Contrasty(vec3 fColour) { - fColour = max(vec3(0.0), fColour - vec3(crushContrast)); - fColour = clamp(exposure * fColour, 0.0, 1.0); - fColour = pow(fColour, vec3(1.0 / gamma)); - fColour = ReshadeVibrance(fColour); // reshade's identical, only a little stronger when at same setting - return fColour; -} - -// bad curve, see reshade curves.fx -//vec3 Contrasty2(vec3 color) { -// color = clamp(color,0.0,1.0); -// vec3 dark = pow(color,vec3(1.0/dark_thr)); -// vec3 bright = pow(color,vec3(1.0/bright_thr)); -// float lumn = getL709(color); -// color = mix(dark,bright,lumn); -// color = ReshadeVibrance(color); -// return color; -//} - -void main() -{ -vec3 bloom = texture(textureUnitPS0, passParameterSem0.xy).xyz; -vec3 color = texture(textureUnitPS1, passParameterSem0.xy).xyz; - -#if (adjust_bloom == 1) -bloom *= bloomFactor; -#endif - -color += bloom; - -#if (tone_mapping == -1) -color = clamp(color*Exposure,0.0,1.0); -#elif (tone_mapping == 0) -color = BotWToneMap(color); -#elif (tone_mapping == 1) -color = ACESFilm(color); -#endif - -#if (post_process == 0) -color = BotWVibrance(color); -#elif (post_process == 1) -color = Contrasty(color); -#endif - -// export -passPixelColor0 = vec4(color, passParameterSem0.w); -} diff --git a/Enhancement/BreathOfTheWild_Contrasty/rules.txt b/Enhancement/BreathOfTheWild_Contrasty/rules.txt deleted file mode 100644 index 8bc71416..00000000 --- a/Enhancement/BreathOfTheWild_Contrasty/rules.txt +++ /dev/null @@ -1,13 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - Contrasty" -version = 2 - -# Credit: -# getdls for contrasty -# lihe@bestminr.com for vibrance logic -# kiri hsv saturation -# navras seperate contrasty from AARemoval - -# approximate ACES Filmic ~ https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/ -# SweetFX Tone mapping by Christian Cann Schuldt Jensen ~ CeeJay.dk \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_LODBias/rules.txt b/Enhancement/BreathOfTheWild_LODBias/rules.txt deleted file mode 100644 index 1e45b3d0..00000000 --- a/Enhancement/BreathOfTheWild_LODBias/rules.txt +++ /dev/null @@ -1,8 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - LOD Bias" -version = 2 - -[TextureRedefine] -formats = 0x31,0x32,0x34,0x35,0x431,0x432,0x433,0x234,0x235 -overwriteRelativeLodBias = -3 diff --git a/Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/37b9100c1310d3bb_0000000000000000_vs.txt b/Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/37b9100c1310d3bb_0000000000000000_vs.txt deleted file mode 100644 index b16634b7..00000000 --- a/Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/37b9100c1310d3bb_0000000000000000_vs.txt +++ /dev/null @@ -1,981 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 37b9100c1310d3bb -// Used for: Camera GUI - -uniform ivec4 uf_uniformRegisterVS[256]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; -float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ - if (v == 0x7FFFFFFF) - return floatBitsToInt(1.0); - else if (v == 0xFFFFFFFF) - return floatBitsToInt(0.0); - return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b) { if (a == 0.0 || b == 0.0) return 0.0; return a*b; } -void main() -{ - - // Check Camera GUI - int hideCamera = 1; - if (uf_uniformRegisterVS[4].w != -1018036225 && uf_uniformRegisterVS[30].y == 0) { - hideCamera = 2; - } - ivec4 R0i = ivec4(0); - ivec4 R1i = ivec4(0); - ivec4 R2i = ivec4(0); - ivec4 R3i = ivec4(0); - ivec4 R4i = ivec4(0); - ivec4 R5i = ivec4(0); - ivec4 R6i = ivec4(0); - ivec4 R7i = ivec4(0); - ivec4 R122i = ivec4(0); - ivec4 R123i = ivec4(0); - ivec4 R124i = ivec4(0); - ivec4 R125i = ivec4(0); - ivec4 R126i = ivec4(0); - ivec4 R127i = ivec4(0); - uvec4 attrDecoder; - int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; - ivec4 PV0i = ivec4(0), PV1i = ivec4(0); - int PS0i = 0, PS1i = 0; - ivec4 tempi = ivec4(0); - float tempResultf; - int tempResulti; - ivec4 ARi = ivec4(0); - bool predResult = true; - bool activeMaskStack[14]; - bool activeMaskStackC[15]; - activeMaskStack[0] = false; - activeMaskStack[1] = false; - activeMaskStack[2] = false; - activeMaskStack[3] = false; - activeMaskStack[4] = false; - activeMaskStack[5] = false; - activeMaskStack[6] = false; - activeMaskStack[7] = false; - activeMaskStack[8] = false; - activeMaskStack[9] = false; - activeMaskStack[10] = false; - activeMaskStack[11] = false; - activeMaskStack[12] = false; - activeMaskStackC[0] = false; - activeMaskStackC[1] = false; - activeMaskStackC[2] = false; - activeMaskStackC[3] = false; - activeMaskStackC[4] = false; - activeMaskStackC[5] = false; - activeMaskStackC[6] = false; - activeMaskStackC[7] = false; - activeMaskStackC[8] = false; - activeMaskStackC[9] = false; - activeMaskStackC[10] = false; - activeMaskStackC[11] = false; - activeMaskStackC[12] = false; - activeMaskStackC[13] = false; - activeMaskStack[0] = true; - activeMaskStackC[0] = true; - activeMaskStackC[1] = true; - vec3 cubeMapSTM; - int cubeMapFaceId; - R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); - attrDecoder.xy = attrDataSem0.xy; - attrDecoder.xy = (attrDecoder.xy >> 24) | ((attrDecoder.xy >> 8) & 0xFF00) | ((attrDecoder.xy << 8) & 0xFF0000) | ((attrDecoder.xy << 24)); - attrDecoder.z = 0; - attrDecoder.w = 0; - R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); - if (activeMaskStackC[1] == true) { - activeMaskStack[1] = activeMaskStack[0]; - activeMaskStackC[2] = activeMaskStackC[1]; - // 0 - PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_uniformRegisterVS[15].x))); - R0i.y = floatBitsToInt(-(intBitsToFloat(R1i.y))); - PV0i.y = R0i.y; - R4i.z = 0; - R0i.w = 0x3f800000; - R127i.w = floatBitsToInt(1.0); - PS0i = R127i.w; - // 1 - R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_uniformRegisterVS[15].z)); - PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_uniformRegisterVS[15].y))); - // 2 - R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_uniformRegisterVS[15].w)); - PV0i.y = R0i.y; - R1i.w = uf_uniformRegisterVS[2].x & 0x40000000; - // 3 - backupReg0i = R0i.w; - R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x), intBitsToFloat(PV0i.y), intBitsToFloat(R4i.z), intBitsToFloat(backupReg0i)), vec4(intBitsToFloat(uf_uniformRegisterVS[4].x), intBitsToFloat(uf_uniformRegisterVS[4].y), intBitsToFloat(uf_uniformRegisterVS[4].z), intBitsToFloat(uf_uniformRegisterVS[4].w)))); - PV1i.x = R127i.x; - PV1i.y = R127i.x; - PV1i.z = R127i.x; - PV1i.w = R127i.x; - // 4 - backupReg0i = R0i.x; - backupReg1i = R0i.w; - tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.y), intBitsToFloat(R4i.z), intBitsToFloat(backupReg1i)), vec4(intBitsToFloat(uf_uniformRegisterVS[5].x), intBitsToFloat(uf_uniformRegisterVS[5].y), intBitsToFloat(uf_uniformRegisterVS[5].z), intBitsToFloat(uf_uniformRegisterVS[5].w)))); - PV0i.x = tempi.x; - PV0i.y = tempi.x; - PV0i.z = tempi.x; - PV0i.w = tempi.x; - R127i.y = tempi.x; - // 5 - backupReg0i = R0i.x; - backupReg1i = R0i.y; - backupReg2i = R0i.w; - tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i), intBitsToFloat(R4i.z), intBitsToFloat(backupReg2i)), vec4(intBitsToFloat(uf_uniformRegisterVS[6].x), intBitsToFloat(uf_uniformRegisterVS[6].y), intBitsToFloat(uf_uniformRegisterVS[6].z), intBitsToFloat(uf_uniformRegisterVS[6].w)))); - PV1i.x = tempi.x; - PV1i.y = tempi.x; - PV1i.z = tempi.x; - PV1i.w = tempi.x; - R127i.z = tempi.x; - // 6 - R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x), intBitsToFloat(R127i.y), intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[8].x), intBitsToFloat(uf_uniformRegisterVS[8].y), intBitsToFloat(uf_uniformRegisterVS[8].z), intBitsToFloat(uf_uniformRegisterVS[8].w)))); - PV0i.x = R6i.x; - PV0i.y = R6i.x; - PV0i.z = R6i.x; - PV0i.w = R6i.x; - // 7 - tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x), intBitsToFloat(R127i.y), intBitsToFloat(R127i.z), intBitsToFloat(R127i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[9].x), intBitsToFloat(uf_uniformRegisterVS[9].y), intBitsToFloat(uf_uniformRegisterVS[9].z), intBitsToFloat(uf_uniformRegisterVS[9].w)))); - PV1i.x = tempi.x; - PV1i.y = tempi.x; - PV1i.z = tempi.x; - PV1i.w = tempi.x; - R6i.y = tempi.x; - // 8 - tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x), intBitsToFloat(R127i.y), intBitsToFloat(R127i.z), intBitsToFloat(R127i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[10].x), intBitsToFloat(uf_uniformRegisterVS[10].y), intBitsToFloat(uf_uniformRegisterVS[10].z), intBitsToFloat(uf_uniformRegisterVS[10].w)))); - PV0i.x = tempi.x; - PV0i.y = tempi.x; - PV0i.z = tempi.x; - PV0i.w = tempi.x; - R6i.z = tempi.x; - // 9 - tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x), intBitsToFloat(R127i.y), intBitsToFloat(R127i.z), intBitsToFloat(R127i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[11].x), intBitsToFloat(uf_uniformRegisterVS[11].y), intBitsToFloat(uf_uniformRegisterVS[11].z), intBitsToFloat(uf_uniformRegisterVS[11].w)))); - PV1i.x = tempi.x; - PV1i.y = tempi.x; - PV1i.z = tempi.x; - PV1i.w = tempi.x; - R6i.w = tempi.x; - // 10 - predResult = (0 != R1i.w); - activeMaskStack[1] = predResult; - activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; - } - else { - activeMaskStack[1] = false; - activeMaskStackC[2] = false; - } - if (activeMaskStackC[2] == true) { - activeMaskStack[2] = activeMaskStack[1]; - activeMaskStackC[3] = activeMaskStackC[2]; - // 0 - R0i.z = uf_uniformRegisterVS[2].x & 0x00000002; - // 1 - predResult = (0 != R0i.z); - activeMaskStack[2] = predResult; - activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; - } - else { - activeMaskStack[2] = false; - activeMaskStackC[3] = false; - } - if (activeMaskStackC[3] == true) { - // 0 - backupReg0i = R1i.y; - R1i.y = backupReg0i; - PV0i.y = R1i.y; - R0i.z = 0; - PV0i.z = R0i.z; - R1i.w = 0x3f800000; - PV0i.w = R1i.w; - // 1 - R2i.xyz = ivec3(R1i.x, PV0i.y, PV0i.z); - R2i.w = PV0i.w; - } - activeMaskStack[2] = activeMaskStack[2] == false; - activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; - if (activeMaskStackC[3] == true) { - // 0 - PS0i = int(intBitsToFloat(R1i.y)); - // 1 - PV1i.x = PS0i << int(1); - PS1i = int(intBitsToFloat(R1i.x)); - // 2 - R126i.z = PV1i.x + PS1i; - PV0i.z = R126i.z; - // 3 - R127i.x = (PV0i.z == 0x00000002) ? int(0xFFFFFFFF) : int(0x0); - PV1i.x = R127i.x; - R127i.y = (PV0i.z == int(1)) ? int(0xFFFFFFFF) : int(0x0); - // 4 - R127i.z = ((PV1i.x == 0) ? (uf_uniformRegisterVS[23].y) : (uf_uniformRegisterVS[22].y)); - R127i.w = ((PV1i.x == 0) ? (uf_uniformRegisterVS[23].x) : (uf_uniformRegisterVS[22].x)); - // 5 - R123i.x = ((R127i.x == 0) ? (uf_uniformRegisterVS[23].w) : (uf_uniformRegisterVS[22].w)); - PV1i.x = R123i.x; - R123i.y = ((R127i.x == 0) ? (uf_uniformRegisterVS[23].z) : (uf_uniformRegisterVS[22].z)); - PV1i.y = R123i.y; - // 6 - R123i.x = ((R127i.y == 0) ? (PV1i.x) : (uf_uniformRegisterVS[21].w)); - PV0i.x = R123i.x; - R123i.y = ((R127i.y == 0) ? (PV1i.y) : (uf_uniformRegisterVS[21].z)); - PV0i.y = R123i.y; - R123i.z = ((R127i.y == 0) ? (R127i.z) : (uf_uniformRegisterVS[21].y)); - PV0i.z = R123i.z; - R123i.w = ((R127i.y == 0) ? (R127i.w) : (uf_uniformRegisterVS[21].x)); - PV0i.w = R123i.w; - // 7 - R2i.x = ((R126i.z == 0) ? (uf_uniformRegisterVS[20].x) : (PV0i.w)); - R2i.y = ((R126i.z == 0) ? (uf_uniformRegisterVS[20].y) : (PV0i.z)); - R2i.z = ((R126i.z == 0) ? (uf_uniformRegisterVS[20].z) : (PV0i.y)); - R2i.w = ((R126i.z == 0) ? (uf_uniformRegisterVS[20].w) : (PV0i.x)); - } - activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; - if (activeMaskStackC[2] == true) { - // 0 - R3i.xyz = ivec3(0x437f0000, 0x437f0000, 0x437f0000); - R3i.w = 0x437f0000; - } - activeMaskStack[1] = activeMaskStack[1] == false; - activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; - if (activeMaskStackC[2] == true) { - activeMaskStack[2] = activeMaskStack[1]; - activeMaskStackC[3] = activeMaskStackC[2]; - // 0 - PV0i.x = uf_uniformRegisterVS[2].x >> 0x00000008; - R2i.y = uf_uniformRegisterVS[2].x & 0x00000002; - // 1 - R1i.z = PV0i.x & 0x0000000f; - // 2 - predResult = (0 != R2i.y); - activeMaskStack[2] = predResult; - activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; - } - else { - activeMaskStack[2] = false; - activeMaskStackC[3] = false; - } - if (activeMaskStackC[3] == true) { - activeMaskStack[3] = activeMaskStack[2]; - activeMaskStackC[4] = activeMaskStackC[3]; - // 0 - R4i.y = R1i.y; - R2i.z = 0; - R1i.w = 0x3f800000; - PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x)); - // 1 - R2i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].x)); - PV1i.x = R2i.x; - R2i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].y)); - PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y)); - // 2 - R3i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS1i)); - PV0i.x = R3i.x; - R3i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS1i)); - R4i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); - PS0i = R4i.x; - // 3 - R5i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(PS0i)); - R0i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); - PV1i.z = R0i.z; - R7i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0); - PS1i = R7i.x; - // 4 - R3i.z = floatBitsToInt(-(intBitsToFloat(R3i.y)) + 1.0); - R2i.w = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(PV1i.z)); - // 5 - predResult = (R1i.z == 0); - activeMaskStack[3] = predResult; - activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; - } - else { - activeMaskStack[3] = false; - activeMaskStackC[4] = false; - } - if (activeMaskStackC[4] == true) { - // 0 - backupReg0i = R2i.x; - R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i))); - R2i.y = R3i.x; - PV0i.y = R2i.y; - // 1 - R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); - } - activeMaskStack[3] = activeMaskStack[3] == false; - activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; - if (activeMaskStackC[4] == true) { - activeMaskStack[4] = activeMaskStack[3]; - activeMaskStackC[5] = activeMaskStackC[4]; - // 0 - predResult = (R1i.z == int(1)); - activeMaskStack[4] = predResult; - activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; - } - else { - activeMaskStack[4] = false; - activeMaskStackC[5] = false; - } - if (activeMaskStackC[5] == true) { - // 0 - backupReg0i = R2i.y; - R2i.y = 0; - PV0i.y = R2i.y; - PV0i.z = R3i.x; - PV0i.w = backupReg0i; - // 1 - R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x))); - R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); - } - activeMaskStack[4] = activeMaskStack[4] == false; - activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true; - if (activeMaskStackC[5] == true) { - activeMaskStack[5] = activeMaskStack[4]; - activeMaskStackC[6] = activeMaskStackC[5]; - // 0 - predResult = (R1i.z == 0x00000002); - activeMaskStack[5] = predResult; - activeMaskStackC[6] = predResult == true && activeMaskStackC[5] == true; - } - else { - activeMaskStack[5] = false; - activeMaskStackC[6] = false; - } - if (activeMaskStackC[6] == true) { - // 0 - backupReg0i = R3i.y; - R3i.y = backupReg0i; - PV0i.y = R3i.y; - PV0i.z = R3i.z; - PV0i.w = 0; - // 1 - backupReg0i = R2i.x; - R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); - R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); - } - activeMaskStack[5] = activeMaskStack[5] == false; - activeMaskStackC[6] = activeMaskStack[5] == true && activeMaskStackC[5] == true; - if (activeMaskStackC[6] == true) { - activeMaskStack[6] = activeMaskStack[5]; - activeMaskStackC[7] = activeMaskStackC[6]; - // 0 - predResult = (R1i.z == 0x00000003); - activeMaskStack[6] = predResult; - activeMaskStackC[7] = predResult == true && activeMaskStackC[6] == true; - } - else { - activeMaskStack[6] = false; - activeMaskStackC[7] = false; - } - if (activeMaskStackC[7] == true) { - // 0 - backupReg0i = R2i.y; - R2i.y = R3i.z; - PV0i.y = R2i.y; - PV0i.z = R3i.y; - PV0i.w = backupReg0i; - // 1 - R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x))); - R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); - } - activeMaskStack[6] = activeMaskStack[6] == false; - activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true; - if (activeMaskStackC[7] == true) { - activeMaskStack[7] = activeMaskStack[6]; - activeMaskStackC[8] = activeMaskStackC[7]; - // 0 - predResult = (R1i.z == 0x00000004); - activeMaskStack[7] = predResult; - activeMaskStackC[8] = predResult == true && activeMaskStackC[7] == true; - } - else { - activeMaskStack[7] = false; - activeMaskStackC[8] = false; - } - if (activeMaskStackC[8] == true) { - // 0 - R2i.y = R2i.w; - PV0i.y = R2i.y; - PV0i.z = R3i.x; - PV0i.w = 0; - // 1 - backupReg0i = R2i.x; - R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); - R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); - } - activeMaskStack[7] = activeMaskStack[7] == false; - activeMaskStackC[8] = activeMaskStack[7] == true && activeMaskStackC[7] == true; - if (activeMaskStackC[8] == true) { - activeMaskStack[8] = activeMaskStack[7]; - activeMaskStackC[9] = activeMaskStackC[8]; - // 0 - predResult = (R1i.z == 0x00000005); - activeMaskStack[8] = predResult; - activeMaskStackC[9] = predResult == true && activeMaskStackC[8] == true; - } - else { - activeMaskStack[8] = false; - activeMaskStackC[9] = false; - } - if (activeMaskStackC[9] == true) { - // 0 - backupReg0i = R2i.y; - R2i.y = R3i.x; - PV0i.y = R2i.y; - PV0i.z = R2i.w; - PV0i.w = backupReg0i; - // 1 - R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x))); - R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); - } - activeMaskStack[8] = activeMaskStack[8] == false; - activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true; - if (activeMaskStackC[9] == true) { - activeMaskStack[9] = activeMaskStack[8]; - activeMaskStackC[10] = activeMaskStackC[9]; - // 0 - predResult = (R1i.z == 0x00000006); - activeMaskStack[9] = predResult; - activeMaskStackC[10] = predResult == true && activeMaskStackC[9] == true; - } - else { - activeMaskStack[9] = false; - activeMaskStackC[10] = false; - } - if (activeMaskStackC[10] == true) { - // 0 - R2i.y = R3i.x; - PV0i.y = R2i.y; - R3i.y = 0; - PS0i = R3i.y; - // 1 - backupReg0i = R2i.x; - R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i))); - R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i))); - } - activeMaskStack[9] = activeMaskStack[9] == false; - activeMaskStackC[10] = activeMaskStack[9] == true && activeMaskStackC[9] == true; - if (activeMaskStackC[10] == true) { - activeMaskStack[10] = activeMaskStack[9]; - activeMaskStackC[11] = activeMaskStackC[10]; - // 0 - predResult = (R1i.z == 0x00000007); - activeMaskStack[10] = predResult; - activeMaskStackC[11] = predResult == true && activeMaskStackC[10] == true; - } - else { - activeMaskStack[10] = false; - activeMaskStackC[11] = false; - } - if (activeMaskStackC[11] == true) { - // 0 - backupReg0i = R2i.x; - R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i))); - R2i.y = R3i.y; - PV0i.y = R2i.y; - R3i.y = R3i.z; - PS0i = R3i.y; - // 1 - R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i))); - } - activeMaskStack[10] = activeMaskStack[10] == false; - activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true; - if (activeMaskStackC[11] == true) { - activeMaskStack[11] = activeMaskStack[10]; - activeMaskStackC[12] = activeMaskStackC[11]; - // 0 - predResult = (R1i.z == 0x00000008); - activeMaskStack[11] = predResult; - activeMaskStackC[12] = predResult == true && activeMaskStackC[11] == true; - } - else { - activeMaskStack[11] = false; - activeMaskStackC[12] = false; - } - if (activeMaskStackC[12] == true) { - // 0 - R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x))); - R2i.y = R3i.x; - PV0i.y = R2i.y; - // 1 - R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); - } - activeMaskStack[11] = activeMaskStack[11] == false; - activeMaskStackC[12] = activeMaskStack[11] == true && activeMaskStackC[11] == true; - if (activeMaskStackC[12] == true) { - activeMaskStack[12] = activeMaskStack[11]; - activeMaskStackC[13] = activeMaskStackC[12]; - // 0 - predResult = (R1i.z == 0x00000009); - activeMaskStack[12] = predResult; - activeMaskStackC[13] = predResult == true && activeMaskStackC[12] == true; - } - else { - activeMaskStack[12] = false; - activeMaskStackC[13] = false; - } - if (activeMaskStackC[13] == true) { - // 0 - backupReg0i = R2i.y; - R2i.y = 0; - PV0i.y = R2i.y; - PV0i.z = R3i.z; - PV0i.w = backupReg0i; - // 1 - R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x))); - R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); - } - activeMaskStack[12] = activeMaskStack[12] == false; - activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true; - if (activeMaskStackC[13] == true) { - activeMaskStack[13] = activeMaskStack[12]; - activeMaskStackC[14] = activeMaskStackC[13]; - // 0 - predResult = (R1i.z == 0x0000000a); - activeMaskStack[13] = predResult; - activeMaskStackC[14] = predResult == true && activeMaskStackC[13] == true; - } - else { - activeMaskStack[13] = false; - activeMaskStackC[14] = false; - } - if (activeMaskStackC[14] == true) { - // 0 - R2i.y = R0i.z; - PV0i.y = R2i.y; - PV0i.z = R3i.x; - PV0i.w = 0; - // 1 - backupReg0i = R2i.x; - R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); - R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); - } - activeMaskStack[13] = activeMaskStack[13] == false; - activeMaskStackC[14] = activeMaskStack[13] == true && activeMaskStackC[13] == true; - if (activeMaskStackC[14] == true) { - // 0 - PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x))); - R2i.y = R2i.w; - PV0i.y = R2i.y; - R127i.z = (R1i.z == 0x0000000c) ? int(0xFFFFFFFF) : int(0x0); - PV0i.z = R127i.z; - R127i.w = (R1i.z == 0x0000000b) ? int(0xFFFFFFFF) : int(0x0); - // 1 - PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); - R2i.y = R3i.z; - PV1i.y = R2i.y; - R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R4i.x)) + intBitsToFloat(R2i.x))); - PV1i.z = R123i.z; - R123i.w = ((PV0i.z == 0) ? (0) : (PV0i.x)); - PV1i.w = R123i.w; - // 2 - R2i.x = ((R127i.w == 0) ? (PV1i.w) : (PV1i.z)); - R123i.z = ((R127i.z == 0) ? (0) : (PV1i.x)); - PV0i.z = R123i.z; - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R3i.y)) + intBitsToFloat(PV1i.y))); - PV0i.w = R123i.w; - // 3 - R2i.y = ((R127i.w == 0) ? (PV0i.z) : (PV0i.w)); - } - activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true; - activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true; - activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true; - activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true; - activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true; - activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; - if (activeMaskStackC[3] == true) { - // 0 - R127i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0); - PV0i.x = R127i.x; - R126i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + 1.0); - // 1 - PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].w))); - PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].z))); - PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].y))); - PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].x))); - // 2 - R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[18].w)) + intBitsToFloat(PV1i.x))); - R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[18].z)) + intBitsToFloat(PV1i.y))); - R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[18].y)) + intBitsToFloat(PV1i.z))); - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[18].x)) + intBitsToFloat(PV1i.w))); - PV0i.w = R123i.w; - // 3 - PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].w))); - PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].z))); - PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].y))); - PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].x))); - R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w))); - PS1i = R127i.w; - // 4 - backupReg0i = R127i.z; - R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[19].w)) + intBitsToFloat(PV1i.x))); - R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[19].z)) + intBitsToFloat(PV1i.y))); - R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[19].y)) + intBitsToFloat(PV1i.z))); - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[19].x)) + intBitsToFloat(PV1i.w))); - PV0i.w = R123i.w; - R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg0i))); - PS0i = R126i.z; - // 5 - PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x))); - PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y))); - R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); - PS1i = R3i.x; - // 6 - R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z))); - R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y))); - R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); - // 7 - backupReg0i = R2i.z; - R2i.xyz = ivec3(R1i.x, R4i.y, backupReg0i); - R2i.w = R1i.w; - } - activeMaskStack[2] = activeMaskStack[2] == false; - activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; - if (activeMaskStackC[3] == true) { - activeMaskStack[3] = activeMaskStack[2]; - activeMaskStackC[4] = activeMaskStackC[3]; - // 0 - PS0i = int(intBitsToFloat(R1i.y)); - // 1 - PV1i.z = PS0i << int(1); - PS1i = int(intBitsToFloat(R1i.x)); - // 2 - R0i.z = PV1i.z + PS1i; - PV0i.z = R0i.z; - // 3 - R127i.x = (PV0i.z == 0x00000002) ? int(0xFFFFFFFF) : int(0x0); - PV1i.x = R127i.x; - R127i.y = (PV0i.z == int(1)) ? int(0xFFFFFFFF) : int(0x0); - // 4 - R127i.z = ((PV1i.x == 0) ? (uf_uniformRegisterVS[23].y) : (uf_uniformRegisterVS[22].y)); - R127i.w = ((PV1i.x == 0) ? (uf_uniformRegisterVS[23].x) : (uf_uniformRegisterVS[22].x)); - // 5 - R123i.x = ((R127i.x == 0) ? (uf_uniformRegisterVS[23].w) : (uf_uniformRegisterVS[22].w)); - PV1i.x = R123i.x; - R123i.y = ((R127i.x == 0) ? (uf_uniformRegisterVS[23].z) : (uf_uniformRegisterVS[22].z)); - PV1i.y = R123i.y; - // 6 - R123i.x = ((R127i.y == 0) ? (PV1i.x) : (uf_uniformRegisterVS[21].w)); - PV0i.x = R123i.x; - R123i.y = ((R127i.y == 0) ? (PV1i.y) : (uf_uniformRegisterVS[21].z)); - PV0i.y = R123i.y; - R123i.z = ((R127i.y == 0) ? (R127i.z) : (uf_uniformRegisterVS[21].y)); - PV0i.z = R123i.z; - R123i.w = ((R127i.y == 0) ? (R127i.w) : (uf_uniformRegisterVS[21].x)); - PV0i.w = R123i.w; - // 7 - R2i.x = ((R0i.z == 0) ? (uf_uniformRegisterVS[20].x) : (PV0i.w)); - R2i.y = ((R0i.z == 0) ? (uf_uniformRegisterVS[20].y) : (PV0i.z)); - R2i.z = ((R0i.z == 0) ? (uf_uniformRegisterVS[20].z) : (PV0i.y)); - R2i.w = ((R0i.z == 0) ? (uf_uniformRegisterVS[20].w) : (PV0i.x)); - // 8 - predResult = (R1i.z == 0x0000000d); - activeMaskStack[3] = predResult; - activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; - } - else { - activeMaskStack[3] = false; - activeMaskStackC[4] = false; - } - if (activeMaskStackC[4] == true) { - // 0 - PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y)); - // 1 - PV1i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS0i)); - PV1i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS0i)); - PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x)); - // 2 - R127i.x = PV1i.z; - R127i.y = PV1i.w; - PV0i.y = R127i.y; - R127i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].x)); - PV0i.z = R127i.z; - R127i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].y)); - // 3 - PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); - PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); - // 4 - PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z)); - PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w)); - // 5 - backupReg0i = R127i.z; - R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.y))); - PV1i.z = R127i.z; - R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); - PV1i.w = R126i.w; - // 6 - R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); - PV0i.x = R127i.x; - R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); - // 7 - PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].w))); - PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].z))); - PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].y))); - PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].x))); - // 8 - R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_uniformRegisterVS[18].w)) + intBitsToFloat(PV1i.x))); - R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_uniformRegisterVS[18].z)) + intBitsToFloat(PV1i.y))); - R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_uniformRegisterVS[18].y)) + intBitsToFloat(PV1i.z))); - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_uniformRegisterVS[18].x)) + intBitsToFloat(PV1i.w))); - PV0i.w = R123i.w; - // 9 - PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].w))); - PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].z))); - PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].y))); - PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].x))); - R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w))); - PS1i = R127i.w; - // 10 - backupReg0i = R127i.z; - backupReg0i = R127i.z; - backupReg1i = R126i.z; - R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_uniformRegisterVS[19].w)) + intBitsToFloat(PV1i.x))); - R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_uniformRegisterVS[19].z)) + intBitsToFloat(PV1i.y))); - R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_uniformRegisterVS[19].y)) + intBitsToFloat(PV1i.z))); - R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_uniformRegisterVS[19].x)) + intBitsToFloat(PV1i.w))); - PV0i.w = R123i.w; - R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg1i))); - PS0i = R126i.z; - // 11 - PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x))); - PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y))); - R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); - PS1i = R3i.x; - // 12 - R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z))); - R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y))); - R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); - } - activeMaskStack[3] = activeMaskStack[3] == false; - activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; - if (activeMaskStackC[4] == true) { - // 0 - R127i.x = floatBitsToInt(float(R0i.z)); - PS0i = R127i.x; - // 1 - tempResultf = intBitsToFloat(PS0i); - tempResultf = floor(tempResultf); - tempResultf = clamp(tempResultf, -256.0, 255.0); - ARi.x = int(tempResultf); - PV1i.x = floatBitsToInt(tempResultf); - // 2 - R3i.xyz = ivec3(uf_uniformRegisterVS[ARi.x + 16].x, uf_uniformRegisterVS[ARi.x + 16].y, uf_uniformRegisterVS[ARi.x + 16].z); - R3i.w = uf_uniformRegisterVS[ARi.x + 16].w; - } - activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; - activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; - if (activeMaskStackC[1] == true) { - activeMaskStack[1] = activeMaskStack[0]; - activeMaskStackC[2] = activeMaskStackC[1]; - // 0 - predResult = (0 != uf_uniformRegisterVS[3].x); - activeMaskStack[1] = predResult; - activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; - } - else { - activeMaskStack[1] = false; - activeMaskStackC[2] = false; - } - if (activeMaskStackC[2] == true) { - // 0 - backupReg0i = R0i.y; - backupReg1i = R0i.w; - R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x), intBitsToFloat(backupReg0i), intBitsToFloat(R4i.z), intBitsToFloat(backupReg1i)), vec4(intBitsToFloat(uf_uniformRegisterVS[20].x), intBitsToFloat(uf_uniformRegisterVS[20].y), intBitsToFloat(uf_uniformRegisterVS[20].z), intBitsToFloat(uf_uniformRegisterVS[20].w)))); - PV0i.x = R2i.x; - PV0i.y = R2i.x; - PV0i.z = R2i.x; - PV0i.w = R2i.x; - // 1 - backupReg0i = R0i.x; - backupReg1i = R0i.w; - tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.y), intBitsToFloat(R4i.z), intBitsToFloat(backupReg1i)), vec4(intBitsToFloat(uf_uniformRegisterVS[21].x), intBitsToFloat(uf_uniformRegisterVS[21].y), intBitsToFloat(uf_uniformRegisterVS[21].z), intBitsToFloat(uf_uniformRegisterVS[21].w)))); - PV1i.x = tempi.x; - PV1i.y = tempi.x; - PV1i.z = tempi.x; - PV1i.w = tempi.x; - R2i.y = tempi.x; - // 2 - backupReg0i = R0i.x; - backupReg1i = R0i.y; - backupReg2i = R0i.w; - tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i), intBitsToFloat(R4i.z), intBitsToFloat(backupReg2i)), vec4(intBitsToFloat(uf_uniformRegisterVS[22].x), intBitsToFloat(uf_uniformRegisterVS[22].y), intBitsToFloat(uf_uniformRegisterVS[22].z), intBitsToFloat(uf_uniformRegisterVS[22].w)))); - PV0i.x = tempi.x; - PV0i.y = tempi.x; - PV0i.z = tempi.x; - PV0i.w = tempi.x; - R2i.z = tempi.x; - // 3 - backupReg0i = R0i.x; - backupReg1i = R0i.y; - tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i), intBitsToFloat(R4i.z), intBitsToFloat(R0i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[23].x), intBitsToFloat(uf_uniformRegisterVS[23].y), intBitsToFloat(uf_uniformRegisterVS[23].z), intBitsToFloat(uf_uniformRegisterVS[23].w)))); - PV1i.x = tempi.x; - PV1i.y = tempi.x; - PV1i.z = tempi.x; - PV1i.w = tempi.x; - R2i.w = tempi.x; - } - activeMaskStack[1] = activeMaskStack[1] == false; - activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; - if (activeMaskStackC[2] == true) { - activeMaskStack[2] = activeMaskStack[1]; - activeMaskStackC[3] = activeMaskStackC[2]; - // 0 - R0i.z = uf_uniformRegisterVS[2].x & int(1); - // 1 - predResult = (0 != R0i.z); - activeMaskStack[2] = predResult; - activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; - } - else { - activeMaskStack[2] = false; - activeMaskStackC[3] = false; - } - if (activeMaskStackC[3] == true) { - activeMaskStack[3] = activeMaskStack[2]; - activeMaskStackC[4] = activeMaskStackC[3]; - // 0 - R0i.y = uf_uniformRegisterVS[2].x & 0x00000002; - // 1 - predResult = (0 != R0i.y); - activeMaskStack[3] = predResult; - activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; - } - else { - activeMaskStack[3] = false; - activeMaskStackC[4] = false; - } - if (activeMaskStackC[4] == true) { - // 0 - R127i.x = uf_uniformRegisterVS[2].x & 0x00010000; - R127i.y = uf_uniformRegisterVS[2].x & 0x00000010; - PV0i.y = R127i.y; - R125i.z = uf_uniformRegisterVS[2].x & 0x00000004; - R127i.w = uf_uniformRegisterVS[2].x & 0x00000020; - // 1 - PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].y), intBitsToFloat(uf_uniformRegisterVS[12].y))); - PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].x), intBitsToFloat(uf_uniformRegisterVS[12].x))); - PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].y), intBitsToFloat(uf_uniformRegisterVS[12].x))); - PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].x), intBitsToFloat(uf_uniformRegisterVS[12].y))); - R127i.z = ((PV0i.y == 0) ? (R2i.y) : (R2i.y)); - PS1i = R127i.z; - // 2 - R123i.x = ((R127i.y == 0) ? (R2i.w) : (R2i.w)); - PV0i.x = R123i.x; - R123i.y = ((R127i.y == 0) ? (R2i.z) : (R2i.z)); - PV0i.y = R123i.y; - R126i.z = ((R127i.x == 0) ? (PV1i.x) : (PV1i.z)); - PV0i.z = R126i.z; - R123i.w = ((R127i.x == 0) ? (PV1i.y) : (PV1i.w)); - PV0i.w = R123i.w; - R124i.y = uf_uniformRegisterVS[2].x & 0x00000008; - PS0i = R124i.y; - // 3 - R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PV0i.w))); - PV1i.x = R0i.x; - R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); - PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); - R123i.w = ((R127i.w == 0) ? (PV0i.y) : (PV0i.y)); - PV1i.w = R123i.w; - R122i.x = ((R127i.w == 0) ? (PV0i.x) : (PV0i.x)); - PS1i = R122i.x; - // 4 - backupReg0i = R127i.y; - R123i.x = ((R127i.w == 0) ? (R127i.z) : (PV1i.z)); - PV0i.x = R123i.x; - R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); - R127i.z = ((R125i.z == 0) ? (PV1i.w) : (PV1i.w)); - R123i.w = ((backupReg0i == 0) ? (R2i.x) : (PV1i.x)); - PV0i.w = R123i.w; - R126i.z = ((R125i.z == 0) ? (PS1i) : (PS1i)); - PS0i = R126i.z; - // 5 - R127i.x = ((R125i.z == 0) ? (PV0i.x) : (PV0i.x)); - PV1i.x = R127i.x; - R125i.y = ((R127i.w == 0) ? (PV0i.w) : (PV0i.w)); - PV1i.y = R125i.y; - // 6 - R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.y)); - PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.y)); - // 7 - R123i.y = ((R125i.z == 0) ? (R125i.y) : (PV0i.z)); - PV1i.y = R123i.y; - // 8 - R2i.x = ((R124i.y == 0) ? (PV1i.y) : (PV1i.y)); - R2i.y = ((R124i.y == 0) ? (R127i.x) : (R126i.x)); - R2i.z = ((R124i.y == 0) ? (R127i.z) : (R127i.z)); - R2i.w = ((R124i.y == 0) ? (R126i.z) : (R126i.z)); - PS0i = R2i.w; - } - activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; - if (activeMaskStackC[3] == true) { - // 0 - R0i.x = floatBitsToInt(-(intBitsToFloat(R2i.x)) + 1.0); - PV0i.x = R0i.x; - R126i.y = uf_uniformRegisterVS[2].x & 0x00010000; - R127i.z = uf_uniformRegisterVS[2].x & 0x00040000; - PV0i.w = uf_uniformRegisterVS[2].x & 0x00020000; - // 1 - R123i.x = ((PV0i.w == 0) ? (R2i.z) : (R2i.z)); - PV1i.x = R123i.x; - R127i.y = ((PV0i.w == 0) ? (R2i.y) : (R2i.y)); - PV1i.y = R127i.y; - R123i.z = ((PV0i.w == 0) ? (R2i.x) : (PV0i.x)); - PV1i.z = R123i.z; - R123i.w = ((PV0i.w == 0) ? (R2i.w) : (R2i.w)); - PV1i.w = R123i.w; - // 2 - R127i.x = ((R127i.z == 0) ? (PV1i.z) : (PV1i.z)); - PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); - R126i.z = ((R127i.z == 0) ? (PV1i.x) : (PV1i.x)); - R127i.w = ((R127i.z == 0) ? (PV1i.w) : (PV1i.w)); - // 3 - R123i.w = ((R127i.z == 0) ? (R127i.y) : (PV0i.y)); - PV1i.w = R123i.w; - // 4 - R2i.x = ((R126i.y == 0) ? (R127i.x) : (PV1i.w)); - R2i.y = ((R126i.y == 0) ? (PV1i.w) : (R127i.x)); - R2i.z = ((R126i.y == 0) ? (R126i.z) : (R126i.z)); - R2i.w = ((R126i.y == 0) ? (R127i.w) : (R127i.w)); - } - activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; - if (activeMaskStackC[1] == true) { - // 0 - tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[14].x), intBitsToFloat(uf_uniformRegisterVS[14].y), intBitsToFloat(uf_uniformRegisterVS[14].z), intBitsToFloat(uf_uniformRegisterVS[14].w)))); - PV0i.x = tempi.x; - PV0i.y = tempi.x; - PV0i.z = tempi.x; - PV0i.w = tempi.x; - // 1 - PV1i.x = PV0i.x; - R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(uf_uniformRegisterVS[0].y))); - R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(uf_uniformRegisterVS[0].z))); - R1i.w = PV0i.x; - R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(uf_uniformRegisterVS[0].x))); - PS1i = R0i.x; - // 2 - R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[13].x), intBitsToFloat(uf_uniformRegisterVS[13].y), intBitsToFloat(uf_uniformRegisterVS[13].z), intBitsToFloat(uf_uniformRegisterVS[13].w)))); - PV0i.x = R1i.x; - PV0i.y = R1i.x; - PV0i.z = R1i.x; - PV0i.w = R1i.x; - R1i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); - PS0i = R1i.y; - // 3 - R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(uf_uniformRegisterVS[0].w))); - } - // export - gl_Position = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z)*hideCamera, intBitsToFloat(R6i.w)); - // export - passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); - // export - passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w)); -} diff --git a/Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/3e0262467e8add7d_0000000000000000_vs.txt b/Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/3e0262467e8add7d_0000000000000000_vs.txt deleted file mode 100644 index af9e7751..00000000 --- a/Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/3e0262467e8add7d_0000000000000000_vs.txt +++ /dev/null @@ -1,125 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 3e0262467e8add7d -// Used for: Some leftovers from the Camera GUI - -uniform ivec4 uf_remappedVS[4]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem2.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem0.xyzw)/255.0); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem1.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); - - -int hideText = 1; -if (uf_remappedVS[0].w == -1012724819) { - hideText = 2; -} - - -// 0 -R126i.x = 0; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R1i.w))); -R127i.z = ((0.0 > intBitsToFloat(R2i.z))?int(0xFFFFFFFF):int(0x0)); -PV0i.z = R127i.z; -R127i.w = 0x3f800000; -PV0i.w = R127i.w; -R127i.x = floatBitsToInt(-(intBitsToFloat(R2i.z)) + -(1.0)); -PS0i = R127i.x; -// 1 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w)))); -PV1i.x = R0i.x; -PV1i.y = R0i.x; -PV1i.z = R0i.x; -PV1i.w = R0i.x; -R4i.w = ((PV0i.z == 0)?(R1i.w):(PV0i.y)); -PS1i = R4i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.y = tempi.x; -R5i.z = ((R127i.z == 0)?(R2i.z):(R127i.x)); -PS0i = R5i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.z = tempi.x; -R4i.x = ((R127i.z == 0)?(R1i.x):(R1i.x)); -PS1i = R4i.x; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.w = tempi.x; -R4i.y = ((R127i.z == 0)?(R1i.y):(R1i.y)); -PS0i = R4i.y; -// 5 -R5i.x = ((R127i.z == 0)?(R2i.x):(R2i.x)); -R5i.y = ((R127i.z == 0)?(R2i.y):(R2i.y)); -R4i.z = ((R127i.z == 0)?(R1i.z):(R1i.z)); -// 6 -R5i.w = ((R127i.z == 0)?(R126i.x):(R126i.x)); -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z)*hideText, intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -} \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/a8f3ec17a11d4a50_0000000000000000_vs.txt b/Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/a8f3ec17a11d4a50_0000000000000000_vs.txt deleted file mode 100644 index 787e2b42..00000000 --- a/Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/a8f3ec17a11d4a50_0000000000000000_vs.txt +++ /dev/null @@ -1,161 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader a8f3ec17a11d4a50 -// Used for: Specific removing of text - -bool CameraObjectLabel = false; -// Enable if you want to... -// - See the orange colored label from any objects in the camera view. Example: The orange text shown on this photo https://i.pinimg.com/originals/dd/88/68/dd8868f7bb9cf6497ecd0307fd3ce82f.jpg -// - See the 'x' character next to e.g. your 'x6 Mighty Bananas'. (Minor unsolvable bug). -// False (default) if you want to... -// - Take selfies without the orange labels of your weapon or nearby objects. - - - -bool hideAllText = false; -// False is default, true is turned on. Does what the name suggests, affects most text, not recommended for actual gameplay. - - - - - - - - -// ------------------------------- - -uniform ivec4 uf_remappedVS[4]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem2.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem0.xyzw)/255.0); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem1.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); - -// Specifically target text with code that uses constants from both uniforms and inputs. These variables and code shouldn't be touched!!! Use the options above for proper controls. -int hideText = 1; - -if (attrDataSem2.y <= 2000000000) { // This separates the orange label text from the inventory number. Removes the 'x' with the label, but does make the inventory numbers not disappear with the label text. - if (!CameraObjectLabel) { - hideText = 0; - } -} - -if (uf_remappedVS[0].w == -1052388992 || uf_remappedVS[0].w == 1093474128 || (uf_remappedVS[0].w == 0 && uf_remappedVS[1].w != 0) || hideAllText) { // Code that specifically targets text. It separates the text being drawn with differences in the uniform. - hideText = 2; -} - - -if ((uf_remappedVS[0].x == 1069928832 && uf_remappedVS[0].y == 0 && uf_remappedVS[0].z == 0) && -(uf_remappedVS[1].x == 0 && uf_remappedVS[1].y == -1070606677 && uf_remappedVS[1].z == 0) && -(uf_remappedVS[2].x == 0 && uf_remappedVS[2].y == 0 && uf_remappedVS[2].z == -1082128754 && uf_remappedVS[2].w == 1148637833) && -(uf_remappedVS[3].x == 0 && uf_remappedVS[3].y == 0 && uf_remappedVS[3].z == -1082130432 && uf_remappedVS[3].w == 1148667362)) { - hideText += 1; -} - -// 0 -R126i.x = 0; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R1i.w))); -R127i.z = ((0.0 > intBitsToFloat(R2i.z))?int(0xFFFFFFFF):int(0x0)); -PV0i.z = R127i.z; -R127i.w = 0x3f800000; -PV0i.w = R127i.w; -R127i.x = floatBitsToInt(-(intBitsToFloat(R2i.z)) + -(1.0)); -PS0i = R127i.x; -// 1 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w)))); -PV1i.x = R0i.x; -PV1i.y = R0i.x; -PV1i.z = R0i.x; -PV1i.w = R0i.x; -R4i.w = ((PV0i.z == 0)?(R1i.w):(PV0i.y)); -PS1i = R4i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.y = tempi.x; -R5i.z = ((R127i.z == 0)?(R2i.z):(R127i.x)); -PS0i = R5i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.z = tempi.x; -R4i.x = ((R127i.z == 0)?(R1i.x):(R1i.x)); -PS1i = R4i.x; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.w = tempi.x; -R4i.y = ((R127i.z == 0)?(R1i.y):(R1i.y)); -PS0i = R4i.y; -// 5 -R5i.x = ((R127i.z == 0)?(R2i.x):(R2i.x)); -R5i.y = ((R127i.z == 0)?(R2i.y):(R2i.y)); -R4i.z = ((R127i.z == 0)?(R1i.z):(R1i.z)); -// 6 -R5i.w = ((R127i.z == 0)?(R126i.x):(R126i.x)); - -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z)*hideText, intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -} \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/rules.txt b/Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/rules.txt deleted file mode 100644 index be6a75f8..00000000 --- a/Enhancement/BreathOfTheWild_MinimalisticGUI/CleanCameraRune[Experimental]/rules.txt +++ /dev/null @@ -1,395 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - Minimalistic GUI V1.0". -version = 2 - -# This pack changes the GUI to a modern looking GUI and cleans up things like menu's and the camera rune. -# Minor (random, might be better/worse) gameplay compromises. - -# Some small text bugs: -# - e.g. missing the 'x' character from 'x6 Mighty Bananas'. Can be fixed in the shader file named `a8f3ec17a11d4a50_0000000000000000_vs.txt`, where you can find more info. -# - Missing bonus modifier text from inventory screen. -# - Holding items in the inventory or having a second or third etc.. loading screen seems to break text and HUD prompts after you've done this. -# - Might be related to the thing above, random texture corruption from rules.txt, not aware of any solution. Probably the circumstances, but it seems like some memory leak issue. Higher GPU accuracy and drawDone could decrease how often/fast it appears. - -# If you find more bugs you can make an issue on the Github repository. If you don't want/have a github account, you can also leave a message in the gfx_packs channel in the official Cemu discord. - - -# This pack got renamed from CleanCameraRune pack due to it no longer affecting gameplay and having several menu changes. -# ----------------------------------------------------------------- - - -# >>> Camera UI <<< -#[TextureRedefine] # Disable Photo Lock, already disabled!!! # 239df000_fmt0034_mip00_200x200_tm04_sw00000000.bmp -#width = 200 -#height = 200 -#formats = 0x034 -#tilemodes = 4 -#overwriteHeight = 1 -#overwriteWidth = 1 -# Affects leaves (and maybe more)! - -[TextureRedefine] # Disable Sheikah Opening Animation # 238dd000_fmt0034_mip00_314x358_tm04_sw00000700.bmp -width = 314 -height = 358 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # UNORM -> SNORM - -[TextureRedefine] # Removes Storage Numbers # f4252800_fmt001a_mip00_24x24_tm04_sw00000000.bmp -width = 24 -height = 24 -formats = 0x001a -tilemodes = 4 -overwriteFormat = 0x021a # UNORM -> SNORM - -[TextureRedefine] # Remove the zoom triangle # 229f1000_fmt0034_mip00_75x75_tm04_sw00000000.bmp -width = 75 -height = 75 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # Remove the zoom line # 236ad000_fmt0034_mip00_8x8_tm02_sw00000000.bmp -width = 8 -height = 8 -formats = 0x034 -tilemodes = 2 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # Remove the orange borders # 23379900_fmt0034_mip00_26x26_tm02_sw00000000.bmp -width = 26 -height = 26 -formats = 0x034 -tilemodes = 2 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - - -# >>> MISC <<< -[TextureRedefine] # Disable Camera Vignette # 2330e000_fmt0034_mip00_242x162_tm04_sw00000100.bmp -width = 242 -height = 162 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # Disable Background 'Lines' # 2258b000_fmt0034_mip00_13x305_tm04_sw00000400.bmp -width = 13 -height = 305 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # Removing Border Runes # 2005e000_fmt0034_mip00_32x1024_tm04_sw00000000.bmp -width = 32 -height = 1024 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # Removing Background # 228d9000_fmt0034_mip00_512x512_tm04_sw00000300.bmp -width = 512 -height = 512 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # Removing Textures from edge # 239f3000_fmt0034_mip00_1278x387_tm04_sw00000400.bmp -width = 1278 -height = 387 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # Removes the glow at the border, but can affect other effects. Off by default due to this. # 22456000_fmt0035_mip00_128x128_tm04_sw00000000.bmp -width = 128 -height = 128 -formats = 0x035 -tilemodes = 4 -overwriteFormat = 0x235 # UNORM -> SNORM - -# >>> Frame Decoration <<< -[TextureRedefine] # 23c76000_fmt0433_mip00_97x156_tm04_sw00000600.bmp -width = 97 -height = 156 -formats = 0x433 -tilemodes = 4 -overwriteFormat = 0x033 # SRGB -> UNORM - -[TextureRedefine] # 22a80000_fmt0433_mip00_179x40_tm04_sw00000000.bmp -width = 179 -height = 40 -formats = 0x433 -tilemodes = 4 -overwriteFormat = 0x033 # SRGB -> UNORM - -[TextureRedefine] # 22f42000_fmt0433_mip00_855x30_tm04_sw00000300.bmp -width = 855 -height = 30 -formats = 0x433 -tilemodes = 4 -overwriteFormat = 0x033 # SRGB -> UNORM - -[TextureRedefine] # 23d74000_fmt0433_mip00_151x139_tm04_sw00000500.bmp -width = 151 -height = 139 -formats = 0x433 -tilemodes = 4 -overwriteFormat = 0x033 # SRGB -> UNORM - -[TextureRedefine] # 229d8000_fmt0433_mip00_88x77_tm04_sw00000200.bmp -width = 88 -height = 77 -formats = 0x433 -tilemodes = 4 -overwriteFormat = 0x033 # SRGB -> UNORM - -[TextureRedefine] # 2375e000_fmt0433_mip00_908x26_tm04_sw00000200.bmp -width = 908 -height = 26 -formats = 0x433 -tilemodes = 4 -overwriteFormat = 0x033 # SRGB -> UNORM - -[TextureRedefine] # 22346000_fmt0433_mip00_57x171_tm04_sw00000200.bmp -width = 57 -height = 171 -formats = 0x433 -tilemodes = 4 -overwriteFormat = 0x033 # SRGB -> UNORM - -[TextureRedefine] # 22360000_fmt0433_mip00_79x187_tm04_sw00000100.bmp -width = 79 -height = 187 -formats = 0x433 -tilemodes = 4 -overwriteFormat = 0x033 # SRGB -> UNORM - -[TextureRedefine] # 22884000_fmt0433_mip00_96x69_tm04_sw00000700.bmp -width = 96 -height = 69 -formats = 0x433 -tilemodes = 4 -overwriteFormat = 0x033 # SRGB -> UNORM - -[TextureRedefine] # 23697100_fmt0433_mip00_107x47_tm02_sw00000000.bmp -width = 107 -height = 47 -formats = 0x433 -tilemodes = 2 -overwriteFormat = 0x033 # SRGB -> UNORM - -[TextureRedefine] # 23c76000_fmt0433_mip00_97x156_tm04_sw00000600.bmp -width = 97 -height = 156 -formats = 0x433 -tilemodes = 4 -overwriteFormat = 0x033 # SRGB -> UNORM - -# >>> Frame Glow <<< -[TextureRedefine] # 22df3000_fmt0034_mip00_92x157_tm04_sw00000100.bmp -width = 92 -height = 157 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 22dfe000_fmt0034_mip00_135x188_tm04_sw00000000.bmp -width = 135 -height = 188 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 23b23000_fmt0034_mip00_58x171_tm04_sw00000600.bmp -width = 58 -height = 171 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 23c46000_fmt0034_mip00_148x140_tm04_sw00000200.bmp -width = 148 -height = 140 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 223ae000_fmt0034_mip00_159x152_tm04_sw00000500.bmp -width = 159 -height = 152 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -# >>> Frame Decoration Edges <<< -[TextureRedefine] # 22f03400_fmt0033_mip00_108x47_tm02_sw00000000.bmp -width = 108 -height = 47 -formats = 0x033 -tilemodes = 2 -overwriteFormat = 0x433 # UNORM -> SRGB - -[TextureRedefine] # 23c64000_fmt0033_mip00_97x69_tm04_sw00000500.bmp -width = 97 -height = 69 -formats = 0x033 -tilemodes = 4 -overwriteFormat = 0x433 # UNORM -> SRGB - -[TextureRedefine] # 224c0000_fmt0033_mip00_1086x41_tm04_sw00000600.bmp -width = 1086 -height = 41 -formats = 0x033 -tilemodes = 4 -overwriteFormat = 0x433 # UNORM -> SRGB - -[TextureRedefine] # 2234e000_fmt0033_mip00_110x77_tm04_sw00000000.bmp -width = 110 -height = 77 -formats = 0x033 -tilemodes = 4 -overwriteFormat = 0x433 # UNORM -> SRGB - -[TextureRedefine] # 2299a000_fmt0033_mip00_832x30_tm04_sw00000100.bmp -width = 110 -height = 77 -formats = 0x033 -tilemodes = 4 -overwriteFormat = 0x433 # UNORM -> SRGB - -[TextureRedefine] # 2365c000_fmt0033_mip00_151x149_tm04_sw00000300.bmp -width = 151 -height = 149 -formats = 0x033 -tilemodes = 4 -overwriteFormat = 0x433 # UNORM -> SRGB - -[TextureRedefine] # 23644000_fmt0033_mip00_97x157_tm04_sw00000400.bmp -width = 97 -height = 157 -formats = 0x033 -tilemodes = 4 -overwriteFormat = 0x433 # UNORM -> SRGB - -[TextureRedefine] # 23770000_fmt0033_mip00_57x160_tm04_sw00000000.bmp -width = 57 -height = 160 -formats = 0x033 -tilemodes = 4 -overwriteFormat = 0x433 # UNORM -> SRGB - -[TextureRedefine] # 23784000_fmt0033_mip00_79x187_tm04_sw00000700.bmp -width = 79 -height = 187 -formats = 0x033 -tilemodes = 4 -overwriteFormat = 0x433 # UNORM -> SRGB - -# >>> Frame Decoration Blur <<< -[TextureRedefine] # 23dc1000_fmt0034_mip00_97x80_tm04_sw00000700.bmp -width = 97 -height = 80 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - - -[TextureRedefine] # 227d7000_fmt0034_mip00_68x174_tm04_sw00000300.bmp -width = 68 -height = 174 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 228c0000_fmt0034_mip00_157x148_tm04_sw00000700.bmp -width = 157 -height = 148 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 236ae000_fmt0034_mip00_101x168_tm04_sw00000600.bmp -width = 101 -height = 168 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 236e8000_fmt0034_mip00_144x199_tm04_sw00000500.bmp -width = 144 -height = 199 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -# >>> Frame Decoration Edges <<< -[TextureRedefine] # 22ac0000_fmt0034_mip00_182x152_tm04_sw00000200.bmp -width = 182 -height = 152 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 230ed000_fmt0034_mip00_126x153_tm04_sw00000400.bmp -width = 126 -height = 153 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 23983000_fmt0034_mip00_52x133_tm04_sw00000100.bmp -width = 52 -height = 133 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 23797000_fmt0034_mip00_279x54_tm04_sw00000500.bmp -width = 279 -height = 54 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 23983000_fmt0034_mip00_52x133_tm04_sw00000100.bmp -width = 52 -height = 133 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 238d9000_fmt0034_mip00_292x42_tm04_sw00000400.bmp -width = 292 -height = 42 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 238d9000_fmt0034_mip00_292x42_tm04_sw00000400.bmp -width = 292 -height = 42 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 23447000_fmt0034_mip00_90x69_tm04_sw00000200.bmp -width = 90 -height = 69 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 227e8000_fmt0034_mip00_1098x58_tm04_sw00000400.bmp -width = 1098 -height = 58 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM - -[TextureRedefine] # 23601000_fmt0034_mip00_997x58_tm04_sw00000100.bmp -width = 997 -height = 58 -formats = 0x034 -tilemodes = 4 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_MinimalisticGUI/rules.txt b/Enhancement/BreathOfTheWild_MinimalisticGUI/rules.txt deleted file mode 100644 index 0637cff3..00000000 --- a/Enhancement/BreathOfTheWild_MinimalisticGUI/rules.txt +++ /dev/null @@ -1,23 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - Minimalistic GUI V2.0". -version = 2 - -# This pack changes the GUI to a modern looking GUI and only cleans up the camera menu. -# The Minimalistic GUI pack without the experimental Clean Camera Rune files doesn't have any gameplay affect or compromise. -# Installing the experimental clean camera rune pack should be simple, just overwrite the files from that folder in this specific folder. -# Be sure to read the SEPERATE rules.txt which is completely stand-alone and has information about that specific pack. - - -# If you find bugs you can make an issue on the Github repository. If you don't want/have a github account, you can also leave a message in the gfx_packs channel in the official Cemu discord. - -# ==================================================================== -# ==================================================================== -# ==================================================================== - -[TextureRedefine]# 236ad000_fmt0034_mip00_8x8_tm02_sw00000000.bmp -width = 8 -height = 8 -formats = 0x034 -tilemodes = 2 -overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_NoMMTriforce/rules.txt b/Enhancement/BreathOfTheWild_NoMMTriforce/rules.txt deleted file mode 100644 index a609c6c1..00000000 --- a/Enhancement/BreathOfTheWild_NoMMTriforce/rules.txt +++ /dev/null @@ -1,10 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - No Master Mode Triforce" -version = 2 - -[TextureRedefine] -width = 36 -height = 36 -formats = 0x034 -overwriteFormat = 0x001 diff --git a/Enhancement/BreathOfTheWild_Pro+/37b9100c1310d3bb_0000000000000000_vs.txt b/Enhancement/BreathOfTheWild_Pro+/37b9100c1310d3bb_0000000000000000_vs.txt deleted file mode 100644 index 0542386a..00000000 --- a/Enhancement/BreathOfTheWild_Pro+/37b9100c1310d3bb_0000000000000000_vs.txt +++ /dev/null @@ -1,1005 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 37b9100c1310d3bb -// PRO+ hud v2 -uniform ivec4 uf_uniformRegisterVS[256]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -bool isCurrentSizeEqualTo(vec2 param) { - float result = distance(param, intBitsToFloat(uf_uniformRegisterVS[15]).xy); - return (result <= 0.01); -} -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[14]; -bool activeMaskStackC[15]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStack[4] = false; -activeMaskStack[5] = false; -activeMaskStack[6] = false; -activeMaskStack[7] = false; -activeMaskStack[8] = false; -activeMaskStack[9] = false; -activeMaskStack[10] = false; -activeMaskStack[11] = false; -activeMaskStack[12] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStackC[5] = false; -activeMaskStackC[6] = false; -activeMaskStackC[7] = false; -activeMaskStackC[8] = false; -activeMaskStackC[9] = false; -activeMaskStackC[10] = false; -activeMaskStackC[11] = false; -activeMaskStackC[12] = false; -activeMaskStackC[13] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_uniformRegisterVS[15].x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(R1i.y))); -PV0i.y = R0i.y; -R4i.z = 0; -R0i.w = 0x3f800000; -R127i.w = floatBitsToInt(1.0); -PS0i = R127i.w; -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_uniformRegisterVS[15].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_uniformRegisterVS[15].y))); -// 2 -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_uniformRegisterVS[15].w)); -PV0i.y = R0i.y; -R1i.w = uf_uniformRegisterVS[2].x & 0x40000000; -// 3 -backupReg0i = R0i.w; -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R4i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_uniformRegisterVS[4].x),intBitsToFloat(uf_uniformRegisterVS[4].y),intBitsToFloat(uf_uniformRegisterVS[4].z),intBitsToFloat(uf_uniformRegisterVS[4].w)))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -// 4 -backupReg0i = R0i.x; -backupReg1i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R4i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_uniformRegisterVS[5].x),intBitsToFloat(uf_uniformRegisterVS[5].y),intBitsToFloat(uf_uniformRegisterVS[5].z),intBitsToFloat(uf_uniformRegisterVS[5].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[6].x),intBitsToFloat(uf_uniformRegisterVS[6].y),intBitsToFloat(uf_uniformRegisterVS[6].z),intBitsToFloat(uf_uniformRegisterVS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -// 6 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[8].x),intBitsToFloat(uf_uniformRegisterVS[8].y),intBitsToFloat(uf_uniformRegisterVS[8].z),intBitsToFloat(uf_uniformRegisterVS[8].w)))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[9].x),intBitsToFloat(uf_uniformRegisterVS[9].y),intBitsToFloat(uf_uniformRegisterVS[9].z),intBitsToFloat(uf_uniformRegisterVS[9].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[10].x),intBitsToFloat(uf_uniformRegisterVS[10].y),intBitsToFloat(uf_uniformRegisterVS[10].z),intBitsToFloat(uf_uniformRegisterVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[11].x),intBitsToFloat(uf_uniformRegisterVS[11].y),intBitsToFloat(uf_uniformRegisterVS[11].z),intBitsToFloat(uf_uniformRegisterVS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.w = tempi.x; -// 10 -predResult = (0 != R1i.w); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R0i.z = uf_uniformRegisterVS[2].x & 0x00000002; -// 1 -predResult = (0 != R0i.z); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R1i.y; -R1i.y = backupReg0i; -PV0i.y = R1i.y; -R0i.z = 0; -PV0i.z = R0i.z; -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -R2i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z); -R2i.w = PV0i.w; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PS0i = int(intBitsToFloat(R1i.y)); -// 1 -PV1i.x = PS0i << int(1); -PS1i = int(intBitsToFloat(R1i.x)); -// 2 -R126i.z = PV1i.x + PS1i; -PV0i.z = R126i.z; -// 3 -R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -PV1i.x = R127i.x; -R127i.y = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0); -// 4 -R127i.z = ((PV1i.x == 0)?(uf_uniformRegisterVS[23].y):(uf_uniformRegisterVS[22].y)); -R127i.w = ((PV1i.x == 0)?(uf_uniformRegisterVS[23].x):(uf_uniformRegisterVS[22].x)); -// 5 -R123i.x = ((R127i.x == 0)?(uf_uniformRegisterVS[23].w):(uf_uniformRegisterVS[22].w)); -PV1i.x = R123i.x; -R123i.y = ((R127i.x == 0)?(uf_uniformRegisterVS[23].z):(uf_uniformRegisterVS[22].z)); -PV1i.y = R123i.y; -// 6 -R123i.x = ((R127i.y == 0)?(PV1i.x):(uf_uniformRegisterVS[21].w)); -PV0i.x = R123i.x; -R123i.y = ((R127i.y == 0)?(PV1i.y):(uf_uniformRegisterVS[21].z)); -PV0i.y = R123i.y; -R123i.z = ((R127i.y == 0)?(R127i.z):(uf_uniformRegisterVS[21].y)); -PV0i.z = R123i.z; -R123i.w = ((R127i.y == 0)?(R127i.w):(uf_uniformRegisterVS[21].x)); -PV0i.w = R123i.w; -// 7 -R2i.x = ((R126i.z == 0)?(uf_uniformRegisterVS[20].x):(PV0i.w)); -R2i.y = ((R126i.z == 0)?(uf_uniformRegisterVS[20].y):(PV0i.z)); -R2i.z = ((R126i.z == 0)?(uf_uniformRegisterVS[20].z):(PV0i.y)); -R2i.w = ((R126i.z == 0)?(uf_uniformRegisterVS[20].w):(PV0i.x)); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.xyz = ivec3(0x437f0000,0x437f0000,0x437f0000); -R3i.w = 0x437f0000; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = uf_uniformRegisterVS[2].x >> 0x00000008; -R2i.y = uf_uniformRegisterVS[2].x & 0x00000002; -// 1 -R1i.z = PV0i.x & 0x0000000f; -// 2 -predResult = (0 != R2i.y); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.y = R1i.y; -R2i.z = 0; -R1i.w = 0x3f800000; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x)); -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].x)); -PV1i.x = R2i.x; -R2i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y)); -// 2 -R3i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS1i)); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS1i)); -R4i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R4i.x; -// 3 -R5i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(PS0i)); -R0i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PV1i.z = R0i.z; -R7i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0); -PS1i = R7i.x; -// 4 -R3i.z = floatBitsToInt(-(intBitsToFloat(R3i.y)) + 1.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(PV1i.z)); -// 5 -predResult = (R1i.z == 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i))); -R2i.y = R3i.x; -PV0i.y = R2i.y; -// 1 -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (R1i.z == int(1)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -backupReg0i = R2i.y; -R2i.y = 0; -PV0i.y = R2i.y; -PV0i.z = R3i.x; -PV0i.w = backupReg0i; -// 1 -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x))); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -} -activeMaskStack[4] = activeMaskStack[4] == false; -activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true; -if( activeMaskStackC[5] == true ) { -activeMaskStack[5] = activeMaskStack[4]; -activeMaskStackC[6] = activeMaskStackC[5]; -// 0 -predResult = (R1i.z == 0x00000002); -activeMaskStack[5] = predResult; -activeMaskStackC[6] = predResult == true && activeMaskStackC[5] == true; -} -else { -activeMaskStack[5] = false; -activeMaskStackC[6] = false; -} -if( activeMaskStackC[6] == true ) { -// 0 -backupReg0i = R3i.y; -R3i.y = backupReg0i; -PV0i.y = R3i.y; -PV0i.z = R3i.z; -PV0i.w = 0; -// 1 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); -} -activeMaskStack[5] = activeMaskStack[5] == false; -activeMaskStackC[6] = activeMaskStack[5] == true && activeMaskStackC[5] == true; -if( activeMaskStackC[6] == true ) { -activeMaskStack[6] = activeMaskStack[5]; -activeMaskStackC[7] = activeMaskStackC[6]; -// 0 -predResult = (R1i.z == 0x00000003); -activeMaskStack[6] = predResult; -activeMaskStackC[7] = predResult == true && activeMaskStackC[6] == true; -} -else { -activeMaskStack[6] = false; -activeMaskStackC[7] = false; -} -if( activeMaskStackC[7] == true ) { -// 0 -backupReg0i = R2i.y; -R2i.y = R3i.z; -PV0i.y = R2i.y; -PV0i.z = R3i.y; -PV0i.w = backupReg0i; -// 1 -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x))); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -} -activeMaskStack[6] = activeMaskStack[6] == false; -activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true; -if( activeMaskStackC[7] == true ) { -activeMaskStack[7] = activeMaskStack[6]; -activeMaskStackC[8] = activeMaskStackC[7]; -// 0 -predResult = (R1i.z == 0x00000004); -activeMaskStack[7] = predResult; -activeMaskStackC[8] = predResult == true && activeMaskStackC[7] == true; -} -else { -activeMaskStack[7] = false; -activeMaskStackC[8] = false; -} -if( activeMaskStackC[8] == true ) { -// 0 -R2i.y = R2i.w; -PV0i.y = R2i.y; -PV0i.z = R3i.x; -PV0i.w = 0; -// 1 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); -} -activeMaskStack[7] = activeMaskStack[7] == false; -activeMaskStackC[8] = activeMaskStack[7] == true && activeMaskStackC[7] == true; -if( activeMaskStackC[8] == true ) { -activeMaskStack[8] = activeMaskStack[7]; -activeMaskStackC[9] = activeMaskStackC[8]; -// 0 -predResult = (R1i.z == 0x00000005); -activeMaskStack[8] = predResult; -activeMaskStackC[9] = predResult == true && activeMaskStackC[8] == true; -} -else { -activeMaskStack[8] = false; -activeMaskStackC[9] = false; -} -if( activeMaskStackC[9] == true ) { -// 0 -backupReg0i = R2i.y; -R2i.y = R3i.x; -PV0i.y = R2i.y; -PV0i.z = R2i.w; -PV0i.w = backupReg0i; -// 1 -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x))); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -} -activeMaskStack[8] = activeMaskStack[8] == false; -activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true; -if( activeMaskStackC[9] == true ) { -activeMaskStack[9] = activeMaskStack[8]; -activeMaskStackC[10] = activeMaskStackC[9]; -// 0 -predResult = (R1i.z == 0x00000006); -activeMaskStack[9] = predResult; -activeMaskStackC[10] = predResult == true && activeMaskStackC[9] == true; -} -else { -activeMaskStack[9] = false; -activeMaskStackC[10] = false; -} -if( activeMaskStackC[10] == true ) { -// 0 -R2i.y = R3i.x; -PV0i.y = R2i.y; -R3i.y = 0; -PS0i = R3i.y; -// 1 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i))); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i))); -} -activeMaskStack[9] = activeMaskStack[9] == false; -activeMaskStackC[10] = activeMaskStack[9] == true && activeMaskStackC[9] == true; -if( activeMaskStackC[10] == true ) { -activeMaskStack[10] = activeMaskStack[9]; -activeMaskStackC[11] = activeMaskStackC[10]; -// 0 -predResult = (R1i.z == 0x00000007); -activeMaskStack[10] = predResult; -activeMaskStackC[11] = predResult == true && activeMaskStackC[10] == true; -} -else { -activeMaskStack[10] = false; -activeMaskStackC[11] = false; -} -if( activeMaskStackC[11] == true ) { -// 0 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i))); -R2i.y = R3i.y; -PV0i.y = R2i.y; -R3i.y = R3i.z; -PS0i = R3i.y; -// 1 -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i))); -} -activeMaskStack[10] = activeMaskStack[10] == false; -activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true; -if( activeMaskStackC[11] == true ) { -activeMaskStack[11] = activeMaskStack[10]; -activeMaskStackC[12] = activeMaskStackC[11]; -// 0 -predResult = (R1i.z == 0x00000008); -activeMaskStack[11] = predResult; -activeMaskStackC[12] = predResult == true && activeMaskStackC[11] == true; -} -else { -activeMaskStack[11] = false; -activeMaskStackC[12] = false; -} -if( activeMaskStackC[12] == true ) { -// 0 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x))); -R2i.y = R3i.x; -PV0i.y = R2i.y; -// 1 -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -} -activeMaskStack[11] = activeMaskStack[11] == false; -activeMaskStackC[12] = activeMaskStack[11] == true && activeMaskStackC[11] == true; -if( activeMaskStackC[12] == true ) { -activeMaskStack[12] = activeMaskStack[11]; -activeMaskStackC[13] = activeMaskStackC[12]; -// 0 -predResult = (R1i.z == 0x00000009); -activeMaskStack[12] = predResult; -activeMaskStackC[13] = predResult == true && activeMaskStackC[12] == true; -} -else { -activeMaskStack[12] = false; -activeMaskStackC[13] = false; -} -if( activeMaskStackC[13] == true ) { -// 0 -backupReg0i = R2i.y; -R2i.y = 0; -PV0i.y = R2i.y; -PV0i.z = R3i.z; -PV0i.w = backupReg0i; -// 1 -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x))); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -} -activeMaskStack[12] = activeMaskStack[12] == false; -activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true; -if( activeMaskStackC[13] == true ) { -activeMaskStack[13] = activeMaskStack[12]; -activeMaskStackC[14] = activeMaskStackC[13]; -// 0 -predResult = (R1i.z == 0x0000000a); -activeMaskStack[13] = predResult; -activeMaskStackC[14] = predResult == true && activeMaskStackC[13] == true; -} -else { -activeMaskStack[13] = false; -activeMaskStackC[14] = false; -} -if( activeMaskStackC[14] == true ) { -// 0 -R2i.y = R0i.z; -PV0i.y = R2i.y; -PV0i.z = R3i.x; -PV0i.w = 0; -// 1 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); -} -activeMaskStack[13] = activeMaskStack[13] == false; -activeMaskStackC[14] = activeMaskStack[13] == true && activeMaskStackC[13] == true; -if( activeMaskStackC[14] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x))); -R2i.y = R2i.w; -PV0i.y = R2i.y; -R127i.z = (R1i.z == 0x0000000c)?int(0xFFFFFFFF):int(0x0); -PV0i.z = R127i.z; -R127i.w = (R1i.z == 0x0000000b)?int(0xFFFFFFFF):int(0x0); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -R2i.y = R3i.z; -PV1i.y = R2i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R2i.x))); -PV1i.z = R123i.z; -R123i.w = ((PV0i.z == 0)?(0):(PV0i.x)); -PV1i.w = R123i.w; -// 2 -R2i.x = ((R127i.w == 0)?(PV1i.w):(PV1i.z)); -R123i.z = ((R127i.z == 0)?(0):(PV1i.x)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(PV1i.y))); -PV0i.w = R123i.w; -// 3 -R2i.y = ((R127i.w == 0)?(PV0i.z):(PV0i.w)); -} -activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true; -activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true; -activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true; -activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true; -activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + 1.0); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].x))); -// 2 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[18].w)) + intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[18].z)) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[18].y)) + intBitsToFloat(PV1i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[18].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w))); -PS1i = R127i.w; -// 4 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[19].w)) + intBitsToFloat(PV1i.x))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[19].z)) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[19].y)) + intBitsToFloat(PV1i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_uniformRegisterVS[19].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg0i))); -PS0i = R126i.z; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y))); -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); -PS1i = R3i.x; -// 6 -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y))); -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R2i.z; -R2i.xyz = ivec3(R1i.x,R4i.y,backupReg0i); -R2i.w = R1i.w; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PS0i = int(intBitsToFloat(R1i.y)); -// 1 -PV1i.z = PS0i << int(1); -PS1i = int(intBitsToFloat(R1i.x)); -// 2 -R0i.z = PV1i.z + PS1i; -PV0i.z = R0i.z; -// 3 -R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -PV1i.x = R127i.x; -R127i.y = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0); -// 4 -R127i.z = ((PV1i.x == 0)?(uf_uniformRegisterVS[23].y):(uf_uniformRegisterVS[22].y)); -R127i.w = ((PV1i.x == 0)?(uf_uniformRegisterVS[23].x):(uf_uniformRegisterVS[22].x)); -// 5 -R123i.x = ((R127i.x == 0)?(uf_uniformRegisterVS[23].w):(uf_uniformRegisterVS[22].w)); -PV1i.x = R123i.x; -R123i.y = ((R127i.x == 0)?(uf_uniformRegisterVS[23].z):(uf_uniformRegisterVS[22].z)); -PV1i.y = R123i.y; -// 6 -R123i.x = ((R127i.y == 0)?(PV1i.x):(uf_uniformRegisterVS[21].w)); -PV0i.x = R123i.x; -R123i.y = ((R127i.y == 0)?(PV1i.y):(uf_uniformRegisterVS[21].z)); -PV0i.y = R123i.y; -R123i.z = ((R127i.y == 0)?(R127i.z):(uf_uniformRegisterVS[21].y)); -PV0i.z = R123i.z; -R123i.w = ((R127i.y == 0)?(R127i.w):(uf_uniformRegisterVS[21].x)); -PV0i.w = R123i.w; -// 7 -R2i.x = ((R0i.z == 0)?(uf_uniformRegisterVS[20].x):(PV0i.w)); -R2i.y = ((R0i.z == 0)?(uf_uniformRegisterVS[20].y):(PV0i.z)); -R2i.z = ((R0i.z == 0)?(uf_uniformRegisterVS[20].z):(PV0i.y)); -R2i.w = ((R0i.z == 0)?(uf_uniformRegisterVS[20].w):(PV0i.x)); -// 8 -predResult = (R1i.z == 0x0000000d); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y)); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x)); -// 2 -R127i.x = PV1i.z; -R127i.y = PV1i.w; -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].x)); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].y)); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w)); -// 5 -backupReg0i = R127i.z; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -PV1i.w = R126i.w; -// 6 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].x))); -// 8 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[18].w)) + intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[18].z)) + intBitsToFloat(PV1i.y))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[18].y)) + intBitsToFloat(PV1i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[18].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w))); -PS1i = R127i.w; -// 10 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -backupReg1i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[19].w)) + intBitsToFloat(PV1i.x))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[19].z)) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[19].y)) + intBitsToFloat(PV1i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[19].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg1i))); -PS0i = R126i.z; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y))); -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); -PS1i = R3i.x; -// 12 -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y))); -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = floatBitsToInt(float(R0i.z)); -PS0i = R127i.x; -// 1 -tempResultf = intBitsToFloat(PS0i); -tempResultf = floor(tempResultf); -tempResultf = clamp(tempResultf, -256.0, 255.0); -ARi.x = int(tempResultf); -PV1i.x = floatBitsToInt(tempResultf); -// 2 -R3i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+16].x,uf_uniformRegisterVS[ARi.x+16].y,uf_uniformRegisterVS[ARi.x+16].z); -R3i.w = uf_uniformRegisterVS[ARi.x+16].w; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (0 != uf_uniformRegisterVS[3].x); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.w; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_uniformRegisterVS[20].x),intBitsToFloat(uf_uniformRegisterVS[20].y),intBitsToFloat(uf_uniformRegisterVS[20].z),intBitsToFloat(uf_uniformRegisterVS[20].w)))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R4i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_uniformRegisterVS[21].x),intBitsToFloat(uf_uniformRegisterVS[21].y),intBitsToFloat(uf_uniformRegisterVS[21].z),intBitsToFloat(uf_uniformRegisterVS[21].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[22].x),intBitsToFloat(uf_uniformRegisterVS[22].y),intBitsToFloat(uf_uniformRegisterVS[22].z),intBitsToFloat(uf_uniformRegisterVS[22].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.z = tempi.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[23].x),intBitsToFloat(uf_uniformRegisterVS[23].y),intBitsToFloat(uf_uniformRegisterVS[23].z),intBitsToFloat(uf_uniformRegisterVS[23].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.w = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R0i.z = uf_uniformRegisterVS[2].x & int(1); -// 1 -predResult = (0 != R0i.z); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R0i.y = uf_uniformRegisterVS[2].x & 0x00000002; -// 1 -predResult = (0 != R0i.y); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_uniformRegisterVS[2].x & 0x00010000; -R127i.y = uf_uniformRegisterVS[2].x & 0x00000010; -PV0i.y = R127i.y; -R125i.z = uf_uniformRegisterVS[2].x & 0x00000004; -R127i.w = uf_uniformRegisterVS[2].x & 0x00000020; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].y), intBitsToFloat(uf_uniformRegisterVS[12].y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].x), intBitsToFloat(uf_uniformRegisterVS[12].x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].y), intBitsToFloat(uf_uniformRegisterVS[12].x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].x), intBitsToFloat(uf_uniformRegisterVS[12].y))); -R127i.z = ((PV0i.y == 0)?(R2i.y):(R2i.y)); -PS1i = R127i.z; -// 2 -R123i.x = ((R127i.y == 0)?(R2i.w):(R2i.w)); -PV0i.x = R123i.x; -R123i.y = ((R127i.y == 0)?(R2i.z):(R2i.z)); -PV0i.y = R123i.y; -R126i.z = ((R127i.x == 0)?(PV1i.x):(PV1i.z)); -PV0i.z = R126i.z; -R123i.w = ((R127i.x == 0)?(PV1i.y):(PV1i.w)); -PV0i.w = R123i.w; -R124i.y = uf_uniformRegisterVS[2].x & 0x00000008; -PS0i = R124i.y; -// 3 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PV0i.w))); -PV1i.x = R0i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -R123i.w = ((R127i.w == 0)?(PV0i.y):(PV0i.y)); -PV1i.w = R123i.w; -R122i.x = ((R127i.w == 0)?(PV0i.x):(PV0i.x)); -PS1i = R122i.x; -// 4 -backupReg0i = R127i.y; -R123i.x = ((R127i.w == 0)?(R127i.z):(PV1i.z)); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R127i.z = ((R125i.z == 0)?(PV1i.w):(PV1i.w)); -R123i.w = ((backupReg0i == 0)?(R2i.x):(PV1i.x)); -PV0i.w = R123i.w; -R126i.z = ((R125i.z == 0)?(PS1i):(PS1i)); -PS0i = R126i.z; -// 5 -R127i.x = ((R125i.z == 0)?(PV0i.x):(PV0i.x)); -PV1i.x = R127i.x; -R125i.y = ((R127i.w == 0)?(PV0i.w):(PV0i.w)); -PV1i.y = R125i.y; -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.y)); -// 7 -R123i.y = ((R125i.z == 0)?(R125i.y):(PV0i.z)); -PV1i.y = R123i.y; -// 8 -R2i.x = ((R124i.y == 0)?(PV1i.y):(PV1i.y)); -R2i.y = ((R124i.y == 0)?(R127i.x):(R126i.x)); -R2i.z = ((R124i.y == 0)?(R127i.z):(R127i.z)); -R2i.w = ((R124i.y == 0)?(R126i.z):(R126i.z)); -PS0i = R2i.w; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R0i.x = floatBitsToInt(-(intBitsToFloat(R2i.x)) + 1.0); -PV0i.x = R0i.x; -R126i.y = uf_uniformRegisterVS[2].x & 0x00010000; -R127i.z = uf_uniformRegisterVS[2].x & 0x00040000; -PV0i.w = uf_uniformRegisterVS[2].x & 0x00020000; -// 1 -R123i.x = ((PV0i.w == 0)?(R2i.z):(R2i.z)); -PV1i.x = R123i.x; -R127i.y = ((PV0i.w == 0)?(R2i.y):(R2i.y)); -PV1i.y = R127i.y; -R123i.z = ((PV0i.w == 0)?(R2i.x):(PV0i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.w == 0)?(R2i.w):(R2i.w)); -PV1i.w = R123i.w; -// 2 -R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x)); -R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w)); -// 3 -R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y)); -PV1i.w = R123i.w; -// 4 -R2i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w)); -R2i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x)); -R2i.z = ((R126i.y == 0)?(R126i.z):(R126i.z)); -R2i.w = ((R126i.y == 0)?(R127i.w):(R127i.w)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[14].x),intBitsToFloat(uf_uniformRegisterVS[14].y),intBitsToFloat(uf_uniformRegisterVS[14].z),intBitsToFloat(uf_uniformRegisterVS[14].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.x = PV0i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(uf_uniformRegisterVS[0].y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(uf_uniformRegisterVS[0].z))); -R1i.w = PV0i.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(uf_uniformRegisterVS[0].x))); -PS1i = R0i.x; -// 2 -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[13].x),intBitsToFloat(uf_uniformRegisterVS[13].y),intBitsToFloat(uf_uniformRegisterVS[13].z),intBitsToFloat(uf_uniformRegisterVS[13].w)))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -R1i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R1i.y; -// 3 -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(uf_uniformRegisterVS[0].w))); -} -// export -gl_Position = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -if (isCurrentSizeEqualTo(vec2(84, 84)) || - isCurrentSizeEqualTo(vec2(36, 40)) || //master mode logo shadow - isCurrentSizeEqualTo(vec2(90, 90)) || - isCurrentSizeEqualTo(vec2(110, 110)) || - isCurrentSizeEqualTo(vec2(109, 109)) - ) { - gl_Position.y -= 9000.0; -} -if ((uf_uniformRegisterVS[5].w == 1134559232 || - uf_uniformRegisterVS[5].w == 1133903872) && - (isCurrentSizeEqualTo(vec2(64, 64)) || //empty heart shadows, but also glowing orbs in inventory - isCurrentSizeEqualTo(vec2(32, 32))) // empty hearts, hearts in inventory transition, but also inventory icons - ) { - gl_Position.y -= 9000.0; -} -if (isCurrentSizeEqualTo(vec2(80, 80)) && - (uf_uniformRegisterVS[4].x == 1060320051 || - uf_uniformRegisterVS[4].x == 1060320050)) { - //some hearts, stamina fade, but also glowing powers in inventory - gl_Position.y -= 9000.0; -} -if (isCurrentSizeEqualTo(vec2(96, 96)) && - (uf_uniformRegisterVS[7].x == 1069928833)) { - // stamina 3-full blur; also, all inventory items - gl_Position.y -= 9000.0; -} - - -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w)); -} diff --git a/Enhancement/BreathOfTheWild_Pro+/4d58e6f0906ff5cf_0000000000000000_vs.txt b/Enhancement/BreathOfTheWild_Pro+/4d58e6f0906ff5cf_0000000000000000_vs.txt deleted file mode 100644 index c0b78389..00000000 --- a/Enhancement/BreathOfTheWild_Pro+/4d58e6f0906ff5cf_0000000000000000_vs.txt +++ /dev/null @@ -1,927 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 4d58e6f0906ff5cf -// PRO+ hud v2 -uniform ivec4 uf_remappedVS[29]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -bool isCurrentSizeEqualTo(vec2 param) { - float result = distance(param, intBitsToFloat(uf_remappedVS[0]).xy); - return (result <= 0.001); -} -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedVS[0].x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(R1i.y))); -PV0i.y = R0i.y; -R0i.z = 0; -R2i.w = 0x3f800000; -R127i.w = floatBitsToInt(1.0); -PS0i = R127i.w; -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedVS[0].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedVS[0].y))); -// 2 -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_remappedVS[0].w)); -PV0i.y = R0i.y; -R0i.w = uf_remappedVS[1].x & 0x40000000; -// 3 -backupReg0i = R0i.z; -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -// 4 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -// 6 -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w)))); -PV0i.x = R5i.x; -PV0i.y = R5i.x; -PV0i.z = R5i.x; -PV0i.w = R5i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.y = tempi.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.z = tempi.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.w = tempi.x; -// 10 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[9].x))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[9].y))); -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[9].y))); -PS0i = R6i.x; -// 11 -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[9].x))); -// 12 -predResult = (0 != R0i.w); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R1i.z = uf_remappedVS[1].x & 0x00000002; -// 1 -predResult = (0 != R1i.z); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R1i.y; -R1i.yzw = ivec3(backupReg0i,0,0x3f800000); -PV0i.y = R1i.y; -PV0i.z = R1i.z; -PV0i.w = R1i.w; -// 1 -R3i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z); -PV1i.x = R3i.x; -PV1i.y = R3i.y; -PV1i.z = R3i.z; -R3i.w = PV0i.w; -PV1i.w = R3i.w; -// 2 -R4i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -R4i.w = PV1i.w; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PS0i = int(intBitsToFloat(R1i.y)); -// 1 -PV1i.x = PS0i << int(1); -PS1i = int(intBitsToFloat(R1i.x)); -// 2 -R124i.z = PV1i.x + PS1i; -PV0i.z = R124i.z; -// 3 -R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -PV1i.x = R127i.x; -R127i.y = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -R127i.z = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -R126i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0); -R124i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0); -PS1i = R124i.w; -// 4 -R124i.y = (R124i.z == int(1))?int(0xFFFFFFFF):int(0x0); -R126i.z = ((PV1i.x == 0)?(uf_remappedVS[10].y):(uf_remappedVS[11].y)); -R127i.w = ((PV1i.x == 0)?(uf_remappedVS[10].x):(uf_remappedVS[11].x)); -// 5 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = ((backupReg0i == 0)?(uf_remappedVS[10].w):(uf_remappedVS[11].w)); -R126i.y = ((backupReg0i == 0)?(uf_remappedVS[10].z):(uf_remappedVS[11].z)); -// 6 -R126i.x = ((R127i.z == 0)?(uf_remappedVS[12].y):(uf_remappedVS[13].y)); -R125i.y = ((R127i.z == 0)?(uf_remappedVS[12].x):(uf_remappedVS[13].x)); -// 7 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -R127i.z = ((backupReg0i == 0)?(uf_remappedVS[12].w):(uf_remappedVS[13].w)); -R125i.w = ((backupReg0i == 0)?(uf_remappedVS[12].z):(uf_remappedVS[13].z)); -// 8 -R125i.z = ((R127i.y == 0)?(uf_remappedVS[14].y):(uf_remappedVS[15].y)); -R0i.w = ((R127i.y == 0)?(uf_remappedVS[14].x):(uf_remappedVS[15].x)); -// 9 -backupReg0i = R127i.y; -R125i.x = ((R127i.y == 0)?(uf_remappedVS[14].w):(uf_remappedVS[15].w)); -R127i.y = ((backupReg0i == 0)?(uf_remappedVS[14].z):(uf_remappedVS[15].z)); -// 10 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R127i.w; -R127i.x = ((R126i.w == 0)?(backupReg0i):(uf_remappedVS[16].w)); -R126i.y = ((R126i.w == 0)?(backupReg1i):(uf_remappedVS[16].z)); -R126i.z = ((R126i.w == 0)?(backupReg2i):(uf_remappedVS[16].y)); -R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_remappedVS[16].x)); -// 11 -backupReg0i = R126i.x; -backupReg1i = R125i.y; -backupReg2i = R127i.z; -backupReg3i = R125i.w; -R126i.x = ((R124i.w == 0)?(backupReg0i):(uf_remappedVS[17].y)); -R125i.y = ((R124i.w == 0)?(backupReg1i):(uf_remappedVS[17].x)); -R127i.z = ((R124i.w == 0)?(backupReg2i):(uf_remappedVS[17].w)); -R125i.w = ((R124i.w == 0)?(backupReg3i):(uf_remappedVS[17].z)); -// 12 -backupReg0i = R125i.x; -backupReg1i = R127i.y; -backupReg2i = R125i.z; -R125i.x = ((R124i.y == 0)?(backupReg0i):(uf_remappedVS[18].w)); -R127i.y = ((R124i.y == 0)?(backupReg1i):(uf_remappedVS[18].z)); -R125i.z = ((R124i.y == 0)?(backupReg2i):(uf_remappedVS[18].y)); -R124i.w = ((R124i.y == 0)?(R0i.w):(uf_remappedVS[18].x)); -// 13 -R1i.x = ((R124i.z == 0)?(uf_remappedVS[19].x):(R127i.w)); -R1i.y = ((R124i.z == 0)?(uf_remappedVS[19].y):(R126i.z)); -R1i.z = ((R124i.z == 0)?(uf_remappedVS[19].z):(R126i.y)); -R1i.w = ((R124i.z == 0)?(uf_remappedVS[19].w):(R127i.x)); -// 14 -R3i.x = ((R124i.z == 0)?(uf_remappedVS[20].x):(R125i.y)); -R3i.y = ((R124i.z == 0)?(uf_remappedVS[20].y):(R126i.x)); -R3i.z = ((R124i.z == 0)?(uf_remappedVS[20].z):(R125i.w)); -R3i.w = ((R124i.z == 0)?(uf_remappedVS[20].w):(R127i.z)); -// 15 -R4i.x = ((R124i.z == 0)?(uf_remappedVS[21].x):(R124i.w)); -R4i.y = ((R124i.z == 0)?(uf_remappedVS[21].y):(R125i.z)); -R4i.z = ((R124i.z == 0)?(uf_remappedVS[21].z):(R127i.y)); -R4i.w = ((R124i.z == 0)?(uf_remappedVS[21].w):(R125i.x)); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R0i.w = uf_remappedVS[1].x & 0x00000002; -// 1 -predResult = (0 != R0i.w); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R1i.y; -R1i.yzw = ivec3(backupReg0i,0,0x3f800000); -PV0i.y = R1i.y; -PV0i.z = R1i.z; -PV0i.w = R1i.w; -// 1 -R3i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z); -PV1i.x = R3i.x; -PV1i.y = R3i.y; -PV1i.z = R3i.z; -R3i.w = PV0i.w; -PV1i.w = R3i.w; -// 2 -R4i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -R4i.w = PV1i.w; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PS0i = int(intBitsToFloat(R1i.y)); -// 1 -PV1i.x = PS0i << int(1); -PS1i = int(intBitsToFloat(R1i.x)); -// 2 -R124i.z = PV1i.x + PS1i; -PV0i.z = R124i.z; -// 3 -R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -PV1i.x = R127i.x; -R127i.y = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -R127i.z = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -R126i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0); -R124i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0); -PS1i = R124i.w; -// 4 -R124i.y = (R124i.z == int(1))?int(0xFFFFFFFF):int(0x0); -R126i.z = ((PV1i.x == 0)?(uf_remappedVS[10].y):(uf_remappedVS[11].y)); -R127i.w = ((PV1i.x == 0)?(uf_remappedVS[10].x):(uf_remappedVS[11].x)); -// 5 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = ((backupReg0i == 0)?(uf_remappedVS[10].w):(uf_remappedVS[11].w)); -R126i.y = ((backupReg0i == 0)?(uf_remappedVS[10].z):(uf_remappedVS[11].z)); -// 6 -R126i.x = ((R127i.z == 0)?(uf_remappedVS[12].y):(uf_remappedVS[13].y)); -R125i.y = ((R127i.z == 0)?(uf_remappedVS[12].x):(uf_remappedVS[13].x)); -// 7 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -R127i.z = ((backupReg0i == 0)?(uf_remappedVS[12].w):(uf_remappedVS[13].w)); -R125i.w = ((backupReg0i == 0)?(uf_remappedVS[12].z):(uf_remappedVS[13].z)); -// 8 -R125i.z = ((R127i.y == 0)?(uf_remappedVS[14].y):(uf_remappedVS[15].y)); -R0i.w = ((R127i.y == 0)?(uf_remappedVS[14].x):(uf_remappedVS[15].x)); -// 9 -backupReg0i = R127i.y; -R125i.x = ((R127i.y == 0)?(uf_remappedVS[14].w):(uf_remappedVS[15].w)); -R127i.y = ((backupReg0i == 0)?(uf_remappedVS[14].z):(uf_remappedVS[15].z)); -// 10 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R127i.w; -R127i.x = ((R126i.w == 0)?(backupReg0i):(uf_remappedVS[16].w)); -R126i.y = ((R126i.w == 0)?(backupReg1i):(uf_remappedVS[16].z)); -R126i.z = ((R126i.w == 0)?(backupReg2i):(uf_remappedVS[16].y)); -R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_remappedVS[16].x)); -// 11 -backupReg0i = R126i.x; -backupReg1i = R125i.y; -backupReg2i = R127i.z; -backupReg3i = R125i.w; -R126i.x = ((R124i.w == 0)?(backupReg0i):(uf_remappedVS[17].y)); -R125i.y = ((R124i.w == 0)?(backupReg1i):(uf_remappedVS[17].x)); -R127i.z = ((R124i.w == 0)?(backupReg2i):(uf_remappedVS[17].w)); -R125i.w = ((R124i.w == 0)?(backupReg3i):(uf_remappedVS[17].z)); -// 12 -backupReg0i = R125i.x; -backupReg1i = R127i.y; -backupReg2i = R125i.z; -R125i.x = ((R124i.y == 0)?(backupReg0i):(uf_remappedVS[18].w)); -R127i.y = ((R124i.y == 0)?(backupReg1i):(uf_remappedVS[18].z)); -R125i.z = ((R124i.y == 0)?(backupReg2i):(uf_remappedVS[18].y)); -R124i.w = ((R124i.y == 0)?(R0i.w):(uf_remappedVS[18].x)); -// 13 -R1i.x = ((R124i.z == 0)?(uf_remappedVS[19].x):(R127i.w)); -R1i.y = ((R124i.z == 0)?(uf_remappedVS[19].y):(R126i.z)); -R1i.z = ((R124i.z == 0)?(uf_remappedVS[19].z):(R126i.y)); -R1i.w = ((R124i.z == 0)?(uf_remappedVS[19].w):(R127i.x)); -// 14 -R3i.x = ((R124i.z == 0)?(uf_remappedVS[20].x):(R125i.y)); -R3i.y = ((R124i.z == 0)?(uf_remappedVS[20].y):(R126i.x)); -R3i.z = ((R124i.z == 0)?(uf_remappedVS[20].z):(R125i.w)); -R3i.w = ((R124i.z == 0)?(uf_remappedVS[20].w):(R127i.z)); -// 15 -R4i.x = ((R124i.z == 0)?(uf_remappedVS[21].x):(R124i.w)); -R4i.y = ((R124i.z == 0)?(uf_remappedVS[21].y):(R125i.z)); -R4i.z = ((R124i.z == 0)?(uf_remappedVS[21].z):(R127i.y)); -R4i.w = ((R124i.z == 0)?(uf_remappedVS[21].w):(R125i.x)); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (0 != uf_remappedVS[22].x); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),intBitsToFloat(uf_remappedVS[19].w)))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = tempi.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R7i.x = uf_remappedVS[1].x & int(1); -// 1 -predResult = (0 != R7i.x); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R0i.w = uf_remappedVS[1].x & 0x00000002; -// 1 -predResult = (0 != R0i.w); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = uf_remappedVS[1].x & 0x00010000; -R127i.y = uf_remappedVS[1].x & 0x00000010; -PV0i.y = R127i.y; -R125i.z = uf_remappedVS[1].x & 0x00000004; -R127i.w = uf_remappedVS[1].x & 0x00000020; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.w):(R1i.w)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R1i.z):(R1i.z)); -PV1i.y = R123i.y; -R126i.z = ((PV0i.x == 0)?(R2i.y):(R6i.y)); -PV1i.z = R126i.z; -R123i.w = ((PV0i.x == 0)?(R2i.x):(R6i.x)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.y == 0)?(R1i.y):(R1i.y)); -PS1i = R127i.z; -// 2 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.w))); -PV0i.x = R7i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.z))); -R123i.w = ((R127i.w == 0)?(PV1i.y):(PV1i.y)); -PV0i.w = R123i.w; -R122i.x = ((R127i.w == 0)?(PV1i.x):(PV1i.x)); -PS0i = R122i.x; -// 3 -backupReg0i = R127i.y; -R123i.x = ((R127i.w == 0)?(R127i.z):(PV0i.z)); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R127i.z = ((R125i.z == 0)?(PV0i.w):(PV0i.w)); -R123i.w = ((backupReg0i == 0)?(R1i.x):(PV0i.x)); -PV1i.w = R123i.w; -R124i.z = ((R125i.z == 0)?(PS0i):(PS0i)); -PS1i = R124i.z; -// 4 -R127i.x = ((R125i.z == 0)?(PV1i.x):(PV1i.x)); -PV0i.x = R127i.x; -R125i.y = ((R127i.w == 0)?(PV1i.w):(PV1i.w)); -PV0i.y = R125i.y; -R126i.z = uf_remappedVS[1].x & 0x00000008; -// 5 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R126i.y)); -// 6 -R123i.y = ((R125i.z == 0)?(R125i.y):(PV1i.z)); -PV0i.y = R123i.y; -// 7 -R1i.x = ((R126i.z == 0)?(PV0i.y):(PV0i.y)); -R1i.y = ((R126i.z == 0)?(R127i.x):(R126i.x)); -R1i.z = ((R126i.z == 0)?(R127i.z):(R127i.z)); -// 8 -R1i.w = ((R126i.z == 0)?(R124i.z):(R124i.z)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R7i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + 1.0); -PV0i.x = R7i.x; -R126i.y = uf_remappedVS[1].x & 0x00010000; -R127i.z = uf_remappedVS[1].x & 0x00040000; -PV0i.w = uf_remappedVS[1].x & 0x00020000; -// 1 -R123i.x = ((PV0i.w == 0)?(R1i.z):(R1i.z)); -PV1i.x = R123i.x; -R127i.y = ((PV0i.w == 0)?(R1i.y):(R1i.y)); -PV1i.y = R127i.y; -R123i.z = ((PV0i.w == 0)?(R1i.x):(PV0i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.w == 0)?(R1i.w):(R1i.w)); -PV1i.w = R123i.w; -// 2 -R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x)); -R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w)); -// 3 -R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y)); -PV1i.w = R123i.w; -// 4 -R1i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w)); -R1i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x)); -R1i.z = ((R126i.y == 0)?(R126i.z):(R126i.z)); -R1i.w = ((R126i.y == 0)?(R127i.w):(R127i.w)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(uf_remappedVS[23].z),intBitsToFloat(uf_remappedVS[23].w)))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -// 1 -backupReg0i = R1i.x; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[24].x),intBitsToFloat(uf_remappedVS[24].y),intBitsToFloat(uf_remappedVS[24].z),intBitsToFloat(uf_remappedVS[24].w)))); -PV1i.x = R1i.x; -PV1i.y = R1i.x; -PV1i.z = R1i.x; -PV1i.w = R1i.x; -R1i.y = PV0i.x; -PS1i = R1i.y; -// 2 -R1i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -R1i.w = R127i.x; -// 3 -predResult = (0 != uf_remappedVS[22].y); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R3i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[20].x),intBitsToFloat(uf_remappedVS[20].y),intBitsToFloat(uf_remappedVS[20].z),intBitsToFloat(uf_remappedVS[20].w)))); -PV0i.x = R3i.x; -PV0i.y = R3i.x; -PV0i.z = R3i.x; -PV0i.w = R3i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R3i.z = tempi.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.w = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R7i.y = uf_remappedVS[1].x & int(1); -// 1 -predResult = (0 != R7i.y); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R7i.x = uf_remappedVS[1].x & 0x00000002; -// 1 -predResult = (0 != R7i.x); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].x & 0x00000020; -R127i.y = uf_remappedVS[1].x & 0x00000010; -PV0i.y = R127i.y; -R125i.z = uf_remappedVS[1].x & 0x00000004; -PV0i.w = uf_remappedVS[1].x & 0x00010000; -// 1 -R123i.x = ((PV0i.w == 0)?(R2i.y):(R6i.y)); -PV1i.x = R123i.x; -R123i.z = ((PV0i.w == 0)?(R2i.x):(R6i.x)); -PV1i.z = R123i.z; -R125i.w = uf_remappedVS[1].x & 0x00000008; -R127i.z = ((PV0i.y == 0)?(R3i.y):(R3i.y)); -PS1i = R127i.z; -// 2 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.z))); -PV0i.x = R7i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -// 3 -R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y)); -PV1i.z = R123i.z; -R123i.w = ((R127i.y == 0)?(R3i.x):(PV0i.x)); -PV1i.w = R123i.w; -// 4 -backupReg0i = R127i.x; -R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z)); -PV0i.x = R127i.x; -R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w)); -PV0i.w = R126i.w; -// 5 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z)); -// 6 -R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z)); -PV0i.y = R123i.y; -// 7 -R3i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y)); -R3i.y = ((R125i.w == 0)?(R127i.x):(R126i.x)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R7i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + 1.0); -PV0i.x = R7i.x; -PV0i.y = uf_remappedVS[1].x & 0x00020000; -R127i.z = uf_remappedVS[1].x & 0x00040000; -R126i.w = uf_remappedVS[1].x & 0x00010000; -// 1 -R123i.x = ((PV0i.y == 0)?(R3i.x):(PV0i.x)); -PV1i.x = R123i.x; -R127i.w = ((PV0i.y == 0)?(R3i.y):(R3i.y)); -PV1i.w = R127i.w; -// 2 -R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y)); -PV1i.w = R123i.w; -// 4 -R3i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w)); -R3i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedVS[25].x),intBitsToFloat(uf_remappedVS[25].y),intBitsToFloat(uf_remappedVS[25].z),intBitsToFloat(uf_remappedVS[25].w)))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -// 1 -backupReg0i = R3i.x; -R3i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedVS[26].x),intBitsToFloat(uf_remappedVS[26].y),intBitsToFloat(uf_remappedVS[26].z),intBitsToFloat(uf_remappedVS[26].w)))); -PV1i.x = R3i.x; -PV1i.y = R3i.x; -PV1i.z = R3i.x; -PV1i.w = R3i.x; -R3i.y = PV0i.x; -PS1i = R3i.y; -// 2 -R3i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -R3i.w = R127i.x; -// 3 -predResult = (0 != uf_remappedVS[22].z); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),intBitsToFloat(uf_remappedVS[21].w)))); -PV0i.x = R4i.x; -PV0i.y = R4i.x; -PV0i.z = R4i.x; -PV0i.w = R4i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.z = tempi.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.w = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R0i.z = uf_remappedVS[1].x & int(1); -// 1 -predResult = (0 != R0i.z); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R0i.y = uf_remappedVS[1].x & 0x00000002; -// 1 -predResult = (0 != R0i.y); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].x & 0x00000020; -R127i.y = uf_remappedVS[1].x & 0x00000010; -PV0i.y = R127i.y; -R125i.z = uf_remappedVS[1].x & 0x00000004; -PV0i.w = uf_remappedVS[1].x & 0x00010000; -// 1 -R123i.x = ((PV0i.w == 0)?(R2i.y):(R6i.y)); -PV1i.x = R123i.x; -R123i.z = ((PV0i.w == 0)?(R2i.x):(R6i.x)); -PV1i.z = R123i.z; -R125i.w = uf_remappedVS[1].x & 0x00000008; -R127i.z = ((PV0i.y == 0)?(R4i.y):(R4i.y)); -PS1i = R127i.z; -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.z))); -PV0i.x = R0i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -// 3 -R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y)); -PV1i.z = R123i.z; -R123i.w = ((R127i.y == 0)?(R4i.x):(PV0i.x)); -PV1i.w = R123i.w; -// 4 -backupReg0i = R127i.x; -R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z)); -PV0i.x = R127i.x; -R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w)); -PV0i.w = R126i.w; -// 5 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z)); -// 6 -R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z)); -PV0i.y = R123i.y; -// 7 -R4i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y)); -R4i.y = ((R125i.w == 0)?(R127i.x):(R126i.x)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R0i.x = floatBitsToInt(-(intBitsToFloat(R4i.x)) + 1.0); -PV0i.x = R0i.x; -PV0i.y = uf_remappedVS[1].x & 0x00020000; -R127i.z = uf_remappedVS[1].x & 0x00040000; -R126i.w = uf_remappedVS[1].x & 0x00010000; -// 1 -R123i.x = ((PV0i.y == 0)?(R4i.x):(PV0i.x)); -PV1i.x = R123i.x; -R127i.w = ((PV0i.y == 0)?(R4i.y):(R4i.y)); -PV1i.w = R127i.w; -// 2 -R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y)); -PV1i.w = R123i.w; -// 4 -R4i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w)); -R4i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[27].x),intBitsToFloat(uf_remappedVS[27].y),intBitsToFloat(uf_remappedVS[27].z),intBitsToFloat(uf_remappedVS[27].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.x = PV0i.x; -R0i.w = PV0i.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedVS[28].w))); -// 2 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(PS1i)),vec4(intBitsToFloat(uf_remappedVS[28].x),intBitsToFloat(uf_remappedVS[28].y),intBitsToFloat(uf_remappedVS[28].z),1.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R0i.y; -} -// export -gl_Position = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -if (isCurrentSizeEqualTo(vec2(32, 32))) { - gl_Position.y -= 9000.0; -} -// export -passParameterSem0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.x), intBitsToFloat(R3i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.x), intBitsToFloat(R0i.w)); -} diff --git a/Enhancement/BreathOfTheWild_Pro+/75faf095372864b1_0000000000000000_vs.txt b/Enhancement/BreathOfTheWild_Pro+/75faf095372864b1_0000000000000000_vs.txt deleted file mode 100644 index 2c22e89e..00000000 --- a/Enhancement/BreathOfTheWild_Pro+/75faf095372864b1_0000000000000000_vs.txt +++ /dev/null @@ -1,1430 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 75faf095372864b1 -// PRO+ hud v2 -uniform ivec4 uf_uniformRegisterVS[256]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -bool isCurrentSizeEqualTo(vec2 param) { - float result = distance(param, intBitsToFloat(uf_uniformRegisterVS[19]).xy); - return (result <= 0.001); -} -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[14]; -bool activeMaskStackC[15]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStack[4] = false; -activeMaskStack[5] = false; -activeMaskStack[6] = false; -activeMaskStack[7] = false; -activeMaskStack[8] = false; -activeMaskStack[9] = false; -activeMaskStack[10] = false; -activeMaskStack[11] = false; -activeMaskStack[12] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStackC[5] = false; -activeMaskStackC[6] = false; -activeMaskStackC[7] = false; -activeMaskStackC[8] = false; -activeMaskStackC[9] = false; -activeMaskStackC[10] = false; -activeMaskStackC[11] = false; -activeMaskStackC[12] = false; -activeMaskStackC[13] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_uniformRegisterVS[19].x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(R1i.y))); -PV0i.y = R0i.y; -R1i.z = 0; -R1i.w = 0x3f800000; -R127i.w = floatBitsToInt(1.0); -PS0i = R127i.w; -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_uniformRegisterVS[19].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_uniformRegisterVS[19].y))); -// 2 -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_uniformRegisterVS[19].w)); -PV0i.y = R0i.y; -R0i.w = uf_uniformRegisterVS[2].x & 0x40000000; -// 3 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[4].x),intBitsToFloat(uf_uniformRegisterVS[4].y),intBitsToFloat(uf_uniformRegisterVS[4].z),intBitsToFloat(uf_uniformRegisterVS[4].w)))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[5].x),intBitsToFloat(uf_uniformRegisterVS[5].y),intBitsToFloat(uf_uniformRegisterVS[5].z),intBitsToFloat(uf_uniformRegisterVS[5].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[6].x),intBitsToFloat(uf_uniformRegisterVS[6].y),intBitsToFloat(uf_uniformRegisterVS[6].z),intBitsToFloat(uf_uniformRegisterVS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -// 6 -R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[8].x),intBitsToFloat(uf_uniformRegisterVS[8].y),intBitsToFloat(uf_uniformRegisterVS[8].z),intBitsToFloat(uf_uniformRegisterVS[8].w)))); -PV0i.x = R4i.x; -PV0i.y = R4i.x; -PV0i.z = R4i.x; -PV0i.w = R4i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[9].x),intBitsToFloat(uf_uniformRegisterVS[9].y),intBitsToFloat(uf_uniformRegisterVS[9].z),intBitsToFloat(uf_uniformRegisterVS[9].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.y = tempi.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[10].x),intBitsToFloat(uf_uniformRegisterVS[10].y),intBitsToFloat(uf_uniformRegisterVS[10].z),intBitsToFloat(uf_uniformRegisterVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.z = tempi.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[11].x),intBitsToFloat(uf_uniformRegisterVS[11].y),intBitsToFloat(uf_uniformRegisterVS[11].z),intBitsToFloat(uf_uniformRegisterVS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.w = tempi.x; -// 10 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[19].x), intBitsToFloat(uf_uniformRegisterVS[12].x))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[19].y), intBitsToFloat(uf_uniformRegisterVS[12].y))); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[19].x), intBitsToFloat(uf_uniformRegisterVS[12].y))); -PS0i = R3i.x; -// 11 -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[19].y), intBitsToFloat(uf_uniformRegisterVS[12].x))); -// 12 -predResult = (0 != R0i.w); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R0i.z = uf_uniformRegisterVS[2].x & 0x00000002; -// 1 -predResult = (0 != R0i.z); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R1i.y; -R1i.y = backupReg0i; -PV0i.y = R1i.y; -R0i.z = 0; -PV0i.z = R0i.z; -R0i.w = 0x3f800000; -PV0i.w = R0i.w; -// 1 -R6i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z); -PV1i.x = R6i.x; -PV1i.y = R6i.y; -PV1i.z = R6i.z; -R6i.w = PV0i.w; -PV1i.w = R6i.w; -// 2 -R7i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -PV0i.x = R7i.x; -PV0i.y = R7i.y; -PV0i.z = R7i.z; -R7i.w = PV1i.w; -PV0i.w = R7i.w; -// 3 -R5i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R5i.w = PV0i.w; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PS0i = int(intBitsToFloat(R1i.y)); -// 1 -PV1i.x = PS0i << int(1); -PS1i = int(intBitsToFloat(R1i.x)); -// 2 -R124i.z = PV1i.x + PS1i; -PV0i.z = R124i.z; -// 3 -R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -PV1i.x = R127i.x; -R127i.y = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -R127i.z = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -R126i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0); -R124i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0); -PS1i = R124i.w; -// 4 -R124i.y = (R124i.z == int(1))?int(0xFFFFFFFF):int(0x0); -R126i.z = ((PV1i.x == 0)?(uf_uniformRegisterVS[27].y):(uf_uniformRegisterVS[26].y)); -R127i.w = ((PV1i.x == 0)?(uf_uniformRegisterVS[27].x):(uf_uniformRegisterVS[26].x)); -// 5 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = ((backupReg0i == 0)?(uf_uniformRegisterVS[27].w):(uf_uniformRegisterVS[26].w)); -R126i.y = ((backupReg0i == 0)?(uf_uniformRegisterVS[27].z):(uf_uniformRegisterVS[26].z)); -// 6 -R126i.x = ((R127i.z == 0)?(uf_uniformRegisterVS[31].y):(uf_uniformRegisterVS[30].y)); -R125i.y = ((R127i.z == 0)?(uf_uniformRegisterVS[31].x):(uf_uniformRegisterVS[30].x)); -// 7 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -R127i.z = ((backupReg0i == 0)?(uf_uniformRegisterVS[31].w):(uf_uniformRegisterVS[30].w)); -R125i.w = ((backupReg0i == 0)?(uf_uniformRegisterVS[31].z):(uf_uniformRegisterVS[30].z)); -// 8 -R125i.z = ((R127i.y == 0)?(uf_uniformRegisterVS[35].y):(uf_uniformRegisterVS[34].y)); -R0i.w = ((R127i.y == 0)?(uf_uniformRegisterVS[35].x):(uf_uniformRegisterVS[34].x)); -// 9 -backupReg0i = R127i.y; -R125i.x = ((R127i.y == 0)?(uf_uniformRegisterVS[35].w):(uf_uniformRegisterVS[34].w)); -R127i.y = ((backupReg0i == 0)?(uf_uniformRegisterVS[35].z):(uf_uniformRegisterVS[34].z)); -// 10 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R127i.w; -R127i.x = ((R126i.w == 0)?(backupReg0i):(uf_uniformRegisterVS[25].w)); -R126i.y = ((R126i.w == 0)?(backupReg1i):(uf_uniformRegisterVS[25].z)); -R126i.z = ((R126i.w == 0)?(backupReg2i):(uf_uniformRegisterVS[25].y)); -R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_uniformRegisterVS[25].x)); -// 11 -backupReg0i = R126i.x; -backupReg1i = R125i.y; -backupReg2i = R127i.z; -backupReg3i = R125i.w; -R126i.x = ((R124i.w == 0)?(backupReg0i):(uf_uniformRegisterVS[29].y)); -R125i.y = ((R124i.w == 0)?(backupReg1i):(uf_uniformRegisterVS[29].x)); -R127i.z = ((R124i.w == 0)?(backupReg2i):(uf_uniformRegisterVS[29].w)); -R125i.w = ((R124i.w == 0)?(backupReg3i):(uf_uniformRegisterVS[29].z)); -// 12 -backupReg0i = R125i.x; -backupReg1i = R127i.y; -backupReg2i = R125i.z; -R125i.x = ((R124i.y == 0)?(backupReg0i):(uf_uniformRegisterVS[33].w)); -R127i.y = ((R124i.y == 0)?(backupReg1i):(uf_uniformRegisterVS[33].z)); -R125i.z = ((R124i.y == 0)?(backupReg2i):(uf_uniformRegisterVS[33].y)); -R124i.w = ((R124i.y == 0)?(R0i.w):(uf_uniformRegisterVS[33].x)); -// 13 -R6i.x = ((R124i.z == 0)?(uf_uniformRegisterVS[24].x):(R127i.w)); -R6i.y = ((R124i.z == 0)?(uf_uniformRegisterVS[24].y):(R126i.z)); -R6i.z = ((R124i.z == 0)?(uf_uniformRegisterVS[24].z):(R126i.y)); -R6i.w = ((R124i.z == 0)?(uf_uniformRegisterVS[24].w):(R127i.x)); -// 14 -R7i.x = ((R124i.z == 0)?(uf_uniformRegisterVS[28].x):(R125i.y)); -R7i.y = ((R124i.z == 0)?(uf_uniformRegisterVS[28].y):(R126i.x)); -R7i.z = ((R124i.z == 0)?(uf_uniformRegisterVS[28].z):(R125i.w)); -R7i.w = ((R124i.z == 0)?(uf_uniformRegisterVS[28].w):(R127i.z)); -// 15 -R5i.x = ((R124i.z == 0)?(uf_uniformRegisterVS[32].x):(R124i.w)); -R5i.y = ((R124i.z == 0)?(uf_uniformRegisterVS[32].y):(R125i.z)); -R5i.z = ((R124i.z == 0)?(uf_uniformRegisterVS[32].z):(R127i.y)); -R5i.w = ((R124i.z == 0)?(uf_uniformRegisterVS[32].w):(R125i.x)); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R8i.xyz = ivec3(0x437f0000,0x437f0000,0x437f0000); -R8i.w = 0x437f0000; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = uf_uniformRegisterVS[2].x >> 0x00000008; -R5i.y = uf_uniformRegisterVS[2].x & 0x00000002; -// 1 -R0i.z = PV0i.x & 0x0000000f; -// 2 -predResult = (0 != R5i.y); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R6i.y = R1i.y; -R3i.z = 0; -R0i.w = 0x3f800000; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x)); -// 1 -R5i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].x)); -PV1i.x = R5i.x; -R5i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y)); -// 2 -R6i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS1i)); -PV0i.x = R6i.x; -R7i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS1i)); -R7i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R7i.x; -// 3 -R8i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PS0i)); -R2i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PV1i.z = R2i.z; -R9i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0); -PS1i = R9i.x; -// 4 -R5i.z = floatBitsToInt(-(intBitsToFloat(R7i.y)) + 1.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PV1i.z)); -// 5 -predResult = (R0i.z == 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i))); -R5i.y = R6i.x; -PV0i.y = R5i.y; -// 1 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (R0i.z == int(1)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -backupReg0i = R5i.y; -R5i.y = 0; -PV0i.y = R5i.y; -PV0i.z = R6i.x; -PV0i.w = backupReg0i; -// 1 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -} -activeMaskStack[4] = activeMaskStack[4] == false; -activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true; -if( activeMaskStackC[5] == true ) { -activeMaskStack[5] = activeMaskStack[4]; -activeMaskStackC[6] = activeMaskStackC[5]; -// 0 -predResult = (R0i.z == 0x00000002); -activeMaskStack[5] = predResult; -activeMaskStackC[6] = predResult == true && activeMaskStackC[5] == true; -} -else { -activeMaskStack[5] = false; -activeMaskStackC[6] = false; -} -if( activeMaskStackC[6] == true ) { -// 0 -backupReg0i = R7i.y; -R7i.y = backupReg0i; -PV0i.y = R7i.y; -PV0i.z = R5i.z; -PV0i.w = 0; -// 1 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); -} -activeMaskStack[5] = activeMaskStack[5] == false; -activeMaskStackC[6] = activeMaskStack[5] == true && activeMaskStackC[5] == true; -if( activeMaskStackC[6] == true ) { -activeMaskStack[6] = activeMaskStack[5]; -activeMaskStackC[7] = activeMaskStackC[6]; -// 0 -predResult = (R0i.z == 0x00000003); -activeMaskStack[6] = predResult; -activeMaskStackC[7] = predResult == true && activeMaskStackC[6] == true; -} -else { -activeMaskStack[6] = false; -activeMaskStackC[7] = false; -} -if( activeMaskStackC[7] == true ) { -// 0 -backupReg0i = R5i.y; -R5i.y = R5i.z; -PV0i.y = R5i.y; -PV0i.z = R7i.y; -PV0i.w = backupReg0i; -// 1 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -} -activeMaskStack[6] = activeMaskStack[6] == false; -activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true; -if( activeMaskStackC[7] == true ) { -activeMaskStack[7] = activeMaskStack[6]; -activeMaskStackC[8] = activeMaskStackC[7]; -// 0 -predResult = (R0i.z == 0x00000004); -activeMaskStack[7] = predResult; -activeMaskStackC[8] = predResult == true && activeMaskStackC[7] == true; -} -else { -activeMaskStack[7] = false; -activeMaskStackC[8] = false; -} -if( activeMaskStackC[8] == true ) { -// 0 -R5i.y = R2i.w; -PV0i.y = R5i.y; -PV0i.z = R6i.x; -PV0i.w = 0; -// 1 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); -} -activeMaskStack[7] = activeMaskStack[7] == false; -activeMaskStackC[8] = activeMaskStack[7] == true && activeMaskStackC[7] == true; -if( activeMaskStackC[8] == true ) { -activeMaskStack[8] = activeMaskStack[7]; -activeMaskStackC[9] = activeMaskStackC[8]; -// 0 -predResult = (R0i.z == 0x00000005); -activeMaskStack[8] = predResult; -activeMaskStackC[9] = predResult == true && activeMaskStackC[8] == true; -} -else { -activeMaskStack[8] = false; -activeMaskStackC[9] = false; -} -if( activeMaskStackC[9] == true ) { -// 0 -backupReg0i = R5i.y; -R5i.y = R6i.x; -PV0i.y = R5i.y; -PV0i.z = R2i.w; -PV0i.w = backupReg0i; -// 1 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -} -activeMaskStack[8] = activeMaskStack[8] == false; -activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true; -if( activeMaskStackC[9] == true ) { -activeMaskStack[9] = activeMaskStack[8]; -activeMaskStackC[10] = activeMaskStackC[9]; -// 0 -predResult = (R0i.z == 0x00000006); -activeMaskStack[9] = predResult; -activeMaskStackC[10] = predResult == true && activeMaskStackC[9] == true; -} -else { -activeMaskStack[9] = false; -activeMaskStackC[10] = false; -} -if( activeMaskStackC[10] == true ) { -// 0 -R5i.y = R6i.x; -PV0i.y = R5i.y; -R7i.y = 0; -PS0i = R7i.y; -// 1 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(backupReg0i))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i))); -} -activeMaskStack[9] = activeMaskStack[9] == false; -activeMaskStackC[10] = activeMaskStack[9] == true && activeMaskStackC[9] == true; -if( activeMaskStackC[10] == true ) { -activeMaskStack[10] = activeMaskStack[9]; -activeMaskStackC[11] = activeMaskStackC[10]; -// 0 -predResult = (R0i.z == 0x00000007); -activeMaskStack[10] = predResult; -activeMaskStackC[11] = predResult == true && activeMaskStackC[10] == true; -} -else { -activeMaskStack[10] = false; -activeMaskStackC[11] = false; -} -if( activeMaskStackC[11] == true ) { -// 0 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(backupReg0i))); -R5i.y = R7i.y; -PV0i.y = R5i.y; -R7i.y = R5i.z; -PS0i = R7i.y; -// 1 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i))); -} -activeMaskStack[10] = activeMaskStack[10] == false; -activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true; -if( activeMaskStackC[11] == true ) { -activeMaskStack[11] = activeMaskStack[10]; -activeMaskStackC[12] = activeMaskStackC[11]; -// 0 -predResult = (R0i.z == 0x00000008); -activeMaskStack[11] = predResult; -activeMaskStackC[12] = predResult == true && activeMaskStackC[11] == true; -} -else { -activeMaskStack[11] = false; -activeMaskStackC[12] = false; -} -if( activeMaskStackC[12] == true ) { -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R9i.x))); -R5i.y = R6i.x; -PV0i.y = R5i.y; -// 1 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -} -activeMaskStack[11] = activeMaskStack[11] == false; -activeMaskStackC[12] = activeMaskStack[11] == true && activeMaskStackC[11] == true; -if( activeMaskStackC[12] == true ) { -activeMaskStack[12] = activeMaskStack[11]; -activeMaskStackC[13] = activeMaskStackC[12]; -// 0 -predResult = (R0i.z == 0x00000009); -activeMaskStack[12] = predResult; -activeMaskStackC[13] = predResult == true && activeMaskStackC[12] == true; -} -else { -activeMaskStack[12] = false; -activeMaskStackC[13] = false; -} -if( activeMaskStackC[13] == true ) { -// 0 -backupReg0i = R5i.y; -R5i.y = 0; -PV0i.y = R5i.y; -PV0i.z = R5i.z; -PV0i.w = backupReg0i; -// 1 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R9i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -} -activeMaskStack[12] = activeMaskStack[12] == false; -activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true; -if( activeMaskStackC[13] == true ) { -activeMaskStack[13] = activeMaskStack[12]; -activeMaskStackC[14] = activeMaskStackC[13]; -// 0 -predResult = (R0i.z == 0x0000000a); -activeMaskStack[13] = predResult; -activeMaskStackC[14] = predResult == true && activeMaskStackC[13] == true; -} -else { -activeMaskStack[13] = false; -activeMaskStackC[14] = false; -} -if( activeMaskStackC[14] == true ) { -// 0 -R5i.y = R2i.z; -PV0i.y = R5i.y; -PV0i.z = R6i.x; -PV0i.w = 0; -// 1 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); -} -activeMaskStack[13] = activeMaskStack[13] == false; -activeMaskStackC[14] = activeMaskStack[13] == true && activeMaskStackC[13] == true; -if( activeMaskStackC[14] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R9i.x))); -R5i.y = R2i.w; -PV0i.y = R5i.y; -R127i.z = (R0i.z == 0x0000000c)?int(0xFFFFFFFF):int(0x0); -PV0i.z = R127i.z; -R127i.w = (R0i.z == 0x0000000b)?int(0xFFFFFFFF):int(0x0); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -R5i.y = R5i.z; -PV1i.y = R5i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(R5i.x))); -PV1i.z = R123i.z; -R123i.w = ((PV0i.z == 0)?(0):(PV0i.x)); -PV1i.w = R123i.w; -// 2 -R5i.x = ((R127i.w == 0)?(PV1i.w):(PV1i.z)); -R123i.z = ((R127i.z == 0)?(0):(PV1i.x)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(PV1i.y))); -PV0i.w = R123i.w; -// 3 -R5i.y = ((R127i.w == 0)?(PV0i.z):(PV0i.w)); -} -activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true; -activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true; -activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true; -activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true; -activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R5i.x)) + 1.0); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].x))); -// 2 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[22].w)) + intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[22].z)) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[22].y)) + intBitsToFloat(PV1i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[22].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w))); -PS1i = R127i.w; -// 4 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[23].w)) + intBitsToFloat(PV1i.x))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[23].z)) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[23].y)) + intBitsToFloat(PV1i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[23].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg0i))); -PS0i = R126i.z; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y))); -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); -PS1i = R8i.x; -// 6 -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y))); -R8i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R6i.y; -R6i.xyz = ivec3(R1i.x,backupReg0i,R3i.z); -PV1i.x = R6i.x; -PV1i.y = R6i.y; -PV1i.z = R6i.z; -R6i.w = R0i.w; -PV1i.w = R6i.w; -// 8 -R7i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -PV0i.x = R7i.x; -PV0i.y = R7i.y; -PV0i.z = R7i.z; -R7i.w = PV1i.w; -PV0i.w = R7i.w; -// 9 -R5i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R5i.w = PV0i.w; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PS0i = int(intBitsToFloat(R1i.y)); -// 1 -PV1i.z = PS0i << int(1); -PS1i = int(intBitsToFloat(R1i.x)); -// 2 -R2i.z = PV1i.z + PS1i; -PV0i.z = R2i.z; -// 3 -R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -PV1i.x = R127i.x; -R127i.y = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -R127i.z = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -R126i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0); -R124i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0); -PS1i = R124i.w; -// 4 -R124i.y = (R2i.z == int(1))?int(0xFFFFFFFF):int(0x0); -R126i.z = ((PV1i.x == 0)?(uf_uniformRegisterVS[27].y):(uf_uniformRegisterVS[26].y)); -R127i.w = ((PV1i.x == 0)?(uf_uniformRegisterVS[27].x):(uf_uniformRegisterVS[26].x)); -// 5 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = ((backupReg0i == 0)?(uf_uniformRegisterVS[27].w):(uf_uniformRegisterVS[26].w)); -R126i.y = ((backupReg0i == 0)?(uf_uniformRegisterVS[27].z):(uf_uniformRegisterVS[26].z)); -// 6 -R126i.x = ((R127i.z == 0)?(uf_uniformRegisterVS[31].y):(uf_uniformRegisterVS[30].y)); -R125i.y = ((R127i.z == 0)?(uf_uniformRegisterVS[31].x):(uf_uniformRegisterVS[30].x)); -// 7 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -R127i.z = ((backupReg0i == 0)?(uf_uniformRegisterVS[31].w):(uf_uniformRegisterVS[30].w)); -R125i.w = ((backupReg0i == 0)?(uf_uniformRegisterVS[31].z):(uf_uniformRegisterVS[30].z)); -// 8 -R125i.z = ((R127i.y == 0)?(uf_uniformRegisterVS[35].y):(uf_uniformRegisterVS[34].y)); -R0i.w = ((R127i.y == 0)?(uf_uniformRegisterVS[35].x):(uf_uniformRegisterVS[34].x)); -// 9 -backupReg0i = R127i.y; -R125i.x = ((R127i.y == 0)?(uf_uniformRegisterVS[35].w):(uf_uniformRegisterVS[34].w)); -R127i.y = ((backupReg0i == 0)?(uf_uniformRegisterVS[35].z):(uf_uniformRegisterVS[34].z)); -// 10 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R127i.w; -R127i.x = ((R126i.w == 0)?(backupReg0i):(uf_uniformRegisterVS[25].w)); -R126i.y = ((R126i.w == 0)?(backupReg1i):(uf_uniformRegisterVS[25].z)); -R126i.z = ((R126i.w == 0)?(backupReg2i):(uf_uniformRegisterVS[25].y)); -R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_uniformRegisterVS[25].x)); -// 11 -backupReg0i = R126i.x; -backupReg1i = R125i.y; -backupReg2i = R127i.z; -backupReg3i = R125i.w; -R126i.x = ((R124i.w == 0)?(backupReg0i):(uf_uniformRegisterVS[29].y)); -R125i.y = ((R124i.w == 0)?(backupReg1i):(uf_uniformRegisterVS[29].x)); -R127i.z = ((R124i.w == 0)?(backupReg2i):(uf_uniformRegisterVS[29].w)); -R125i.w = ((R124i.w == 0)?(backupReg3i):(uf_uniformRegisterVS[29].z)); -// 12 -backupReg0i = R125i.x; -backupReg1i = R127i.y; -backupReg2i = R125i.z; -R125i.x = ((R124i.y == 0)?(backupReg0i):(uf_uniformRegisterVS[33].w)); -R127i.y = ((R124i.y == 0)?(backupReg1i):(uf_uniformRegisterVS[33].z)); -R125i.z = ((R124i.y == 0)?(backupReg2i):(uf_uniformRegisterVS[33].y)); -R124i.w = ((R124i.y == 0)?(R0i.w):(uf_uniformRegisterVS[33].x)); -// 13 -R6i.x = ((R2i.z == 0)?(uf_uniformRegisterVS[24].x):(R127i.w)); -R6i.y = ((R2i.z == 0)?(uf_uniformRegisterVS[24].y):(R126i.z)); -R6i.z = ((R2i.z == 0)?(uf_uniformRegisterVS[24].z):(R126i.y)); -R6i.w = ((R2i.z == 0)?(uf_uniformRegisterVS[24].w):(R127i.x)); -// 14 -R7i.x = ((R2i.z == 0)?(uf_uniformRegisterVS[28].x):(R125i.y)); -R7i.y = ((R2i.z == 0)?(uf_uniformRegisterVS[28].y):(R126i.x)); -R7i.z = ((R2i.z == 0)?(uf_uniformRegisterVS[28].z):(R125i.w)); -R7i.w = ((R2i.z == 0)?(uf_uniformRegisterVS[28].w):(R127i.z)); -// 15 -R5i.x = ((R2i.z == 0)?(uf_uniformRegisterVS[32].x):(R124i.w)); -R5i.y = ((R2i.z == 0)?(uf_uniformRegisterVS[32].y):(R125i.z)); -R5i.z = ((R2i.z == 0)?(uf_uniformRegisterVS[32].z):(R127i.y)); -R5i.w = ((R2i.z == 0)?(uf_uniformRegisterVS[32].w):(R125i.x)); -// 16 -predResult = (R0i.z == 0x0000000d); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y)); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x)); -// 2 -R127i.x = PV1i.z; -R127i.y = PV1i.w; -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].x)); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].y)); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w)); -// 5 -backupReg0i = R127i.z; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -PV1i.w = R126i.w; -// 6 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[20].x))); -// 8 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[22].w)) + intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[22].z)) + intBitsToFloat(PV1i.y))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[22].y)) + intBitsToFloat(PV1i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[22].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[21].x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w))); -PS1i = R127i.w; -// 10 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -backupReg1i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[23].w)) + intBitsToFloat(PV1i.x))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[23].z)) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[23].y)) + intBitsToFloat(PV1i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[23].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg1i))); -PS0i = R126i.z; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y))); -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); -PS1i = R8i.x; -// 12 -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y))); -R8i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = floatBitsToInt(float(R2i.z)); -PS0i = R127i.x; -// 1 -tempResultf = intBitsToFloat(PS0i); -tempResultf = floor(tempResultf); -tempResultf = clamp(tempResultf, -256.0, 255.0); -ARi.x = int(tempResultf); -PV1i.x = floatBitsToInt(tempResultf); -// 2 -R8i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+20].x,uf_uniformRegisterVS[ARi.x+20].y,uf_uniformRegisterVS[ARi.x+20].z); -R8i.w = uf_uniformRegisterVS[ARi.x+20].w; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (0 != uf_uniformRegisterVS[3].x); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[24].x),intBitsToFloat(uf_uniformRegisterVS[24].y),intBitsToFloat(uf_uniformRegisterVS[24].z),intBitsToFloat(uf_uniformRegisterVS[24].w)))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -// 1 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[25].x),intBitsToFloat(uf_uniformRegisterVS[25].y),intBitsToFloat(uf_uniformRegisterVS[25].z),intBitsToFloat(uf_uniformRegisterVS[25].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[26].x),intBitsToFloat(uf_uniformRegisterVS[26].y),intBitsToFloat(uf_uniformRegisterVS[26].z),intBitsToFloat(uf_uniformRegisterVS[26].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[27].x),intBitsToFloat(uf_uniformRegisterVS[27].y),intBitsToFloat(uf_uniformRegisterVS[27].z),intBitsToFloat(uf_uniformRegisterVS[27].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.w = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R0i.z = uf_uniformRegisterVS[2].x & int(1); -// 1 -predResult = (0 != R0i.z); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R1i.y = uf_uniformRegisterVS[2].x & 0x00000002; -// 1 -predResult = (0 != R1i.y); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = uf_uniformRegisterVS[2].x & 0x00010000; -R127i.y = uf_uniformRegisterVS[2].x & 0x00000010; -PV0i.y = R127i.y; -R125i.z = uf_uniformRegisterVS[2].x & 0x00000004; -R127i.w = uf_uniformRegisterVS[2].x & 0x00000020; -// 1 -R123i.x = ((PV0i.y == 0)?(R6i.w):(R6i.w)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R6i.z):(R6i.z)); -PV1i.y = R123i.y; -R126i.z = ((PV0i.x == 0)?(R2i.y):(R3i.y)); -PV1i.z = R126i.z; -R123i.w = ((PV0i.x == 0)?(R2i.x):(R3i.x)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.y == 0)?(R6i.y):(R6i.y)); -PS1i = R127i.z; -// 2 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.w))); -PV0i.x = R1i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.z))); -R123i.w = ((R127i.w == 0)?(PV1i.y):(PV1i.y)); -PV0i.w = R123i.w; -R122i.x = ((R127i.w == 0)?(PV1i.x):(PV1i.x)); -PS0i = R122i.x; -// 3 -backupReg0i = R127i.y; -R123i.x = ((R127i.w == 0)?(R127i.z):(PV0i.z)); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R127i.z = ((R125i.z == 0)?(PV0i.w):(PV0i.w)); -R123i.w = ((backupReg0i == 0)?(R6i.x):(PV0i.x)); -PV1i.w = R123i.w; -R124i.z = ((R125i.z == 0)?(PS0i):(PS0i)); -PS1i = R124i.z; -// 4 -R127i.x = ((R125i.z == 0)?(PV1i.x):(PV1i.x)); -PV0i.x = R127i.x; -R125i.y = ((R127i.w == 0)?(PV1i.w):(PV1i.w)); -PV0i.y = R125i.y; -R126i.z = uf_uniformRegisterVS[2].x & 0x00000008; -// 5 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R126i.y)); -// 6 -R123i.y = ((R125i.z == 0)?(R125i.y):(PV1i.z)); -PV0i.y = R123i.y; -// 7 -R6i.x = ((R126i.z == 0)?(PV0i.y):(PV0i.y)); -R6i.y = ((R126i.z == 0)?(R127i.x):(R126i.x)); -R6i.z = ((R126i.z == 0)?(R127i.z):(R127i.z)); -// 8 -R6i.w = ((R126i.z == 0)?(R124i.z):(R124i.z)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt(-(intBitsToFloat(R6i.x)) + 1.0); -PV0i.x = R1i.x; -R126i.y = uf_uniformRegisterVS[2].x & 0x00010000; -R127i.z = uf_uniformRegisterVS[2].x & 0x00040000; -PV0i.w = uf_uniformRegisterVS[2].x & 0x00020000; -// 1 -R123i.x = ((PV0i.w == 0)?(R6i.z):(R6i.z)); -PV1i.x = R123i.x; -R127i.y = ((PV0i.w == 0)?(R6i.y):(R6i.y)); -PV1i.y = R127i.y; -R123i.z = ((PV0i.w == 0)?(R6i.x):(PV0i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.w == 0)?(R6i.w):(R6i.w)); -PV1i.w = R123i.w; -// 2 -R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x)); -R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w)); -// 3 -R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y)); -PV1i.w = R123i.w; -// 4 -R6i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w)); -R6i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x)); -R6i.z = ((R126i.y == 0)?(R126i.z):(R126i.z)); -R6i.w = ((R126i.y == 0)?(R127i.w):(R127i.w)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[14].x),intBitsToFloat(uf_uniformRegisterVS[14].y),intBitsToFloat(uf_uniformRegisterVS[14].z),intBitsToFloat(uf_uniformRegisterVS[14].w)))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -// 1 -backupReg0i = R6i.x; -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[13].x),intBitsToFloat(uf_uniformRegisterVS[13].y),intBitsToFloat(uf_uniformRegisterVS[13].z),intBitsToFloat(uf_uniformRegisterVS[13].w)))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -R1i.y = PV0i.x; -PS1i = R1i.y; -// 2 -R6i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -R6i.w = R127i.x; -// 3 -predResult = (0 != uf_uniformRegisterVS[3].y); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[28].x),intBitsToFloat(uf_uniformRegisterVS[28].y),intBitsToFloat(uf_uniformRegisterVS[28].z),intBitsToFloat(uf_uniformRegisterVS[28].w)))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -// 1 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[29].x),intBitsToFloat(uf_uniformRegisterVS[29].y),intBitsToFloat(uf_uniformRegisterVS[29].z),intBitsToFloat(uf_uniformRegisterVS[29].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[30].x),intBitsToFloat(uf_uniformRegisterVS[30].y),intBitsToFloat(uf_uniformRegisterVS[30].z),intBitsToFloat(uf_uniformRegisterVS[30].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.z = tempi.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[31].x),intBitsToFloat(uf_uniformRegisterVS[31].y),intBitsToFloat(uf_uniformRegisterVS[31].z),intBitsToFloat(uf_uniformRegisterVS[31].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.w = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R0i.w = uf_uniformRegisterVS[2].x & int(1); -// 1 -predResult = (0 != R0i.w); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R0i.z = uf_uniformRegisterVS[2].x & 0x00000002; -// 1 -predResult = (0 != R0i.z); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_uniformRegisterVS[2].x & 0x00000020; -R127i.y = uf_uniformRegisterVS[2].x & 0x00000010; -PV0i.y = R127i.y; -R125i.z = uf_uniformRegisterVS[2].x & 0x00000004; -PV0i.w = uf_uniformRegisterVS[2].x & 0x00010000; -// 1 -R123i.x = ((PV0i.w == 0)?(R2i.y):(R3i.y)); -PV1i.x = R123i.x; -R123i.z = ((PV0i.w == 0)?(R2i.x):(R3i.x)); -PV1i.z = R123i.z; -R125i.w = uf_uniformRegisterVS[2].x & 0x00000008; -R127i.z = ((PV0i.y == 0)?(R7i.y):(R7i.y)); -PS1i = R127i.z; -// 2 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV1i.z))); -PV0i.x = R1i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -// 3 -R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y)); -PV1i.z = R123i.z; -R123i.w = ((R127i.y == 0)?(R7i.x):(PV0i.x)); -PV1i.w = R123i.w; -// 4 -backupReg0i = R127i.x; -R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z)); -PV0i.x = R127i.x; -R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w)); -PV0i.w = R126i.w; -// 5 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z)); -// 6 -R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z)); -PV0i.y = R123i.y; -// 7 -R7i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y)); -R7i.y = ((R125i.w == 0)?(R127i.x):(R126i.x)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt(-(intBitsToFloat(R7i.x)) + 1.0); -PV0i.x = R1i.x; -PV0i.y = uf_uniformRegisterVS[2].x & 0x00020000; -R127i.z = uf_uniformRegisterVS[2].x & 0x00040000; -R126i.w = uf_uniformRegisterVS[2].x & 0x00010000; -// 1 -R123i.x = ((PV0i.y == 0)?(R7i.x):(PV0i.x)); -PV1i.x = R123i.x; -R127i.w = ((PV0i.y == 0)?(R7i.y):(R7i.y)); -PV1i.w = R127i.w; -// 2 -R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y)); -PV1i.w = R123i.w; -// 4 -R7i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w)); -R7i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[16].x),intBitsToFloat(uf_uniformRegisterVS[16].y),intBitsToFloat(uf_uniformRegisterVS[16].z),intBitsToFloat(uf_uniformRegisterVS[16].w)))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -// 1 -backupReg0i = R7i.x; -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[15].x),intBitsToFloat(uf_uniformRegisterVS[15].y),intBitsToFloat(uf_uniformRegisterVS[15].z),intBitsToFloat(uf_uniformRegisterVS[15].w)))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -R1i.y = PV0i.x; -PS1i = R1i.y; -// 2 -R7i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -R7i.w = R127i.x; -// 3 -predResult = (0 != uf_uniformRegisterVS[3].z); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[32].x),intBitsToFloat(uf_uniformRegisterVS[32].y),intBitsToFloat(uf_uniformRegisterVS[32].z),intBitsToFloat(uf_uniformRegisterVS[32].w)))); -PV0i.x = R5i.x; -PV0i.y = R5i.x; -PV0i.z = R5i.x; -PV0i.w = R5i.x; -// 1 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[33].x),intBitsToFloat(uf_uniformRegisterVS[33].y),intBitsToFloat(uf_uniformRegisterVS[33].z),intBitsToFloat(uf_uniformRegisterVS[33].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[34].x),intBitsToFloat(uf_uniformRegisterVS[34].y),intBitsToFloat(uf_uniformRegisterVS[34].z),intBitsToFloat(uf_uniformRegisterVS[34].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.z = tempi.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[35].x),intBitsToFloat(uf_uniformRegisterVS[35].y),intBitsToFloat(uf_uniformRegisterVS[35].z),intBitsToFloat(uf_uniformRegisterVS[35].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.w = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R0i.x = uf_uniformRegisterVS[2].x & int(1); -// 1 -backupReg0i = R0i.x; -predResult = (0 != backupReg0i); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R0i.w = uf_uniformRegisterVS[2].x & 0x00000002; -// 1 -predResult = (0 != R0i.w); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_uniformRegisterVS[2].x & 0x00000020; -R127i.y = uf_uniformRegisterVS[2].x & 0x00000010; -PV0i.y = R127i.y; -R125i.z = uf_uniformRegisterVS[2].x & 0x00000004; -PV0i.w = uf_uniformRegisterVS[2].x & 0x00010000; -// 1 -R123i.x = ((PV0i.w == 0)?(R2i.y):(R3i.y)); -PV1i.x = R123i.x; -R123i.z = ((PV0i.w == 0)?(R2i.x):(R3i.x)); -PV1i.z = R123i.z; -R125i.w = uf_uniformRegisterVS[2].x & 0x00000008; -R127i.z = ((PV0i.y == 0)?(R5i.y):(R5i.y)); -PS1i = R127i.z; -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z))); -PV0i.x = R0i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -// 3 -R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y)); -PV1i.z = R123i.z; -R123i.w = ((R127i.y == 0)?(R5i.x):(PV0i.x)); -PV1i.w = R123i.w; -// 4 -backupReg0i = R127i.x; -R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z)); -PV0i.x = R127i.x; -R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w)); -PV0i.w = R126i.w; -// 5 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z)); -// 6 -R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z)); -PV0i.y = R123i.y; -// 7 -R5i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y)); -R5i.y = ((R125i.w == 0)?(R127i.x):(R126i.x)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R0i.x = floatBitsToInt(-(intBitsToFloat(R5i.x)) + 1.0); -PV0i.x = R0i.x; -PV0i.y = uf_uniformRegisterVS[2].x & 0x00020000; -R127i.z = uf_uniformRegisterVS[2].x & 0x00040000; -R126i.w = uf_uniformRegisterVS[2].x & 0x00010000; -// 1 -R123i.x = ((PV0i.y == 0)?(R5i.x):(PV0i.x)); -PV1i.x = R123i.x; -R127i.w = ((PV0i.y == 0)?(R5i.y):(R5i.y)); -PV1i.w = R127i.w; -// 2 -R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y)); -PV1i.w = R123i.w; -// 4 -R5i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w)); -R5i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[18].x),intBitsToFloat(uf_uniformRegisterVS[18].y),intBitsToFloat(uf_uniformRegisterVS[18].z),intBitsToFloat(uf_uniformRegisterVS[18].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.x = PV0i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(uf_uniformRegisterVS[0].y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(uf_uniformRegisterVS[0].z))); -R1i.w = PV0i.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(uf_uniformRegisterVS[0].x))); -PS1i = R0i.x; -// 2 -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[17].x),intBitsToFloat(uf_uniformRegisterVS[17].y),intBitsToFloat(uf_uniformRegisterVS[17].z),intBitsToFloat(uf_uniformRegisterVS[17].w)))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -R1i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R1i.y; -// 3 -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(uf_uniformRegisterVS[0].w))); -} -// export -gl_Position = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -if (isCurrentSizeEqualTo(vec2(32, 32)) || - isCurrentSizeEqualTo(vec2(64, 64)) // hearts while taking damage - ) { - gl_Position.y -= 9000.0; -} -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.x), intBitsToFloat(R6i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.x), intBitsToFloat(R7i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w)); -} diff --git a/Enhancement/BreathOfTheWild_Pro+/b88c6020a8b17332_0000000000000000_vs.txt b/Enhancement/BreathOfTheWild_Pro+/b88c6020a8b17332_0000000000000000_vs.txt deleted file mode 100644 index 96c328ff..00000000 --- a/Enhancement/BreathOfTheWild_Pro+/b88c6020a8b17332_0000000000000000_vs.txt +++ /dev/null @@ -1,480 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader b88c6020a8b17332 -// PRO+ hud v2 -uniform ivec4 uf_remappedVS[17]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -bool isCurrentSizeEqualTo(vec2 param) { - float result = distance(param, intBitsToFloat(uf_remappedVS[0]).xy); - return (result <= 0.001); -} -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedVS[0].x))); -R0i.yzw = ivec3(floatBitsToInt(-(intBitsToFloat(R1i.y))),0,0x3f800000); -PV0i.y = R0i.y; -R127i.w = floatBitsToInt(1.0); -PS0i = R127i.w; -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedVS[0].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedVS[0].y))); -// 2 -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_remappedVS[0].w)); -PV0i.y = R0i.y; -R1i.w = uf_remappedVS[1].x & 0x40000000; -// 3 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -// 4 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -// 6 -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w)))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.y = tempi.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.z = tempi.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.w = tempi.x; -// 10 -predResult = (0 != R1i.w); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R1i.z = uf_remappedVS[1].x & 0x00000002; -// 1 -predResult = (0 != R1i.z); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R1i.y; -R1i.yzw = ivec3(backupReg0i,0,0x3f800000); -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PS0i = int(intBitsToFloat(R1i.y)); -// 1 -PV1i.x = PS0i << int(1); -PS1i = int(intBitsToFloat(R1i.x)); -// 2 -R126i.z = PV1i.x + PS1i; -PV0i.z = R126i.z; -// 3 -R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -PV1i.x = R127i.x; -R127i.y = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0); -// 4 -R127i.z = ((PV1i.x == 0)?(uf_remappedVS[9].y):(uf_remappedVS[10].y)); -R127i.w = ((PV1i.x == 0)?(uf_remappedVS[9].x):(uf_remappedVS[10].x)); -// 5 -R123i.x = ((R127i.x == 0)?(uf_remappedVS[9].w):(uf_remappedVS[10].w)); -PV1i.x = R123i.x; -R123i.y = ((R127i.x == 0)?(uf_remappedVS[9].z):(uf_remappedVS[10].z)); -PV1i.y = R123i.y; -// 6 -R123i.x = ((R127i.y == 0)?(PV1i.x):(uf_remappedVS[11].w)); -PV0i.x = R123i.x; -R123i.y = ((R127i.y == 0)?(PV1i.y):(uf_remappedVS[11].z)); -PV0i.y = R123i.y; -R123i.z = ((R127i.y == 0)?(R127i.z):(uf_remappedVS[11].y)); -PV0i.z = R123i.z; -R123i.w = ((R127i.y == 0)?(R127i.w):(uf_remappedVS[11].x)); -PV0i.w = R123i.w; -// 7 -R1i.x = ((R126i.z == 0)?(uf_remappedVS[12].x):(PV0i.w)); -R1i.y = ((R126i.z == 0)?(uf_remappedVS[12].y):(PV0i.z)); -R1i.z = ((R126i.z == 0)?(uf_remappedVS[12].z):(PV0i.y)); -R1i.w = ((R126i.z == 0)?(uf_remappedVS[12].w):(PV0i.x)); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R1i.w = uf_remappedVS[1].x & 0x00000002; -// 1 -predResult = (0 != R1i.w); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R1i.y; -R1i.yzw = ivec3(backupReg0i,0,0x3f800000); -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PS0i = int(intBitsToFloat(R1i.y)); -// 1 -PV1i.x = PS0i << int(1); -PS1i = int(intBitsToFloat(R1i.x)); -// 2 -R126i.z = PV1i.x + PS1i; -PV0i.z = R126i.z; -// 3 -R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0); -PV1i.x = R127i.x; -R127i.y = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0); -// 4 -R127i.z = ((PV1i.x == 0)?(uf_remappedVS[9].y):(uf_remappedVS[10].y)); -R127i.w = ((PV1i.x == 0)?(uf_remappedVS[9].x):(uf_remappedVS[10].x)); -// 5 -R123i.x = ((R127i.x == 0)?(uf_remappedVS[9].w):(uf_remappedVS[10].w)); -PV1i.x = R123i.x; -R123i.y = ((R127i.x == 0)?(uf_remappedVS[9].z):(uf_remappedVS[10].z)); -PV1i.y = R123i.y; -// 6 -R123i.x = ((R127i.y == 0)?(PV1i.x):(uf_remappedVS[11].w)); -PV0i.x = R123i.x; -R123i.y = ((R127i.y == 0)?(PV1i.y):(uf_remappedVS[11].z)); -PV0i.y = R123i.y; -R123i.z = ((R127i.y == 0)?(R127i.z):(uf_remappedVS[11].y)); -PV0i.z = R123i.z; -R123i.w = ((R127i.y == 0)?(R127i.w):(uf_remappedVS[11].x)); -PV0i.w = R123i.w; -// 7 -R1i.x = ((R126i.z == 0)?(uf_remappedVS[12].x):(PV0i.w)); -R1i.y = ((R126i.z == 0)?(uf_remappedVS[12].y):(PV0i.z)); -R1i.z = ((R126i.z == 0)?(uf_remappedVS[12].z):(PV0i.y)); -R1i.w = ((R126i.z == 0)?(uf_remappedVS[12].w):(PV0i.x)); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (0 != uf_remappedVS[13].x); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w)))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = tempi.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R0i.x = uf_remappedVS[1].x & int(1); -// 1 -backupReg0i = R0i.x; -predResult = (0 != backupReg0i); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R0i.w = uf_remappedVS[1].x & 0x00000002; -// 1 -predResult = (0 != R0i.w); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].x & 0x00010000; -R127i.y = uf_remappedVS[1].x & 0x00000010; -PV0i.y = R127i.y; -R125i.z = uf_remappedVS[1].x & 0x00000004; -R127i.w = uf_remappedVS[1].x & 0x00000020; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[14].y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[14].x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[14].x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[14].y))); -R127i.z = ((PV0i.y == 0)?(R1i.y):(R1i.y)); -PS1i = R127i.z; -// 2 -R123i.x = ((R127i.y == 0)?(R1i.w):(R1i.w)); -PV0i.x = R123i.x; -R123i.y = ((R127i.y == 0)?(R1i.z):(R1i.z)); -PV0i.y = R123i.y; -R126i.z = ((R127i.x == 0)?(PV1i.x):(PV1i.z)); -PV0i.z = R126i.z; -R123i.w = ((R127i.x == 0)?(PV1i.y):(PV1i.w)); -PV0i.w = R123i.w; -R124i.y = uf_remappedVS[1].x & 0x00000008; -PS0i = R124i.y; -// 3 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PV1i.x = R0i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -R123i.w = ((R127i.w == 0)?(PV0i.y):(PV0i.y)); -PV1i.w = R123i.w; -R122i.x = ((R127i.w == 0)?(PV0i.x):(PV0i.x)); -PS1i = R122i.x; -// 4 -backupReg0i = R127i.y; -R123i.x = ((R127i.w == 0)?(R127i.z):(PV1i.z)); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R127i.z = ((R125i.z == 0)?(PV1i.w):(PV1i.w)); -R123i.w = ((backupReg0i == 0)?(R1i.x):(PV1i.x)); -PV0i.w = R123i.w; -R126i.z = ((R125i.z == 0)?(PS1i):(PS1i)); -PS0i = R126i.z; -// 5 -R127i.x = ((R125i.z == 0)?(PV0i.x):(PV0i.x)); -PV1i.x = R127i.x; -R125i.y = ((R127i.w == 0)?(PV0i.w):(PV0i.w)); -PV1i.y = R125i.y; -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.y)); -// 7 -R123i.y = ((R125i.z == 0)?(R125i.y):(PV0i.z)); -PV1i.y = R123i.y; -// 8 -R1i.x = ((R124i.y == 0)?(PV1i.y):(PV1i.y)); -R1i.y = ((R124i.y == 0)?(R127i.x):(R126i.x)); -R1i.z = ((R124i.y == 0)?(R127i.z):(R127i.z)); -R1i.w = ((R124i.y == 0)?(R126i.z):(R126i.z)); -PS0i = R1i.w; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R0i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + 1.0); -PV0i.x = R0i.x; -R126i.y = uf_remappedVS[1].x & 0x00010000; -R127i.z = uf_remappedVS[1].x & 0x00040000; -PV0i.w = uf_remappedVS[1].x & 0x00020000; -// 1 -R123i.x = ((PV0i.w == 0)?(R1i.z):(R1i.z)); -PV1i.x = R123i.x; -R127i.y = ((PV0i.w == 0)?(R1i.y):(R1i.y)); -PV1i.y = R127i.y; -R123i.z = ((PV0i.w == 0)?(R1i.x):(PV0i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.w == 0)?(R1i.w):(R1i.w)); -PV1i.w = R123i.w; -// 2 -R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x)); -R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w)); -// 3 -R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y)); -PV1i.w = R123i.w; -// 4 -R1i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w)); -R1i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x)); -R1i.z = ((R126i.y == 0)?(R126i.z):(R126i.z)); -R1i.w = ((R126i.y == 0)?(R127i.w):(R127i.w)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.x = PV0i.x; -R0i.w = PV0i.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedVS[16].w))); -// 2 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(PS1i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),1.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R0i.y; -} -// export -gl_Position = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -if (//isCurrentSizeEqualTo(vec2(36, 36)) || //master mode logo - isCurrentSizeEqualTo(vec2(80, 80)) || - isCurrentSizeEqualTo(vec2(84, 84)) || - isCurrentSizeEqualTo(vec2(90, 90)) //stamina red with weapon - ) { - gl_Position.y -= 9000.0; -} -if (isCurrentSizeEqualTo(vec2(32, 32)) && // hearts but also inventory icons - (uf_remappedVS[3].w == 1133903872 || uf_remappedVS[3].w == 1134559232)) { - gl_Position.y -= 9000.0; -} -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.x), intBitsToFloat(R0i.w)); -} diff --git a/Enhancement/BreathOfTheWild_Pro+/f56fcbd319ceba00_0000000000000000_vs.txt b/Enhancement/BreathOfTheWild_Pro+/f56fcbd319ceba00_0000000000000000_vs.txt deleted file mode 100644 index 4ac461dc..00000000 --- a/Enhancement/BreathOfTheWild_Pro+/f56fcbd319ceba00_0000000000000000_vs.txt +++ /dev/null @@ -1,715 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader f56fcbd319ceba00 -// PRO+ hud v2 -uniform ivec4 uf_remappedVS[23]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -bool isCurrentSizeEqualTo(vec2 param) { - float result = distance(param, intBitsToFloat(uf_remappedVS[0]).xy); - return (result <= 0.001); -} -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedVS[0].x))); -R0i.yzw = ivec3(floatBitsToInt(-(intBitsToFloat(R1i.y))),0,0x3f800000); -PV0i.y = R0i.y; -R127i.w = floatBitsToInt(1.0); -PS0i = R127i.w; -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedVS[0].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedVS[0].y))); -// 2 -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_remappedVS[0].w)); -PV0i.y = R0i.y; -R1i.w = uf_remappedVS[1].x & 0x40000000; -// 3 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -// 4 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -// 6 -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w)))); -PV0i.x = R5i.x; -PV0i.y = R5i.x; -PV0i.z = R5i.x; -PV0i.w = R5i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.y = tempi.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.z = tempi.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.w = tempi.x; -// 10 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[9].x))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[9].y))); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[9].y))); -PS0i = R3i.x; -// 11 -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[9].x))); -// 12 -predResult = (0 != R1i.w); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R1i.z = uf_remappedVS[1].x & 0x00000002; -// 1 -predResult = (0 != R1i.z); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R1i.y; -R1i.yzw = ivec3(backupReg0i,0,0x3f800000); -PV0i.y = R1i.y; -PV0i.z = R1i.z; -PV0i.w = R1i.w; -// 1 -R4i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z); -R4i.w = PV0i.w; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PS0i = int(intBitsToFloat(R1i.y)); -// 1 -PV1i.z = PS0i << int(1); -PS1i = int(intBitsToFloat(R1i.x)); -// 2 -R125i.x = PV1i.z + PS1i; -PV0i.x = R125i.x; -// 3 -R127i.x = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0); -R125i.y = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0); -R127i.z = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0); -PV1i.z = R127i.z; -R126i.w = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0); -// 4 -R126i.x = ((PV1i.z == 0)?(uf_remappedVS[10].y):(uf_remappedVS[11].y)); -R127i.y = ((PV1i.z == 0)?(uf_remappedVS[10].x):(uf_remappedVS[11].x)); -// 5 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -R127i.z = ((backupReg0i == 0)?(uf_remappedVS[10].w):(uf_remappedVS[11].w)); -R127i.w = ((backupReg0i == 0)?(uf_remappedVS[10].z):(uf_remappedVS[11].z)); -// 6 -R126i.z = ((R127i.x == 0)?(uf_remappedVS[12].y):(uf_remappedVS[13].y)); -R125i.w = ((R127i.x == 0)?(uf_remappedVS[12].x):(uf_remappedVS[13].x)); -// 7 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = ((backupReg0i == 0)?(uf_remappedVS[12].w):(uf_remappedVS[13].w)); -R126i.y = ((backupReg0i == 0)?(uf_remappedVS[12].z):(uf_remappedVS[13].z)); -// 8 -backupReg0i = R126i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R126i.x = ((R126i.w == 0)?(backupReg0i):(uf_remappedVS[14].y)); -R127i.y = ((R126i.w == 0)?(backupReg1i):(uf_remappedVS[14].x)); -R127i.z = ((R126i.w == 0)?(backupReg2i):(uf_remappedVS[14].w)); -R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_remappedVS[14].z)); -// 9 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R125i.w; -R127i.x = ((R125i.y == 0)?(backupReg0i):(uf_remappedVS[15].w)); -R126i.y = ((R125i.y == 0)?(backupReg1i):(uf_remappedVS[15].z)); -R126i.z = ((R125i.y == 0)?(backupReg2i):(uf_remappedVS[15].y)); -R125i.w = ((R125i.y == 0)?(backupReg3i):(uf_remappedVS[15].x)); -// 10 -R1i.x = ((R125i.x == 0)?(uf_remappedVS[16].x):(R127i.y)); -R1i.y = ((R125i.x == 0)?(uf_remappedVS[16].y):(R126i.x)); -R1i.z = ((R125i.x == 0)?(uf_remappedVS[16].z):(R127i.w)); -R1i.w = ((R125i.x == 0)?(uf_remappedVS[16].w):(R127i.z)); -// 11 -R4i.x = ((R125i.x == 0)?(uf_remappedVS[17].x):(R125i.w)); -R4i.y = ((R125i.x == 0)?(uf_remappedVS[17].y):(R126i.z)); -R4i.z = ((R125i.x == 0)?(uf_remappedVS[17].z):(R126i.y)); -R4i.w = ((R125i.x == 0)?(uf_remappedVS[17].w):(R127i.x)); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R4i.y = uf_remappedVS[1].x & 0x00000002; -// 1 -predResult = (0 != R4i.y); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R1i.y; -R1i.yzw = ivec3(backupReg0i,0,0x3f800000); -PV0i.y = R1i.y; -PV0i.z = R1i.z; -PV0i.w = R1i.w; -// 1 -R4i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z); -R4i.w = PV0i.w; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PS0i = int(intBitsToFloat(R1i.y)); -// 1 -PV1i.z = PS0i << int(1); -PS1i = int(intBitsToFloat(R1i.x)); -// 2 -R125i.x = PV1i.z + PS1i; -PV0i.x = R125i.x; -// 3 -R127i.x = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0); -R125i.y = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0); -R127i.z = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0); -PV1i.z = R127i.z; -R126i.w = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0); -// 4 -R126i.x = ((PV1i.z == 0)?(uf_remappedVS[10].y):(uf_remappedVS[11].y)); -R127i.y = ((PV1i.z == 0)?(uf_remappedVS[10].x):(uf_remappedVS[11].x)); -// 5 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -R127i.z = ((backupReg0i == 0)?(uf_remappedVS[10].w):(uf_remappedVS[11].w)); -R127i.w = ((backupReg0i == 0)?(uf_remappedVS[10].z):(uf_remappedVS[11].z)); -// 6 -R126i.z = ((R127i.x == 0)?(uf_remappedVS[12].y):(uf_remappedVS[13].y)); -R125i.w = ((R127i.x == 0)?(uf_remappedVS[12].x):(uf_remappedVS[13].x)); -// 7 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = ((backupReg0i == 0)?(uf_remappedVS[12].w):(uf_remappedVS[13].w)); -R126i.y = ((backupReg0i == 0)?(uf_remappedVS[12].z):(uf_remappedVS[13].z)); -// 8 -backupReg0i = R126i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R126i.x = ((R126i.w == 0)?(backupReg0i):(uf_remappedVS[14].y)); -R127i.y = ((R126i.w == 0)?(backupReg1i):(uf_remappedVS[14].x)); -R127i.z = ((R126i.w == 0)?(backupReg2i):(uf_remappedVS[14].w)); -R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_remappedVS[14].z)); -// 9 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R125i.w; -R127i.x = ((R125i.y == 0)?(backupReg0i):(uf_remappedVS[15].w)); -R126i.y = ((R125i.y == 0)?(backupReg1i):(uf_remappedVS[15].z)); -R126i.z = ((R125i.y == 0)?(backupReg2i):(uf_remappedVS[15].y)); -R125i.w = ((R125i.y == 0)?(backupReg3i):(uf_remappedVS[15].x)); -// 10 -R1i.x = ((R125i.x == 0)?(uf_remappedVS[16].x):(R127i.y)); -R1i.y = ((R125i.x == 0)?(uf_remappedVS[16].y):(R126i.x)); -R1i.z = ((R125i.x == 0)?(uf_remappedVS[16].z):(R127i.w)); -R1i.w = ((R125i.x == 0)?(uf_remappedVS[16].w):(R127i.z)); -// 11 -R4i.x = ((R125i.x == 0)?(uf_remappedVS[17].x):(R125i.w)); -R4i.y = ((R125i.x == 0)?(uf_remappedVS[17].y):(R126i.z)); -R4i.z = ((R125i.x == 0)?(uf_remappedVS[17].z):(R126i.y)); -R4i.w = ((R125i.x == 0)?(uf_remappedVS[17].w):(R127i.x)); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (0 != uf_remappedVS[18].x); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = tempi.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R6i.x = uf_remappedVS[1].x & int(1); -// 1 -predResult = (0 != R6i.x); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = uf_remappedVS[1].x & 0x00000002; -// 1 -predResult = (0 != R2i.w); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = uf_remappedVS[1].x & 0x00010000; -R127i.y = uf_remappedVS[1].x & 0x00000010; -PV0i.y = R127i.y; -R125i.z = uf_remappedVS[1].x & 0x00000004; -R127i.w = uf_remappedVS[1].x & 0x00000020; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.w):(R1i.w)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R1i.z):(R1i.z)); -PV1i.y = R123i.y; -R126i.z = ((PV0i.x == 0)?(R2i.y):(R3i.y)); -PV1i.z = R126i.z; -R123i.w = ((PV0i.x == 0)?(R2i.x):(R3i.x)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.y == 0)?(R1i.y):(R1i.y)); -PS1i = R127i.z; -// 2 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.w))); -PV0i.x = R6i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.z))); -R123i.w = ((R127i.w == 0)?(PV1i.y):(PV1i.y)); -PV0i.w = R123i.w; -R122i.x = ((R127i.w == 0)?(PV1i.x):(PV1i.x)); -PS0i = R122i.x; -// 3 -backupReg0i = R127i.y; -R123i.x = ((R127i.w == 0)?(R127i.z):(PV0i.z)); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R127i.z = ((R125i.z == 0)?(PV0i.w):(PV0i.w)); -R123i.w = ((backupReg0i == 0)?(R1i.x):(PV0i.x)); -PV1i.w = R123i.w; -R124i.z = ((R125i.z == 0)?(PS0i):(PS0i)); -PS1i = R124i.z; -// 4 -R127i.x = ((R125i.z == 0)?(PV1i.x):(PV1i.x)); -PV0i.x = R127i.x; -R125i.y = ((R127i.w == 0)?(PV1i.w):(PV1i.w)); -PV0i.y = R125i.y; -R126i.z = uf_remappedVS[1].x & 0x00000008; -// 5 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R126i.y)); -// 6 -R123i.y = ((R125i.z == 0)?(R125i.y):(PV1i.z)); -PV0i.y = R123i.y; -// 7 -R1i.x = ((R126i.z == 0)?(PV0i.y):(PV0i.y)); -R1i.y = ((R126i.z == 0)?(R127i.x):(R126i.x)); -R1i.z = ((R126i.z == 0)?(R127i.z):(R127i.z)); -// 8 -R1i.w = ((R126i.z == 0)?(R124i.z):(R124i.z)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R6i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + 1.0); -PV0i.x = R6i.x; -R126i.y = uf_remappedVS[1].x & 0x00010000; -R127i.z = uf_remappedVS[1].x & 0x00040000; -PV0i.w = uf_remappedVS[1].x & 0x00020000; -// 1 -R123i.x = ((PV0i.w == 0)?(R1i.z):(R1i.z)); -PV1i.x = R123i.x; -R127i.y = ((PV0i.w == 0)?(R1i.y):(R1i.y)); -PV1i.y = R127i.y; -R123i.z = ((PV0i.w == 0)?(R1i.x):(PV0i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.w == 0)?(R1i.w):(R1i.w)); -PV1i.w = R123i.w; -// 2 -R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x)); -R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w)); -// 3 -R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y)); -PV1i.w = R123i.w; -// 4 -R1i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w)); -R1i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x)); -R1i.z = ((R126i.y == 0)?(R126i.z):(R126i.z)); -R1i.w = ((R126i.y == 0)?(R127i.w):(R127i.w)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),intBitsToFloat(uf_remappedVS[19].w)))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -// 1 -backupReg0i = R1i.x; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[20].x),intBitsToFloat(uf_remappedVS[20].y),intBitsToFloat(uf_remappedVS[20].z),intBitsToFloat(uf_remappedVS[20].w)))); -PV1i.x = R1i.x; -PV1i.y = R1i.x; -PV1i.z = R1i.x; -PV1i.w = R1i.x; -R1i.y = PV0i.x; -PS1i = R1i.y; -// 2 -R1i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -R1i.w = R127i.x; -// 3 -predResult = (0 != uf_remappedVS[18].y); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV0i.x = R4i.x; -PV0i.y = R4i.x; -PV0i.z = R4i.x; -PV0i.w = R4i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.z = tempi.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.w = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R0i.y = uf_remappedVS[1].x & int(1); -// 1 -predResult = (0 != R0i.y); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R0i.x = uf_remappedVS[1].x & 0x00000002; -// 1 -backupReg0i = R0i.x; -predResult = (0 != backupReg0i); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].x & 0x00000020; -R127i.y = uf_remappedVS[1].x & 0x00000010; -PV0i.y = R127i.y; -R125i.z = uf_remappedVS[1].x & 0x00000004; -PV0i.w = uf_remappedVS[1].x & 0x00010000; -// 1 -R123i.x = ((PV0i.w == 0)?(R2i.y):(R3i.y)); -PV1i.x = R123i.x; -R123i.z = ((PV0i.w == 0)?(R2i.x):(R3i.x)); -PV1i.z = R123i.z; -R125i.w = uf_remappedVS[1].x & 0x00000008; -R127i.z = ((PV0i.y == 0)?(R4i.y):(R4i.y)); -PS1i = R127i.z; -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.z))); -PV0i.x = R0i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -// 3 -R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y)); -PV1i.z = R123i.z; -R123i.w = ((R127i.y == 0)?(R4i.x):(PV0i.x)); -PV1i.w = R123i.w; -// 4 -backupReg0i = R127i.x; -R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z)); -PV0i.x = R127i.x; -R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w)); -PV0i.w = R126i.w; -// 5 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z)); -// 6 -R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z)); -PV0i.y = R123i.y; -// 7 -R4i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y)); -R4i.y = ((R125i.w == 0)?(R127i.x):(R126i.x)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R0i.x = floatBitsToInt(-(intBitsToFloat(R4i.x)) + 1.0); -PV0i.x = R0i.x; -PV0i.y = uf_remappedVS[1].x & 0x00020000; -R127i.z = uf_remappedVS[1].x & 0x00040000; -R126i.w = uf_remappedVS[1].x & 0x00010000; -// 1 -R123i.x = ((PV0i.y == 0)?(R4i.x):(PV0i.x)); -PV1i.x = R123i.x; -R127i.w = ((PV0i.y == 0)?(R4i.y):(R4i.y)); -PV1i.w = R127i.w; -// 2 -R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y)); -PV1i.w = R123i.w; -// 4 -R4i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w)); -R4i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),intBitsToFloat(uf_remappedVS[21].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.x = PV0i.x; -R0i.w = PV0i.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedVS[22].w))); -// 2 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(PS1i)),vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),1.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R0i.y; -} -// export -gl_Position = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -if (isCurrentSizeEqualTo(vec2(70, 70)) || - isCurrentSizeEqualTo(vec2(80, 80)) //stamina 3rd red flash - ) { - gl_Position.y -= 9000.0; -} - -if (isCurrentSizeEqualTo(vec2(56, 56)) && - uf_remappedVS[9].x == 1016219941) { - // stamina 1st red flash but also shrine map marker glow - gl_Position.y -= 9000.0; -} -// export -passParameterSem0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.x), intBitsToFloat(R0i.w)); -} diff --git a/Enhancement/BreathOfTheWild_Pro+/f7ba548c1fefe24a_0000000000000000_vs.txt b/Enhancement/BreathOfTheWild_Pro+/f7ba548c1fefe24a_0000000000000000_vs.txt deleted file mode 100644 index 2589f629..00000000 --- a/Enhancement/BreathOfTheWild_Pro+/f7ba548c1fefe24a_0000000000000000_vs.txt +++ /dev/null @@ -1,1222 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader f7ba548c1fefe24a -// PRO+ hud v2 -uniform ivec4 uf_uniformRegisterVS[256]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -bool isCurrentSizeEqualTo(vec2 param) { - float result = distance(param, intBitsToFloat(uf_uniformRegisterVS[17]).xy); - return (result <= 0.001); -} -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[14]; -bool activeMaskStackC[15]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStack[4] = false; -activeMaskStack[5] = false; -activeMaskStack[6] = false; -activeMaskStack[7] = false; -activeMaskStack[8] = false; -activeMaskStack[9] = false; -activeMaskStack[10] = false; -activeMaskStack[11] = false; -activeMaskStack[12] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStackC[5] = false; -activeMaskStackC[6] = false; -activeMaskStackC[7] = false; -activeMaskStackC[8] = false; -activeMaskStackC[9] = false; -activeMaskStackC[10] = false; -activeMaskStackC[11] = false; -activeMaskStackC[12] = false; -activeMaskStackC[13] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_uniformRegisterVS[17].x))); -R0i.yzw = ivec3(floatBitsToInt(-(intBitsToFloat(R1i.y))),0,0x3f800000); -PV0i.y = R0i.y; -R127i.w = floatBitsToInt(1.0); -PS0i = R127i.w; -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_uniformRegisterVS[17].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_uniformRegisterVS[17].y))); -// 2 -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_uniformRegisterVS[17].w)); -PV0i.y = R0i.y; -R1i.w = uf_uniformRegisterVS[2].x & 0x40000000; -// 3 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_uniformRegisterVS[4].x),intBitsToFloat(uf_uniformRegisterVS[4].y),intBitsToFloat(uf_uniformRegisterVS[4].z),intBitsToFloat(uf_uniformRegisterVS[4].w)))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -// 4 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[5].x),intBitsToFloat(uf_uniformRegisterVS[5].y),intBitsToFloat(uf_uniformRegisterVS[5].z),intBitsToFloat(uf_uniformRegisterVS[5].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[6].x),intBitsToFloat(uf_uniformRegisterVS[6].y),intBitsToFloat(uf_uniformRegisterVS[6].z),intBitsToFloat(uf_uniformRegisterVS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -// 6 -R9i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[8].x),intBitsToFloat(uf_uniformRegisterVS[8].y),intBitsToFloat(uf_uniformRegisterVS[8].z),intBitsToFloat(uf_uniformRegisterVS[8].w)))); -PV0i.x = R9i.x; -PV0i.y = R9i.x; -PV0i.z = R9i.x; -PV0i.w = R9i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[9].x),intBitsToFloat(uf_uniformRegisterVS[9].y),intBitsToFloat(uf_uniformRegisterVS[9].z),intBitsToFloat(uf_uniformRegisterVS[9].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.y = tempi.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[10].x),intBitsToFloat(uf_uniformRegisterVS[10].y),intBitsToFloat(uf_uniformRegisterVS[10].z),intBitsToFloat(uf_uniformRegisterVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.z = tempi.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[11].x),intBitsToFloat(uf_uniformRegisterVS[11].y),intBitsToFloat(uf_uniformRegisterVS[11].z),intBitsToFloat(uf_uniformRegisterVS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.w = tempi.x; -// 10 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[17].x), intBitsToFloat(uf_uniformRegisterVS[12].x))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[17].y), intBitsToFloat(uf_uniformRegisterVS[12].y))); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[17].x), intBitsToFloat(uf_uniformRegisterVS[12].y))); -PS0i = R3i.x; -// 11 -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[17].y), intBitsToFloat(uf_uniformRegisterVS[12].x))); -// 12 -predResult = (0 != R1i.w); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R1i.z = uf_uniformRegisterVS[2].x & 0x00000002; -// 1 -predResult = (0 != R1i.z); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R1i.y; -R1i.yzw = ivec3(backupReg0i,0,0x3f800000); -PV0i.y = R1i.y; -PV0i.z = R1i.z; -PV0i.w = R1i.w; -// 1 -R5i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z); -PV1i.x = R5i.x; -PV1i.y = R5i.y; -PV1i.z = R5i.z; -R5i.w = PV0i.w; -PV1i.w = R5i.w; -// 2 -R6i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -R6i.w = PV1i.w; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PS0i = int(intBitsToFloat(R1i.y)); -// 1 -PV1i.z = PS0i << int(1); -PS1i = int(intBitsToFloat(R1i.x)); -// 2 -R125i.x = PV1i.z + PS1i; -PV0i.x = R125i.x; -// 3 -R127i.x = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0); -R125i.y = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0); -R127i.z = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0); -PV1i.z = R127i.z; -R126i.w = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0); -// 4 -R126i.x = ((PV1i.z == 0)?(uf_uniformRegisterVS[25].y):(uf_uniformRegisterVS[24].y)); -R127i.y = ((PV1i.z == 0)?(uf_uniformRegisterVS[25].x):(uf_uniformRegisterVS[24].x)); -// 5 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -R127i.z = ((backupReg0i == 0)?(uf_uniformRegisterVS[25].w):(uf_uniformRegisterVS[24].w)); -R127i.w = ((backupReg0i == 0)?(uf_uniformRegisterVS[25].z):(uf_uniformRegisterVS[24].z)); -// 6 -R126i.z = ((R127i.x == 0)?(uf_uniformRegisterVS[29].y):(uf_uniformRegisterVS[28].y)); -R125i.w = ((R127i.x == 0)?(uf_uniformRegisterVS[29].x):(uf_uniformRegisterVS[28].x)); -// 7 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = ((backupReg0i == 0)?(uf_uniformRegisterVS[29].w):(uf_uniformRegisterVS[28].w)); -R126i.y = ((backupReg0i == 0)?(uf_uniformRegisterVS[29].z):(uf_uniformRegisterVS[28].z)); -// 8 -backupReg0i = R126i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R126i.x = ((R126i.w == 0)?(backupReg0i):(uf_uniformRegisterVS[23].y)); -R127i.y = ((R126i.w == 0)?(backupReg1i):(uf_uniformRegisterVS[23].x)); -R127i.z = ((R126i.w == 0)?(backupReg2i):(uf_uniformRegisterVS[23].w)); -R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_uniformRegisterVS[23].z)); -// 9 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R125i.w; -R127i.x = ((R125i.y == 0)?(backupReg0i):(uf_uniformRegisterVS[27].w)); -R126i.y = ((R125i.y == 0)?(backupReg1i):(uf_uniformRegisterVS[27].z)); -R126i.z = ((R125i.y == 0)?(backupReg2i):(uf_uniformRegisterVS[27].y)); -R125i.w = ((R125i.y == 0)?(backupReg3i):(uf_uniformRegisterVS[27].x)); -// 10 -R5i.x = ((R125i.x == 0)?(uf_uniformRegisterVS[22].x):(R127i.y)); -R5i.y = ((R125i.x == 0)?(uf_uniformRegisterVS[22].y):(R126i.x)); -R5i.z = ((R125i.x == 0)?(uf_uniformRegisterVS[22].z):(R127i.w)); -R5i.w = ((R125i.x == 0)?(uf_uniformRegisterVS[22].w):(R127i.z)); -// 11 -R6i.x = ((R125i.x == 0)?(uf_uniformRegisterVS[26].x):(R125i.w)); -R6i.y = ((R125i.x == 0)?(uf_uniformRegisterVS[26].y):(R126i.z)); -R6i.z = ((R125i.x == 0)?(uf_uniformRegisterVS[26].z):(R126i.y)); -R6i.w = ((R125i.x == 0)?(uf_uniformRegisterVS[26].w):(R127i.x)); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R4i.xyz = ivec3(0x437f0000,0x437f0000,0x437f0000); -R4i.w = 0x437f0000; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.y = uf_uniformRegisterVS[2].x >> 0x00000008; -R1i.w = uf_uniformRegisterVS[2].x & 0x00000002; -// 1 -R4i.x = PV0i.y & 0x0000000f; -// 2 -predResult = (0 != R1i.w); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R6i.y = R1i.y; -R2i.z = 0; -R1i.w = 0x3f800000; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x)); -// 1 -R5i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].x)); -PV1i.x = R5i.x; -R4i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y)); -// 2 -R6i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS1i)); -PV0i.x = R6i.x; -R5i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS1i)); -R7i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R7i.x; -// 3 -R8i.x = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(PS0i)); -R1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PV1i.z = R1i.z; -R10i.x = floatBitsToInt(-(intBitsToFloat(R4i.y)) + 1.0); -PS1i = R10i.x; -// 4 -R3i.z = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PV1i.z)); -// 5 -predResult = (R4i.x == 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i))); -R4i.y = R6i.x; -PV0i.y = R4i.y; -// 1 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (R4i.x == int(1)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -backupReg0i = R4i.y; -R4i.y = 0; -PV0i.y = R4i.y; -PV0i.z = R6i.x; -PV0i.w = backupReg0i; -// 1 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R10i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -} -activeMaskStack[4] = activeMaskStack[4] == false; -activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true; -if( activeMaskStackC[5] == true ) { -activeMaskStack[5] = activeMaskStack[4]; -activeMaskStackC[6] = activeMaskStackC[5]; -// 0 -predResult = (R4i.x == 0x00000002); -activeMaskStack[5] = predResult; -activeMaskStackC[6] = predResult == true && activeMaskStackC[5] == true; -} -else { -activeMaskStack[5] = false; -activeMaskStackC[6] = false; -} -if( activeMaskStackC[6] == true ) { -// 0 -backupReg0i = R5i.y; -R5i.y = backupReg0i; -PV0i.y = R5i.y; -PV0i.z = R3i.z; -PV0i.w = 0; -// 1 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); -} -activeMaskStack[5] = activeMaskStack[5] == false; -activeMaskStackC[6] = activeMaskStack[5] == true && activeMaskStackC[5] == true; -if( activeMaskStackC[6] == true ) { -activeMaskStack[6] = activeMaskStack[5]; -activeMaskStackC[7] = activeMaskStackC[6]; -// 0 -predResult = (R4i.x == 0x00000003); -activeMaskStack[6] = predResult; -activeMaskStackC[7] = predResult == true && activeMaskStackC[6] == true; -} -else { -activeMaskStack[6] = false; -activeMaskStackC[7] = false; -} -if( activeMaskStackC[7] == true ) { -// 0 -backupReg0i = R4i.y; -R4i.y = R3i.z; -PV0i.y = R4i.y; -PV0i.z = R5i.y; -PV0i.w = backupReg0i; -// 1 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R10i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -} -activeMaskStack[6] = activeMaskStack[6] == false; -activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true; -if( activeMaskStackC[7] == true ) { -activeMaskStack[7] = activeMaskStack[6]; -activeMaskStackC[8] = activeMaskStackC[7]; -// 0 -predResult = (R4i.x == 0x00000004); -activeMaskStack[7] = predResult; -activeMaskStackC[8] = predResult == true && activeMaskStackC[7] == true; -} -else { -activeMaskStack[7] = false; -activeMaskStackC[8] = false; -} -if( activeMaskStackC[8] == true ) { -// 0 -R4i.y = R2i.w; -PV0i.y = R4i.y; -PV0i.z = R6i.x; -PV0i.w = 0; -// 1 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); -} -activeMaskStack[7] = activeMaskStack[7] == false; -activeMaskStackC[8] = activeMaskStack[7] == true && activeMaskStackC[7] == true; -if( activeMaskStackC[8] == true ) { -activeMaskStack[8] = activeMaskStack[7]; -activeMaskStackC[9] = activeMaskStackC[8]; -// 0 -predResult = (R4i.x == 0x00000005); -activeMaskStack[8] = predResult; -activeMaskStackC[9] = predResult == true && activeMaskStackC[8] == true; -} -else { -activeMaskStack[8] = false; -activeMaskStackC[9] = false; -} -if( activeMaskStackC[9] == true ) { -// 0 -backupReg0i = R4i.y; -R4i.y = R6i.x; -PV0i.y = R4i.y; -PV0i.z = R2i.w; -PV0i.w = backupReg0i; -// 1 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R10i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -} -activeMaskStack[8] = activeMaskStack[8] == false; -activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true; -if( activeMaskStackC[9] == true ) { -activeMaskStack[9] = activeMaskStack[8]; -activeMaskStackC[10] = activeMaskStackC[9]; -// 0 -predResult = (R4i.x == 0x00000006); -activeMaskStack[9] = predResult; -activeMaskStackC[10] = predResult == true && activeMaskStackC[9] == true; -} -else { -activeMaskStack[9] = false; -activeMaskStackC[10] = false; -} -if( activeMaskStackC[10] == true ) { -// 0 -R4i.y = R6i.x; -PV0i.y = R4i.y; -R5i.y = 0; -PS0i = R5i.y; -// 1 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(backupReg0i))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i))); -} -activeMaskStack[9] = activeMaskStack[9] == false; -activeMaskStackC[10] = activeMaskStack[9] == true && activeMaskStackC[9] == true; -if( activeMaskStackC[10] == true ) { -activeMaskStack[10] = activeMaskStack[9]; -activeMaskStackC[11] = activeMaskStackC[10]; -// 0 -predResult = (R4i.x == 0x00000007); -activeMaskStack[10] = predResult; -activeMaskStackC[11] = predResult == true && activeMaskStackC[10] == true; -} -else { -activeMaskStack[10] = false; -activeMaskStackC[11] = false; -} -if( activeMaskStackC[11] == true ) { -// 0 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(backupReg0i))); -R4i.y = R5i.y; -PV0i.y = R4i.y; -R5i.y = R3i.z; -PS0i = R5i.y; -// 1 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i))); -} -activeMaskStack[10] = activeMaskStack[10] == false; -activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true; -if( activeMaskStackC[11] == true ) { -activeMaskStack[11] = activeMaskStack[10]; -activeMaskStackC[12] = activeMaskStackC[11]; -// 0 -predResult = (R4i.x == 0x00000008); -activeMaskStack[11] = predResult; -activeMaskStackC[12] = predResult == true && activeMaskStackC[11] == true; -} -else { -activeMaskStack[11] = false; -activeMaskStackC[12] = false; -} -if( activeMaskStackC[12] == true ) { -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R10i.x))); -R4i.y = R6i.x; -PV0i.y = R4i.y; -// 1 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -} -activeMaskStack[11] = activeMaskStack[11] == false; -activeMaskStackC[12] = activeMaskStack[11] == true && activeMaskStackC[11] == true; -if( activeMaskStackC[12] == true ) { -activeMaskStack[12] = activeMaskStack[11]; -activeMaskStackC[13] = activeMaskStackC[12]; -// 0 -predResult = (R4i.x == 0x00000009); -activeMaskStack[12] = predResult; -activeMaskStackC[13] = predResult == true && activeMaskStackC[12] == true; -} -else { -activeMaskStack[12] = false; -activeMaskStackC[13] = false; -} -if( activeMaskStackC[13] == true ) { -// 0 -backupReg0i = R4i.y; -R4i.y = 0; -PV0i.y = R4i.y; -PV0i.z = R3i.z; -PV0i.w = backupReg0i; -// 1 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R10i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -} -activeMaskStack[12] = activeMaskStack[12] == false; -activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true; -if( activeMaskStackC[13] == true ) { -activeMaskStack[13] = activeMaskStack[12]; -activeMaskStackC[14] = activeMaskStackC[13]; -// 0 -predResult = (R4i.x == 0x0000000a); -activeMaskStack[13] = predResult; -activeMaskStackC[14] = predResult == true && activeMaskStackC[13] == true; -} -else { -activeMaskStack[13] = false; -activeMaskStackC[14] = false; -} -if( activeMaskStackC[14] == true ) { -// 0 -R4i.y = R1i.z; -PV0i.y = R4i.y; -PV0i.z = R6i.x; -PV0i.w = 0; -// 1 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z))); -} -activeMaskStack[13] = activeMaskStack[13] == false; -activeMaskStackC[14] = activeMaskStack[13] == true && activeMaskStackC[13] == true; -if( activeMaskStackC[14] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R10i.x))); -R4i.y = R2i.w; -PV0i.y = R4i.y; -R127i.z = (R4i.x == 0x0000000c)?int(0xFFFFFFFF):int(0x0); -PV0i.z = R127i.z; -R127i.w = (R4i.x == 0x0000000b)?int(0xFFFFFFFF):int(0x0); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -R4i.y = R3i.z; -PV1i.y = R4i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(R5i.x))); -PV1i.z = R123i.z; -R123i.w = ((PV0i.z == 0)?(0):(PV0i.x)); -PV1i.w = R123i.w; -// 2 -R5i.x = ((R127i.w == 0)?(PV1i.w):(PV1i.z)); -R123i.z = ((R127i.z == 0)?(0):(PV1i.x)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R5i.y)) + intBitsToFloat(PV1i.y))); -PV0i.w = R123i.w; -// 3 -R5i.y = ((R127i.w == 0)?(PV0i.z):(PV0i.w)); -} -activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true; -activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true; -activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true; -activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true; -activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R5i.x)) + 1.0); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].x))); -// 2 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[20].w)) + intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[20].z)) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[20].y)) + intBitsToFloat(PV1i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[20].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w))); -PS1i = R127i.w; -// 4 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[21].w)) + intBitsToFloat(PV1i.x))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[21].z)) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[21].y)) + intBitsToFloat(PV1i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(uf_uniformRegisterVS[21].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg0i))); -PS0i = R126i.z; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y))); -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); -PS1i = R4i.x; -// 6 -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y))); -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -// 7 -R5i.xyz = ivec3(R1i.x,R6i.y,R2i.z); -PV1i.x = R5i.x; -PV1i.y = R5i.y; -PV1i.z = R5i.z; -R5i.w = R1i.w; -PV1i.w = R5i.w; -// 8 -R6i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -R6i.w = PV1i.w; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PS0i = int(intBitsToFloat(R1i.y)); -// 1 -PV1i.z = PS0i << int(1); -PS1i = int(intBitsToFloat(R1i.x)); -// 2 -R7i.x = PV1i.z + PS1i; -PV0i.x = R7i.x; -// 3 -R127i.x = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0); -R125i.y = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0); -R127i.z = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0); -PV1i.z = R127i.z; -R126i.w = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0); -// 4 -R126i.x = ((PV1i.z == 0)?(uf_uniformRegisterVS[25].y):(uf_uniformRegisterVS[24].y)); -R127i.y = ((PV1i.z == 0)?(uf_uniformRegisterVS[25].x):(uf_uniformRegisterVS[24].x)); -// 5 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -R127i.z = ((backupReg0i == 0)?(uf_uniformRegisterVS[25].w):(uf_uniformRegisterVS[24].w)); -R127i.w = ((backupReg0i == 0)?(uf_uniformRegisterVS[25].z):(uf_uniformRegisterVS[24].z)); -// 6 -R126i.z = ((R127i.x == 0)?(uf_uniformRegisterVS[29].y):(uf_uniformRegisterVS[28].y)); -R125i.w = ((R127i.x == 0)?(uf_uniformRegisterVS[29].x):(uf_uniformRegisterVS[28].x)); -// 7 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = ((backupReg0i == 0)?(uf_uniformRegisterVS[29].w):(uf_uniformRegisterVS[28].w)); -R126i.y = ((backupReg0i == 0)?(uf_uniformRegisterVS[29].z):(uf_uniformRegisterVS[28].z)); -// 8 -backupReg0i = R126i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R126i.x = ((R126i.w == 0)?(backupReg0i):(uf_uniformRegisterVS[23].y)); -R127i.y = ((R126i.w == 0)?(backupReg1i):(uf_uniformRegisterVS[23].x)); -R127i.z = ((R126i.w == 0)?(backupReg2i):(uf_uniformRegisterVS[23].w)); -R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_uniformRegisterVS[23].z)); -// 9 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R125i.w; -R127i.x = ((R125i.y == 0)?(backupReg0i):(uf_uniformRegisterVS[27].w)); -R126i.y = ((R125i.y == 0)?(backupReg1i):(uf_uniformRegisterVS[27].z)); -R126i.z = ((R125i.y == 0)?(backupReg2i):(uf_uniformRegisterVS[27].y)); -R125i.w = ((R125i.y == 0)?(backupReg3i):(uf_uniformRegisterVS[27].x)); -// 10 -R5i.x = ((R7i.x == 0)?(uf_uniformRegisterVS[22].x):(R127i.y)); -R5i.y = ((R7i.x == 0)?(uf_uniformRegisterVS[22].y):(R126i.x)); -R5i.z = ((R7i.x == 0)?(uf_uniformRegisterVS[22].z):(R127i.w)); -R5i.w = ((R7i.x == 0)?(uf_uniformRegisterVS[22].w):(R127i.z)); -// 11 -R6i.x = ((R7i.x == 0)?(uf_uniformRegisterVS[26].x):(R125i.w)); -R6i.y = ((R7i.x == 0)?(uf_uniformRegisterVS[26].y):(R126i.z)); -R6i.z = ((R7i.x == 0)?(uf_uniformRegisterVS[26].z):(R126i.y)); -R6i.w = ((R7i.x == 0)?(uf_uniformRegisterVS[26].w):(R127i.x)); -// 12 -predResult = (R4i.x == 0x0000000d); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y)); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x)); -// 2 -R127i.x = PV1i.z; -R127i.y = PV1i.w; -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].x)); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].y)); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w)); -// 5 -backupReg0i = R127i.z; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -PV1i.w = R126i.w; -// 6 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[18].x))); -// 8 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[20].w)) + intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[20].z)) + intBitsToFloat(PV1i.y))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[20].y)) + intBitsToFloat(PV1i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[20].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[19].x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w))); -PS1i = R127i.w; -// 10 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -backupReg1i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[21].w)) + intBitsToFloat(PV1i.x))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_uniformRegisterVS[21].z)) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[21].y)) + intBitsToFloat(PV1i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_uniformRegisterVS[21].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg1i))); -PS0i = R126i.z; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y))); -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w))); -PS1i = R4i.x; -// 12 -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y))); -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = floatBitsToInt(float(R7i.x)); -PS0i = R127i.x; -// 1 -tempResultf = intBitsToFloat(PS0i); -tempResultf = floor(tempResultf); -tempResultf = clamp(tempResultf, -256.0, 255.0); -ARi.x = int(tempResultf); -PV1i.x = floatBitsToInt(tempResultf); -// 2 -R4i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+18].x,uf_uniformRegisterVS[ARi.x+18].y,uf_uniformRegisterVS[ARi.x+18].z); -R4i.w = uf_uniformRegisterVS[ARi.x+18].w; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (0 != uf_uniformRegisterVS[3].x); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[22].x),intBitsToFloat(uf_uniformRegisterVS[22].y),intBitsToFloat(uf_uniformRegisterVS[22].z),intBitsToFloat(uf_uniformRegisterVS[22].w)))); -PV0i.x = R5i.x; -PV0i.y = R5i.x; -PV0i.z = R5i.x; -PV0i.w = R5i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[23].x),intBitsToFloat(uf_uniformRegisterVS[23].y),intBitsToFloat(uf_uniformRegisterVS[23].z),intBitsToFloat(uf_uniformRegisterVS[23].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[24].x),intBitsToFloat(uf_uniformRegisterVS[24].y),intBitsToFloat(uf_uniformRegisterVS[24].z),intBitsToFloat(uf_uniformRegisterVS[24].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.z = tempi.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[25].x),intBitsToFloat(uf_uniformRegisterVS[25].y),intBitsToFloat(uf_uniformRegisterVS[25].z),intBitsToFloat(uf_uniformRegisterVS[25].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.w = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R1i.z = uf_uniformRegisterVS[2].x & int(1); -// 1 -predResult = (0 != R1i.z); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R1i.y = uf_uniformRegisterVS[2].x & 0x00000002; -// 1 -predResult = (0 != R1i.y); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = uf_uniformRegisterVS[2].x & 0x00010000; -R127i.y = uf_uniformRegisterVS[2].x & 0x00000010; -PV0i.y = R127i.y; -R125i.z = uf_uniformRegisterVS[2].x & 0x00000004; -R127i.w = uf_uniformRegisterVS[2].x & 0x00000020; -// 1 -R123i.x = ((PV0i.y == 0)?(R5i.w):(R5i.w)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R5i.z):(R5i.z)); -PV1i.y = R123i.y; -R126i.z = ((PV0i.x == 0)?(R2i.y):(R3i.y)); -PV1i.z = R126i.z; -R123i.w = ((PV0i.x == 0)?(R2i.x):(R3i.x)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.y == 0)?(R5i.y):(R5i.y)); -PS1i = R127i.z; -// 2 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w))); -PV0i.x = R1i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.z))); -R123i.w = ((R127i.w == 0)?(PV1i.y):(PV1i.y)); -PV0i.w = R123i.w; -R122i.x = ((R127i.w == 0)?(PV1i.x):(PV1i.x)); -PS0i = R122i.x; -// 3 -backupReg0i = R127i.y; -R123i.x = ((R127i.w == 0)?(R127i.z):(PV0i.z)); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R127i.z = ((R125i.z == 0)?(PV0i.w):(PV0i.w)); -R123i.w = ((backupReg0i == 0)?(R5i.x):(PV0i.x)); -PV1i.w = R123i.w; -R124i.z = ((R125i.z == 0)?(PS0i):(PS0i)); -PS1i = R124i.z; -// 4 -R127i.x = ((R125i.z == 0)?(PV1i.x):(PV1i.x)); -PV0i.x = R127i.x; -R125i.y = ((R127i.w == 0)?(PV1i.w):(PV1i.w)); -PV0i.y = R125i.y; -R126i.z = uf_uniformRegisterVS[2].x & 0x00000008; -// 5 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R126i.y)); -// 6 -R123i.y = ((R125i.z == 0)?(R125i.y):(PV1i.z)); -PV0i.y = R123i.y; -// 7 -R5i.x = ((R126i.z == 0)?(PV0i.y):(PV0i.y)); -R5i.y = ((R126i.z == 0)?(R127i.x):(R126i.x)); -R5i.z = ((R126i.z == 0)?(R127i.z):(R127i.z)); -// 8 -R5i.w = ((R126i.z == 0)?(R124i.z):(R124i.z)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt(-(intBitsToFloat(R5i.x)) + 1.0); -PV0i.x = R1i.x; -R126i.y = uf_uniformRegisterVS[2].x & 0x00010000; -R127i.z = uf_uniformRegisterVS[2].x & 0x00040000; -PV0i.w = uf_uniformRegisterVS[2].x & 0x00020000; -// 1 -R123i.x = ((PV0i.w == 0)?(R5i.z):(R5i.z)); -PV1i.x = R123i.x; -R127i.y = ((PV0i.w == 0)?(R5i.y):(R5i.y)); -PV1i.y = R127i.y; -R123i.z = ((PV0i.w == 0)?(R5i.x):(PV0i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.w == 0)?(R5i.w):(R5i.w)); -PV1i.w = R123i.w; -// 2 -R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x)); -R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w)); -// 3 -R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y)); -PV1i.w = R123i.w; -// 4 -R5i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w)); -R5i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x)); -R5i.z = ((R126i.y == 0)?(R126i.z):(R126i.z)); -R5i.w = ((R126i.y == 0)?(R127i.w):(R127i.w)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[14].x),intBitsToFloat(uf_uniformRegisterVS[14].y),intBitsToFloat(uf_uniformRegisterVS[14].z),intBitsToFloat(uf_uniformRegisterVS[14].w)))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -// 1 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[13].x),intBitsToFloat(uf_uniformRegisterVS[13].y),intBitsToFloat(uf_uniformRegisterVS[13].z),intBitsToFloat(uf_uniformRegisterVS[13].w)))); -PV1i.x = R5i.x; -PV1i.y = R5i.x; -PV1i.z = R5i.x; -PV1i.w = R5i.x; -R1i.y = PV0i.x; -PS1i = R1i.y; -// 2 -R5i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -R5i.w = R127i.x; -// 3 -predResult = (0 != uf_uniformRegisterVS[3].y); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[26].x),intBitsToFloat(uf_uniformRegisterVS[26].y),intBitsToFloat(uf_uniformRegisterVS[26].z),intBitsToFloat(uf_uniformRegisterVS[26].w)))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[27].x),intBitsToFloat(uf_uniformRegisterVS[27].y),intBitsToFloat(uf_uniformRegisterVS[27].z),intBitsToFloat(uf_uniformRegisterVS[27].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_uniformRegisterVS[28].x),intBitsToFloat(uf_uniformRegisterVS[28].y),intBitsToFloat(uf_uniformRegisterVS[28].z),intBitsToFloat(uf_uniformRegisterVS[28].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[29].x),intBitsToFloat(uf_uniformRegisterVS[29].y),intBitsToFloat(uf_uniformRegisterVS[29].z),intBitsToFloat(uf_uniformRegisterVS[29].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.w = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R0i.w = uf_uniformRegisterVS[2].x & int(1); -// 1 -predResult = (0 != R0i.w); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R0i.z = uf_uniformRegisterVS[2].x & 0x00000002; -// 1 -predResult = (0 != R0i.z); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_uniformRegisterVS[2].x & 0x00000020; -R127i.y = uf_uniformRegisterVS[2].x & 0x00000010; -PV0i.y = R127i.y; -R125i.z = uf_uniformRegisterVS[2].x & 0x00000004; -PV0i.w = uf_uniformRegisterVS[2].x & 0x00010000; -// 1 -R123i.x = ((PV0i.w == 0)?(R2i.y):(R3i.y)); -PV1i.x = R123i.x; -R123i.z = ((PV0i.w == 0)?(R2i.x):(R3i.x)); -PV1i.z = R123i.z; -R125i.w = uf_uniformRegisterVS[2].x & 0x00000008; -R127i.z = ((PV0i.y == 0)?(R6i.y):(R6i.y)); -PS1i = R127i.z; -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.z))); -PV0i.x = R0i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -// 3 -R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y)); -PV1i.z = R123i.z; -R123i.w = ((R127i.y == 0)?(R6i.x):(PV0i.x)); -PV1i.w = R123i.w; -// 4 -backupReg0i = R127i.x; -R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z)); -PV0i.x = R127i.x; -R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w)); -PV0i.w = R126i.w; -// 5 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z)); -// 6 -R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z)); -PV0i.y = R123i.y; -// 7 -R6i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y)); -R6i.y = ((R125i.w == 0)?(R127i.x):(R126i.x)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R0i.x = floatBitsToInt(-(intBitsToFloat(R6i.x)) + 1.0); -PV0i.x = R0i.x; -PV0i.y = uf_uniformRegisterVS[2].x & 0x00020000; -R127i.z = uf_uniformRegisterVS[2].x & 0x00040000; -R126i.w = uf_uniformRegisterVS[2].x & 0x00010000; -// 1 -R123i.x = ((PV0i.y == 0)?(R6i.x):(PV0i.x)); -PV1i.x = R123i.x; -R127i.w = ((PV0i.y == 0)?(R6i.y):(R6i.y)); -PV1i.w = R127i.w; -// 2 -R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y)); -PV1i.w = R123i.w; -// 4 -R6i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w)); -R6i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[16].x),intBitsToFloat(uf_uniformRegisterVS[16].y),intBitsToFloat(uf_uniformRegisterVS[16].z),intBitsToFloat(uf_uniformRegisterVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.x = PV0i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(uf_uniformRegisterVS[0].y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(uf_uniformRegisterVS[0].z))); -R1i.w = PV0i.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(uf_uniformRegisterVS[0].x))); -PS1i = R0i.x; -// 2 -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_uniformRegisterVS[15].x),intBitsToFloat(uf_uniformRegisterVS[15].y),intBitsToFloat(uf_uniformRegisterVS[15].z),intBitsToFloat(uf_uniformRegisterVS[15].w)))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -R1i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R1i.y; -// 3 -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_uniformRegisterVS[0].w))); -} -// export -gl_Position = vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -if (isCurrentSizeEqualTo(vec2(56, 56)) - || isCurrentSizeEqualTo(vec2(70, 70))) { - gl_Position.y -= 9000.0; -} -if (isCurrentSizeEqualTo(vec2(80, 80)) && - (uf_uniformRegisterVS[7].x == 1069928833)) { - //stamina 3rd circle, but also inventory orb glow - gl_Position.y -= 9000.0; -} -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.x), intBitsToFloat(R5i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w)); -} diff --git a/Enhancement/BreathOfTheWild_Pro+/rules.txt b/Enhancement/BreathOfTheWild_Pro+/rules.txt deleted file mode 100644 index d60090b5..00000000 --- a/Enhancement/BreathOfTheWild_Pro+/rules.txt +++ /dev/null @@ -1,25 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - Pro+ HUD" -version = 2 - -[TextureRedefine] # Disable Hearts -width = 48 -height = 48 -formats = 0x007 -tilemodes = 4 -overwriteFormat = 0x005 - -[TextureRedefine] # Disable text from subtitles, currupts some text. -width = 1024 -height = 1024 -formats = 0x034 -# Remove the hash sign ('#') from the line below to enable. -#overwriteFormat = 0x235 - -[TextureRedefine] # Disable text from subtitles, currupts some text. -width = 512 -height = 1024 -formats = 0x034 -# Remove the hash sign ('#') from the line below to enable. -#overwriteFormat = 0x235 diff --git a/Enhancement/BreathOfTheWild_ReflExtra/rules.txt b/Enhancement/BreathOfTheWild_ReflExtra/rules.txt deleted file mode 100644 index f9e50791..00000000 --- a/Enhancement/BreathOfTheWild_ReflExtra/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - ReflExtra - Enhanced Reflections" -version = 2 \ No newline at end of file diff --git a/Enhancement/CaptainToad_0AARemoval/37a4ec1a7dbc7391_00000000000003c9_ps.txt b/Enhancement/CaptainToad_0AARemoval/37a4ec1a7dbc7391_00000000000003c9_ps.txt deleted file mode 100644 index 473b2839..00000000 --- a/Enhancement/CaptainToad_0AARemoval/37a4ec1a7dbc7391_00000000000003c9_ps.txt +++ /dev/null @@ -1,182 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader 37a4ec1a7dbc7391 -uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5800800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x15c28800 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem2; -if( activeMaskStackC[1] == true ) { -R2f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -//R4f.xyzw = (textureGather(textureUnitPS1, R0f.xy).wzxy); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0f.x = max(R4f.z, R4f.x); -PV0f.y = min(R4f.w, R4f.y); -PV0f.z = R2f.x * intBitsToFloat(uf_remappedPS[0].x); -PV0f.w = min(R4f.z, R4f.x); -PS0f = max(R4f.w, R4f.y); -// 1 -R123f.x = (R2f.y * intBitsToFloat(uf_remappedPS[0].y) + PV0f.z); -PV1f.x = R123f.x; -PV1f.y = max(PV0f.x, PS0f); -R127f.z = R4f.z + -(R4f.y); -PV1f.z = R127f.z; -PV1f.w = min(PV0f.w, PV0f.y); -R126f.z = R4f.w + -(R4f.x); -PS1f = R126f.z; -// 2 -PV0f.x = max(PV1f.x, PV1f.y); -PV0f.y = PV1f.y * intBitsToFloat(uf_remappedPS[1].x); -PV0f.z = min(PV1f.x, PV1f.w); -R3f.x = PV1f.z + PS1f; -PS0f = R3f.x; -// 3 -R1f.x = max(PV0f.y, intBitsToFloat(uf_remappedPS[1].y)); -R3f.y = R127f.z + -(R126f.z); -R0f.w = -(PV0f.z) + PV0f.x; -// 4 -predResult = (R0f.w > R1f.x); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1f.x = R4f.y + R4f.x; -PV0f.x = R1f.x; -R1f.y = intBitsToFloat(uf_remappedPS[2].z) * 0.25; -R0f.w = max(R3f.x, -(R3f.x)); -PV0f.w = R0f.w; -R4f.x = max(R3f.y, -(R3f.y)); -PS0f = R4f.x; -// 1 -R1f.x = min(PV0f.w, PS0f); -R4f.y = -(intBitsToFloat(uf_remappedPS[3].y)); -R0f.z = intBitsToFloat(uf_remappedPS[3].x); -R0f.w = R4f.z + PV0f.x; -PV1f.w = R0f.w; -R4f.x = -(intBitsToFloat(uf_remappedPS[3].x)); -PS1f = R4f.x; -// 2 -R1f.z = R4f.w + PV1f.w; -PV0f.z = R1f.z; -R0f.w = intBitsToFloat(uf_remappedPS[3].y); -// 3 -backupReg0f = R1f.y; -R1f.y = (backupReg0f * PV0f.z + intBitsToFloat(uf_remappedPS[2].w)); -PV1f.y = R1f.y; -// 4 -backupReg0f = R1f.x; -R1f.x = max(PV1f.y, backupReg0f); -PV0f.x = R1f.x; -// 5 -R1f.w = 1.0 / PV0f.x; -PS1f = R1f.w; -// 6 -R1f.x = R3f.x * PS1f; -PV0f.x = R1f.x; -R1f.y = R3f.y * PS1f; -PV0f.y = R1f.y; -// 7 -R1f.x = max(PV0f.x, -(intBitsToFloat(uf_remappedPS[2].y))); -PV1f.x = R1f.x; -R1f.y = max(PV0f.y, -(intBitsToFloat(uf_remappedPS[2].y))); -PV1f.y = R1f.y; -// 8 -R1f.x = min(PV1f.x, intBitsToFloat(uf_remappedPS[2].y)); -PV0f.x = R1f.x; -R1f.y = min(PV1f.y, intBitsToFloat(uf_remappedPS[2].y)); -PV0f.y = R1f.y; -// 9 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg2f = R0f.z; -backupReg0f = R0f.x; -backupReg3f = R0f.w; -backupReg1f = R0f.y; -R0f.x = (PV0f.x * R4f.x + backupReg0f); -R0f.y = (PV0f.y * R4f.y + backupReg1f); -R0f.z = (PV0f.x * backupReg2f + backupReg0f); -R0f.w = (PV0f.y * backupReg3f + backupReg1f); -} -if( activeMaskStackC[2] == true ) { -R1f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0f = R0f.y; -backupReg1f = R0f.x; -PV0f.x = R0f.w + R1f.w; -PV0f.x /= 2.0; -PV0f.y = R0f.z + R1f.z; -PV0f.y /= 2.0; -PV0f.z = backupReg0f + R1f.y; -PV0f.z /= 2.0; -PV0f.w = backupReg1f + R1f.x; -PV0f.w /= 2.0; -// 1 -PV1f.x = -(R2f.w) + PV0f.x; -PV1f.y = -(R2f.z) + PV0f.y; -PV1f.z = -(R2f.y) + PV0f.z; -PV1f.w = -(R2f.x) + PV0f.w; -// 2 -backupReg0f = R2f.x; -backupReg1f = R2f.y; -backupReg2f = R2f.z; -backupReg3f = R2f.w; -R2f.x = (PV1f.w * intBitsToFloat(0x3f4ccccd) + backupReg0f); -R2f.y = (PV1f.z * intBitsToFloat(0x3f4ccccd) + backupReg1f); -R2f.z = (PV1f.y * intBitsToFloat(0x3f4ccccd) + backupReg2f); -R2f.w = (PV1f.x * intBitsToFloat(0x3f4ccccd) + backupReg3f); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -// export -passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -} diff --git a/Enhancement/CaptainToad_0AARemoval/rules.txt b/Enhancement/CaptainToad_0AARemoval/rules.txt deleted file mode 100644 index df5fad1a..00000000 --- a/Enhancement/CaptainToad_0AARemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010180600,0005000010180700,0005000010180500 -name = "Captain Toad: Treasure Tracker - No Anti-Aliasing" -version = 2 \ No newline at end of file diff --git a/Enhancement/ColorSplash_0AARemoval/b4ad3f6c36f63964_0000000000000079_ps.txt b/Enhancement/ColorSplash_0AARemoval/b4ad3f6c36f63964_0000000000000079_ps.txt deleted file mode 100644 index d34887a2..00000000 --- a/Enhancement/ColorSplash_0AARemoval/b4ad3f6c36f63964_0000000000000079_ps.txt +++ /dev/null @@ -1,207 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader b4ad3f6c36f63964 -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(passParameterSem0); -//R1i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.zw),0.0).xyz); -//R2i.xyz = floatBitsToInt(textureLodOffset(textureUnitPS0, intBitsToFloat(R0i.zw),0.0,ivec2(1,0)).xyz); -//R3i.xyz = floatBitsToInt(textureLodOffset(textureUnitPS0, intBitsToFloat(R0i.zw),0.0,ivec2(0,1)).xyz); -//R4i.xyz = floatBitsToInt(textureLodOffset(textureUnitPS0, intBitsToFloat(R0i.zw),0.0,ivec2(1,1)).xyz); -//R5i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.xy),0.0).xyz); -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),intBitsToFloat(0x3dea7371),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x3dea7371)); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(R3i.z) * intBitsToFloat(0x3dea7371)); -// 2 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.x)); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),intBitsToFloat(0x3dea7371),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.x)); -PS1i = R127i.x; -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x)); -R126i.w = floatBitsToInt(min(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -R124i.x = floatBitsToInt(min(intBitsToFloat(R125i.x), intBitsToFloat(PV1i.x))); -PS0i = R124i.x; -// 5 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV0i.z)); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.x)); -PV1i.w = R127i.w; -R127i.x = floatBitsToInt(max(intBitsToFloat(R125i.x), intBitsToFloat(backupReg1i))); -PS1i = R127i.x; -// 6 -backupReg0i = R126i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3d000000)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); -PV0i.z = floatBitsToInt(max(-(intBitsToFloat(PV1i.x)), intBitsToFloat(PV1i.x))); -R126i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x))); -R125i.w = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R124i.x))); -PS0i = R125i.w; -// 7 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.y))); -R127i.y = floatBitsToInt(max(intBitsToFloat(R127i.z), intBitsToFloat(R127i.x))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x3c000000))); -PS1i = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(0x3dea7371)); -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(0x3f162c23) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.x)); -// 9 -R123i.z = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(0x3e990afe) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PS1i))); -R2i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.w))); -R1i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.y))); -// 11 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0xc1000000))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), intBitsToFloat(0xc1000000))); -// 12 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), intBitsToFloat(0x41000000))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41000000))); -// 13 -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[0].x))); -PV1i.z = R127i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[0].y))); -PV1i.w = R127i.w; -// 14 -R5i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e2a9930) + intBitsToFloat(R0i.x))); -R5i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e2a9930) + intBitsToFloat(R0i.y))); -R5i.z = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0xbe2ab368) + intBitsToFloat(R0i.x))); -R5i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0xbe2ab368) + intBitsToFloat(R0i.y))); -R4i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * 0.5 + intBitsToFloat(R0i.x))); -PS0i = R4i.x; -// 15 -backupReg0i = R0i.x; -R0i.x = floatBitsToInt((-(intBitsToFloat(R127i.z)) * 0.5 + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((intBitsToFloat(R127i.w) * 0.5 + intBitsToFloat(R0i.y))); -R0i.z = floatBitsToInt((-(intBitsToFloat(R127i.w)) * 0.5 + intBitsToFloat(R0i.y))); -R3i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R5i.xy),0.0).xyz); -R5i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R5i.zw),0.0).xyz); -R4i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R4i.xy),0.0).xyz); -R0i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.xz),0.0).xyz); -// 0 -R127i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R5i.z)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R5i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) / 2.0); -PV0i.z = R126i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R5i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) / 2.0); -PV0i.w = R127i.w; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(backupReg0i)); -PV1i.y = PV0i.w; -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(R0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(backupReg1i)); -PS1i = PV0i.z; -PS1i = floatBitsToInt(intBitsToFloat(PS1i) / 2.0); -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * 0.25 + intBitsToFloat(PV1i.y))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * 0.25 + intBitsToFloat(PS1i))); -PV0i.w = R127i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -// 3 -backupReg0i = R127i.z; -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * 0.25 + intBitsToFloat(PV0i.w))); -PV1i.z = R127i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),intBitsToFloat(0x3dea7371),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 5 -PV1i.x = ((intBitsToFloat(PV0i.x) > intBitsToFloat(R1i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.z) > intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 6 -R123i.w = ((PV1i.y == 0)?(PV1i.x):(int(-1))); -PV0i.w = R123i.w; -// 7 -R123i.x = ((PV0i.w == 0)?(0):(R126i.z)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.w == 0)?(0):(R127i.w)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.w == 0)?(0):(0x3f800000)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.w == 0)?(0):(R127i.x)); -PV1i.w = R123i.w; -// 8 -R0i.x = ((PV1i.z == 0)?(R124i.x):(PV1i.y)); -R0i.y = ((PV1i.z == 0)?(R127i.y):(PV1i.x)); -R0i.z = ((PV1i.z == 0)?(R127i.z):(PV1i.w)); -// 9 -R0i.w = 0x3f800000; -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -} diff --git a/Enhancement/ColorSplash_0AARemoval/rules.txt b/Enhancement/ColorSplash_0AARemoval/rules.txt deleted file mode 100644 index e6b7bdc6..00000000 --- a/Enhancement/ColorSplash_0AARemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 000500001F600900,000500001F600A00,000500001F600B00 -name = "Paper Mario: Color Splash - No Anti-Aliasing" -version = 2 diff --git a/Enhancement/MarioKart8_0AARemoval/8e1337dde42fd224_00000000000003c9_ps.txt b/Enhancement/MarioKart8_0AARemoval/8e1337dde42fd224_00000000000003c9_ps.txt deleted file mode 100644 index 39677c23..00000000 --- a/Enhancement/MarioKart8_0AARemoval/8e1337dde42fd224_00000000000003c9_ps.txt +++ /dev/null @@ -1,163 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader 8e1337dde42fd224 -uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1000 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem2; -if( activeMaskStackC[1] == true ) { -//R1f.xyzw = (textureGather(textureUnitPS1, R0f.xy).wzxy); -R2f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0f.x = R1f.y + R1f.x; -R127f.y = intBitsToFloat(uf_remappedPS[0].z) * 0.25; -PV0f.z = R1f.w + -(R1f.x); -PV0f.w = R1f.z + -(R1f.y); -R127f.z = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedPS[1].x)); -PS0f = R127f.z; -// 1 -R127f.x = PV0f.w + -(PV0f.z); -PV1f.x = R127f.x; -R126f.y = PV0f.w + PV0f.z; -PV1f.y = R126f.y; -PV1f.z = R1f.z + PV0f.x; -R127f.w = min(R1f.z, R1f.x); -R126f.w = min(R1f.w, R1f.y); -PS1f = R126f.w; -// 2 -PV0f.x = R1f.w + PV1f.z; -PV0f.y = max(PV1f.x, -(PV1f.x)); -PV0f.z = max(PV1f.y, -(PV1f.y)); -PV0f.w = max(R1f.z, R1f.x); -PS0f = max(R1f.w, R1f.y); -// 3 -PV1f.x = min(PV0f.z, PV0f.y); -R123f.y = (R2f.y * intBitsToFloat(uf_remappedPS[1].y) + R127f.z); -PV1f.y = R123f.y; -PV1f.z = min(R127f.w, R126f.w); -R123f.w = (R127f.y * PV0f.x + intBitsToFloat(uf_remappedPS[0].w)); -PV1f.w = R123f.w; -PS1f = max(PV0f.w, PS0f); -// 4 -PV0f.x = mul_nonIEEE(PS1f, intBitsToFloat(uf_remappedPS[2].x)); -PV0f.y = max(PV1f.y, PS1f); -PV0f.z = min(PV1f.y, PV1f.z); -PV0f.w = max(PV1f.w, PV1f.x); -// 5 -R3f.x = max(PV0f.x, intBitsToFloat(uf_remappedPS[2].y)); -R3f.y = -(PV0f.z) + PV0f.y; -PS1f = 1.0 / PV0f.w; -// 6 -PV0f.x = mul_nonIEEE(R127f.x, PS1f); -PV0f.y = mul_nonIEEE(R126f.y, PS1f); -// 7 -PV1f.z = max(PV0f.x, -(intBitsToFloat(uf_remappedPS[0].y))); -PV1f.w = max(PV0f.y, -(intBitsToFloat(uf_remappedPS[0].y))); -// 8 -R1f.x = min(PV1f.w, intBitsToFloat(uf_remappedPS[0].y)); -R1f.y = min(PV1f.z, intBitsToFloat(uf_remappedPS[0].y)); -// 9 -predResult = (R3f.y > R3f.x); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3f.x = (R1f.x * -(intBitsToFloat(uf_remappedPS[3].z)) + R0f.x); -R3f.y = (R1f.y * -(intBitsToFloat(uf_remappedPS[3].w)) + R0f.y); -R0f.z = (R1f.x * intBitsToFloat(uf_remappedPS[3].x) + R0f.x); -R0f.w = (R1f.y * intBitsToFloat(uf_remappedPS[3].y) + R0f.y); -R3f.z = (R1f.x * intBitsToFloat(uf_remappedPS[3].z) + R0f.x); -PS0f = R3f.z; -// 1 -R4f.x = (R1f.x * -(intBitsToFloat(uf_remappedPS[3].x)) + R0f.x); -R4f.y = (R1f.y * -(intBitsToFloat(uf_remappedPS[3].y)) + R0f.y); -R3f.w = (R1f.y * intBitsToFloat(uf_remappedPS[3].w) + R0f.y); -} -if( activeMaskStackC[2] == true ) { -R1f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R3f.zw).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R4f.xy).xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127f.x = R0f.w + R1f.w; -R127f.x /= 2.0; -R127f.y = R0f.z + R1f.z; -R127f.y /= 2.0; -R127f.z = R0f.y + R1f.y; -R127f.z /= 2.0; -R127f.w = R0f.x + R1f.x; -R127f.w /= 2.0; -// 1 -PV1f.x = R2f.w + R3f.w; -PV1f.x /= 2.0; -PV1f.y = R2f.z + R3f.z; -PV1f.y /= 2.0; -PV1f.z = R2f.y + R3f.y; -PV1f.z /= 2.0; -PV1f.w = R2f.x + R3f.x; -PV1f.w /= 2.0; -// 2 -R2f.x = R127f.w + PV1f.w; -R2f.x /= 2.0; -R2f.y = R127f.z + PV1f.z; -R2f.y /= 2.0; -R2f.z = R127f.y + PV1f.y; -R2f.z /= 2.0; -R2f.w = R127f.x + PV1f.x; -R2f.w /= 2.0; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -// export -passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -} diff --git a/Enhancement/MarioKart8_0AARemoval/rules.txt b/Enhancement/MarioKart8_0AARemoval/rules.txt deleted file mode 100644 index 4d558c77..00000000 --- a/Enhancement/MarioKart8_0AARemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 -name = "Mario Kart 8 - No Anti-Aliasing" -version = 2 diff --git a/Enhancement/MarioKart8_AdjustableBloom/rules.txt b/Enhancement/MarioKart8_AdjustableBloom/rules.txt deleted file mode 100644 index e68faef0..00000000 --- a/Enhancement/MarioKart8_AdjustableBloom/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 -name = "Mario Kart 8 - Adjustable Bloom" -version = 2 \ No newline at end of file diff --git a/Enhancement/MarioTennis_0AARemoval/d81508000beb90fd_0000000000000079_ps.txt b/Enhancement/MarioTennis_0AARemoval/d81508000beb90fd_0000000000000079_ps.txt deleted file mode 100644 index 7d6a3de9..00000000 --- a/Enhancement/MarioTennis_0AARemoval/d81508000beb90fd_0000000000000079_ps.txt +++ /dev/null @@ -1,43 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader d81508000beb90fd -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4c24800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -//R0f = passParameterSem0; -//R0f.xyz = (textureLod(textureUnitPS0, R0f.zw,0.0).xyz); -// 0 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg2f = R0f.z; -R0f.x = dot(vec4(backupReg0f,backupReg1f,backupReg2f,-0.0),vec4(intBitsToFloat(0x3e59b3d0),intBitsToFloat(0x3f371759),intBitsToFloat(0x3d93dd98),0.0)); -PV0f.x = R0f.x; -PV0f.y = R0f.x; -PV0f.z = R0f.x; -PV0f.w = R0f.x; -// export -passPixelColor0 = vec4(R0f.x, R0f.x, R0f.x, R0f.x); -} diff --git a/Enhancement/MarioTennis_0AARemoval/rules.txt b/Enhancement/MarioTennis_0AARemoval/rules.txt deleted file mode 100644 index 2b6c7d45..00000000 --- a/Enhancement/MarioTennis_0AARemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 00050000101A3500,00050000101A3600,0005000010199000 -name = "Mario Tennis: Ultra Smash - No Anti-Aliasing" -version = 2 \ No newline at end of file diff --git a/Enhancement/NSMBU_0AARemoval/50e29e8929cea348_00000000000003c9_ps.txt b/Enhancement/NSMBU_0AARemoval/50e29e8929cea348_00000000000003c9_ps.txt deleted file mode 100644 index 88c1a8c8..00000000 --- a/Enhancement/NSMBU_0AARemoval/50e29e8929cea348_00000000000003c9_ps.txt +++ /dev/null @@ -1,161 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader 50e29e8929cea348 -uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c5000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem1; -if( activeMaskStackC[1] == true ) { -//R1f.xyzw = (textureGather(textureUnitPS1, R0f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0f.x = R1f.z + R1f.w; -PV0f.y = R1f.y + -(R1f.w); -PV0f.z = R1f.x + -(R1f.z); -R127f.w = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedPS[0].x)); -R126f.w = min(R1f.z, R1f.w); -PS0f = R126f.w; -// 1 -R126f.x = PV0f.z + PV0f.y; -PV1f.x = R126f.x; -PV1f.y = R1f.x + PV0f.x; -R127f.z = min(R1f.x, R1f.y); -R125f.w = PV0f.z + -(PV0f.y); -PV1f.w = R125f.w; -R127f.y = max(R1f.z, R1f.w); -PS1f = R127f.y; -// 2 -PV0f.x = R1f.y + PV1f.y; -PV0f.y = max(PV1f.w, -(PV1f.w)); -PV0f.z = max(PV1f.x, -(PV1f.x)); -PV0f.w = max(R1f.x, R1f.y); -R127f.x = (R2f.y * intBitsToFloat(uf_remappedPS[0].y) + R127f.w); -PS0f = R127f.x; -// 3 -PV1f.x = min(PV0f.z, PV0f.y); -PV1f.y = min(R126f.w, R127f.z); -PV1f.z = max(R127f.y, PV0f.w); -R123f.w = (PV0f.x * intBitsToFloat(0x3d000000) + intBitsToFloat(0x3b800000)); -PV1f.w = R123f.w; -// 4 -PV0f.x = min(R127f.x, PV1f.y); -PV0f.y = max(R127f.x, PV1f.z); -PV0f.w = max(PV1f.w, PV1f.x); -// 5 -R0f.z = -(PV0f.x) + PV0f.y; -PS1f = 1.0 / PV0f.w; -// 6 -PV0f.x = R125f.w * PS1f; -PV0f.y = R126f.x * PS1f; -// 7 -PV1f.z = max(PV0f.x, intBitsToFloat(0xc0400000)); -PV1f.w = max(PV0f.y, intBitsToFloat(0xc0400000)); -// 8 -R1f.x = min(PV1f.w, intBitsToFloat(0x40400000)); -R1f.y = min(PV1f.z, intBitsToFloat(0x40400000)); -// 9 -predResult = (R0f.z > intBitsToFloat(uf_remappedPS[1].y)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3f.x = (R1f.x * -(intBitsToFloat(uf_remappedPS[2].z)) + R0f.x); -R3f.y = (R1f.y * -(intBitsToFloat(uf_remappedPS[2].w)) + R0f.y); -R0f.z = (R1f.x * intBitsToFloat(uf_remappedPS[2].x) + R0f.x); -R0f.w = (R1f.y * intBitsToFloat(uf_remappedPS[2].y) + R0f.y); -R3f.z = (R1f.x * intBitsToFloat(uf_remappedPS[2].z) + R0f.x); -PS0f = R3f.z; -// 1 -R4f.x = (R1f.x * -(intBitsToFloat(uf_remappedPS[2].x)) + R0f.x); -R4f.y = (R1f.y * -(intBitsToFloat(uf_remappedPS[2].y)) + R0f.y); -R3f.w = (R1f.y * intBitsToFloat(uf_remappedPS[2].w) + R0f.y); -} -if( activeMaskStackC[2] == true ) { -R1f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R3f.zw).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R4f.xy).xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127f.x = R0f.w + R1f.w; -R127f.x /= 2.0; -R127f.y = R0f.z + R1f.z; -R127f.y /= 2.0; -R127f.z = R0f.y + R1f.y; -R127f.z /= 2.0; -R127f.w = R0f.x + R1f.x; -R127f.w /= 2.0; -// 1 -PV1f.x = R2f.w + R3f.w; -PV1f.x /= 2.0; -PV1f.y = R2f.z + R3f.z; -PV1f.y /= 2.0; -PV1f.z = R2f.y + R3f.y; -PV1f.z /= 2.0; -PV1f.w = R2f.x + R3f.x; -PV1f.w /= 2.0; -// 2 -R2f.x = R127f.w + PV1f.w; -R2f.x /= 2.0; -R2f.y = R127f.z + PV1f.z; -R2f.y /= 2.0; -R2f.z = R127f.y + PV1f.y; -R2f.z /= 2.0; -R2f.w = R127f.x + PV1f.x; -R2f.w /= 2.0; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -// export -passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -} diff --git a/Enhancement/NSMBU_0AARemoval/rules.txt b/Enhancement/NSMBU_0AARemoval/rules.txt deleted file mode 100644 index 06690109..00000000 --- a/Enhancement/NSMBU_0AARemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010101D00,0005000010101E00,000500001014B700,000500001014B800,0005000010101C00,0005000010142300,0005000010142400,0005000010142200 -name = "New Super Mario Bros. U + New Super Luigi U - No Anti-Aliasing" -version = 2 \ No newline at end of file diff --git a/Enhancement/Runner2_DisableBlur/4fe1bb2bc0611f15_0000000000000079_ps.txt b/Enhancement/Runner2_DisableBlur/4fe1bb2bc0611f15_0000000000000079_ps.txt deleted file mode 100644 index 6a0bae83..00000000 --- a/Enhancement/Runner2_DisableBlur/4fe1bb2bc0611f15_0000000000000079_ps.txt +++ /dev/null @@ -1,315 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 4fe1bb2bc0611f15 -// Disable this fucking godforsaken piece of shit blur filter that makes the game look lower res than it actually is -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R10f = vec4(0.0); -vec4 R11f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw); -// 0 -PV0f.z = R0f.x + 0.5; -PV0f.w = R0f.y + 0.5; -// 1 -R4f.x = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedPS[0].x)); -PV1f.x = R4f.x; -R4f.y = mul_nonIEEE(PV0f.w, intBitsToFloat(uf_remappedPS[0].y)); -PV1f.y = R4f.y; -// 2 -R0f.xyz = vec3(PV1f.x,PV1f.y,PV1f.x) + vec3(intBitsToFloat(0xba99999a),0.0,0.0); -R0f.w = PV1f.y + intBitsToFloat(0xbb088889); -R1f.x = PV1f.x + intBitsToFloat(0x3a99999a); -PS0f = R1f.x; -// 3 -R2f.x = R4f.x + 0.0; -R1f.y = R4f.y + 0.0; -R2f.zwy = vec3(R4f.y,R4f.x,R4f.y) + vec3(intBitsToFloat(0x3b088889),intBitsToFloat(0xba99999a),intBitsToFloat(0xbb088889)); -PS1f = R2f.y; -// 4 -R3f.x = R4f.x + intBitsToFloat(0xba99999a); -R3f.y = R4f.y + intBitsToFloat(0x3b088889); -R1f.z = R4f.x + intBitsToFloat(0x3a99999a); -R1f.w = R4f.y + intBitsToFloat(0xbb088889); -R6f.x = R4f.x + intBitsToFloat(0x3a99999a); -PS0f = R6f.x; -//R11f.xyzw = (texture(textureUnitPS0, R4f.xy).xyzw); -R11f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R5f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw); -R7f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -R8f.xyzw = (texture(textureUnitPS0, R2f.xz).xyzw); -R9f.xyzw = (texture(textureUnitPS0, R2f.wy).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R10f.xyzw = (texture(textureUnitPS0, R1f.zw).xyzw); -// 0 -R127f.x = -(R11f.x) + R5f.x; -R6f.y = R4f.y + intBitsToFloat(0x3b088889); -R123f.z = (R11f.w * 2.0 + -(1.0)); -PV0f.z = R123f.z; -PV0f.w = R5f.w + intBitsToFloat(0x3c23d70a); -R127f.w = -(R11f.y) + R5f.y; -PS0f = R127f.w; -// 1 -R126f.x = -(R11f.z) + R5f.z; -//PV1f.y = max(PV0f.z, -(PV0f.z)); -PV1f.y = max(PV1f.z, -(PV1f.z)); -PV1f.z = -(R11f.w) + PV0f.w; -R126f.w = -(R11f.w) + R5f.w; -PS1f = R0f.w + intBitsToFloat(0x3c23d70a); -// 2 -backupReg0f = R0f.x; -PV0f.x = -(PV1f.y) + 1.0; -R123f.y = intBitsToFloat(((PV1f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.y = R123f.y; -R127f.z = -(R11f.w) + PS1f; -R5f.w = R7f.w + intBitsToFloat(0x3c23d70a); -R1f.w = -(R11f.x) + backupReg0f; -PS0f = R1f.w; -// 3 -R5f.x = (mul_nonIEEE(R127f.x,PV0f.y) + R11f.x); -R5f.y = (mul_nonIEEE(R127f.w,PV0f.y) + R11f.y); -R5f.z = (mul_nonIEEE(R126f.x,PV0f.y) + R11f.z); -R2f.w = max(PV0f.x, intBitsToFloat(0x3de38e39)); -PV1f.w = R2f.w; -R4f.y = (mul_nonIEEE(R126f.w,PV0f.y) + R11f.w); -PS1f = R4f.y; -// 4 -backupReg0f = R0f.y; -backupReg1f = R0f.z; -backupReg2f = R0f.w; -R4f.x = intBitsToFloat(((R127f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); -R0f.yzw = vec3(-(R11f.y),-(PV1f.w),-(R11f.z)) + vec3(backupReg0f,1.0,backupReg1f); -R0f.x = -(R11f.w) + backupReg2f; -PS0f = R0f.x; -R6f.xyzw = (texture(textureUnitPS0, R6f.xy).xyzw); -// 0 -backupReg0f = R0f.y; -R127f.x = R8f.w + intBitsToFloat(0x3c23d70a); -R0f.y = R0f.z * intBitsToFloat(0x3e15f619); -PV0f.y = R0f.y; -R127f.z = -(R11f.w) + R5f.w; -R126f.w = (mul_nonIEEE(backupReg0f,R4f.x) + R11f.y); -R125f.x = (mul_nonIEEE(R0f.x,R4f.x) + R11f.w); -PS0f = R125f.x; -// 1 -PV1f.x = mul_nonIEEE(PV0f.y, R5f.x); -PV1f.y = mul_nonIEEE(PV0f.y, R4f.y); -PV1f.z = mul_nonIEEE(PV0f.y, R5f.z); -PV1f.w = mul_nonIEEE(PV0f.y, R5f.y); -R127f.w = (mul_nonIEEE(R1f.w,R4f.x) + R11f.x); -PS1f = R127f.w; -// 2 -R126f.x = (mul_nonIEEE(R11f.x,R2f.w) + PV1f.x); -R126f.y = (mul_nonIEEE(R11f.w,R2f.w) + PV1f.y); -R126f.z = (mul_nonIEEE(R11f.z,R2f.w) + PV1f.z); -R125f.w = (mul_nonIEEE(R11f.y,R2f.w) + PV1f.w); -R127f.y = (mul_nonIEEE(R0f.w,R4f.x) + R11f.z); -PS0f = R127f.y; -// 3 -R124f.x = -(R11f.x) + R7f.x; -R124f.y = intBitsToFloat(((R127f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); -R127f.z = -(R11f.z) + R7f.z; -R124f.w = -(R11f.y) + R7f.y; -R125f.y = -(R11f.w) + R7f.w; -PS1f = R125f.y; -// 4 -backupReg0f = R127f.x; -backupReg1f = R0f.y; -backupReg2f = R126f.z; -backupReg1f = R0f.y; -R127f.x = (mul_nonIEEE(R0f.y,R127f.w) + R126f.x); -PV0f.y = -(R11f.w) + backupReg0f; -R126f.z = (mul_nonIEEE(backupReg1f,R127f.y) + backupReg2f); -R127f.w = R9f.w + intBitsToFloat(0x3c23d70a); -R126f.x = (mul_nonIEEE(backupReg1f,R125f.x) + R126f.y); -PS0f = R126f.x; -// 5 -backupReg0f = R124f.x; -R124f.x = (mul_nonIEEE(backupReg0f,R124f.y) + R11f.x); -R127f.y = (mul_nonIEEE(R127f.z,R124f.y) + R11f.z); -R127f.z = (mul_nonIEEE(R0f.y,R126f.w) + R125f.w); -R126f.w = (mul_nonIEEE(R124f.w,R124f.y) + R11f.y); -R7f.x = intBitsToFloat(((PV0f.y >= 0.0)?(floatBitsToInt(1.0)):(0))); -PS1f = R7f.x; -// 6 -backupReg0f = R127f.w; -R125f.x = -(R11f.z) + R8f.z; -R123f.y = (mul_nonIEEE(R125f.y,R124f.y) + R11f.w); -PV0f.y = R123f.y; -R125f.z = -(R11f.w) + R8f.w; -R127f.w = -(R11f.x) + R8f.x; -R124f.z = -(R11f.w) + backupReg0f; -PS0f = R124f.z; -// 7 -backupReg0f = R127f.x; -backupReg1f = R126f.w; -R127f.x = R3f.w + intBitsToFloat(0x3c23d70a); -R125f.y = (mul_nonIEEE(R0f.y,R124f.x) + backupReg0f); -PV1f.z = -(R11f.y) + R8f.y; -R126f.w = (mul_nonIEEE(R0f.y,backupReg1f) + R127f.z); -R125f.w = (mul_nonIEEE(R0f.y,PV0f.y) + R126f.x); -PS1f = R125f.w; -// 8 -backupReg0f = R125f.x; -backupReg1f = R127f.y; -backupReg2f = R126f.z; -backupReg3f = R127f.w; -R125f.x = (mul_nonIEEE(PV1f.z,R7f.x) + R11f.y); -R127f.y = (mul_nonIEEE(backupReg0f,R7f.x) + R11f.z); -R126f.z = (mul_nonIEEE(R0f.y,backupReg1f) + backupReg2f); -R127f.w = (mul_nonIEEE(backupReg3f,R7f.x) + R11f.x); -R126f.x = (mul_nonIEEE(R125f.z,R7f.x) + R11f.w); -PS0f = R126f.x; -// 9 -R124f.x = -(R11f.x) + R9f.x; -R126f.y = intBitsToFloat(((R124f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); -R124f.zwy = vec3(-(R11f.z),-(R11f.y),-(R11f.w)) + vec3(R9f.z,R9f.y,R9f.w); -PS1f = R124f.y; -// 10 -backupReg0f = R127f.x; -backupReg1f = R0f.y; -backupReg2f = R126f.z; -backupReg1f = R0f.y; -R127f.x = (mul_nonIEEE(R0f.y,R127f.w) + R125f.y); -PV0f.y = -(R11f.w) + backupReg0f; -R126f.z = (mul_nonIEEE(backupReg1f,R127f.y) + backupReg2f); -R127f.w = R10f.w + intBitsToFloat(0x3c23d70a); -R9f.x = backupReg1f * intBitsToFloat(0x3f3504f3); -PS0f = R9f.x; -// 11 -backupReg0f = R126f.x; -R126f.x = (mul_nonIEEE(R0f.y,backupReg0f) + R125f.w); -R127f.y = (mul_nonIEEE(R124f.z,R126f.y) + R11f.z); -R124f.z = (mul_nonIEEE(R0f.y,R125f.x) + R126f.w); -R126f.w = (mul_nonIEEE(R124f.w,R126f.y) + R11f.y); -R125f.x = intBitsToFloat(((PV0f.y >= 0.0)?(floatBitsToInt(1.0)):(0))); -PS1f = R125f.x; -// 12 -backupReg0f = R126f.y; -R123f.x = (mul_nonIEEE(R124f.x,R126f.y) + R11f.x); -PV0f.x = R123f.x; -R126f.y = (mul_nonIEEE(R124f.y,backupReg0f) + R11f.w); -R125f.z = -(R11f.z) + R3f.z; -R125f.w = -(R11f.x) + R3f.x; -R124f.x = -(R11f.w) + R3f.w; -PS0f = R124f.x; -// 13 -backupReg0f = R127f.y; -backupReg1f = R126f.z; -PV1f.x = -(R11f.w) + R127f.w; -R127f.y = R6f.w + intBitsToFloat(0x3c23d70a); -PV1f.z = -(R11f.y) + R3f.y; -R127f.w = (mul_nonIEEE(R9f.x,PV0f.x) + R127f.x); -R126f.z = (mul_nonIEEE(R9f.x,backupReg0f) + backupReg1f); -PS1f = R126f.z; -// 14 -backupReg0f = R126f.x; -backupReg1f = R126f.w; -R126f.x = (mul_nonIEEE(R9f.x,R126f.y) + backupReg0f); -R126f.y = (mul_nonIEEE(R125f.z,R125f.x) + R11f.z); -R125f.z = (mul_nonIEEE(PV1f.z,R125f.x) + R11f.y); -R126f.w = (mul_nonIEEE(R9f.x,backupReg1f) + R124f.z); -R3f.y = intBitsToFloat(((PV1f.x >= 0.0)?(floatBitsToInt(1.0)):(0))); -PS0f = R3f.y; -// 15 -backupReg0f = R125f.x; -backupReg0f = R125f.x; -R125f.x = (mul_nonIEEE(R124f.x,backupReg0f) + R11f.w); -R124f.y = -(R11f.y) + R10f.y; -R124f.z = -(R11f.z) + R10f.z; -R123f.w = (mul_nonIEEE(R125f.w,backupReg0f) + R11f.x); -PV1f.w = R123f.w; -R125f.y = -(R11f.w) + R10f.w; -PS1f = R125f.y; -// 16 -backupReg0f = R127f.w; -backupReg1f = R126f.z; -R124f.x = -(R11f.x) + R10f.x; -PV0f.y = -(R11f.w) + R127f.y; -R126f.z = (mul_nonIEEE(R9f.x,R125f.z) + R126f.w); -R127f.w = (mul_nonIEEE(R9f.x,PV1f.w) + backupReg0f); -R127f.y = (mul_nonIEEE(R9f.x,R126f.y) + backupReg1f); -PS0f = R127f.y; -// 17 -backupReg0f = R126f.x; -backupReg1f = R124f.z; -backupReg2f = R124f.y; -R126f.x = (mul_nonIEEE(R9f.x,R125f.x) + backupReg0f); -R124f.y = intBitsToFloat(((PV0f.y >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV1f.y = R124f.y; -R124f.z = (mul_nonIEEE(backupReg1f,R3f.y) + R11f.z); -R126f.w = (mul_nonIEEE(backupReg2f,R3f.y) + R11f.y); -PS1f = -(R11f.z) + R6f.z; -// 18 -R123f.x = (mul_nonIEEE(R124f.x,R3f.y) + R11f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R125f.y,R3f.y) + R11f.w); -PV0f.y = R123f.y; -R125f.z = -(R11f.w) + R6f.w; -R125f.w = -(R11f.x) + R6f.x; -R125f.y = (mul_nonIEEE(PS1f,PV1f.y) + R11f.z); -PS0f = R125f.y; -// 19 -backupReg0f = R126f.x; -R126f.x = (mul_nonIEEE(R9f.x,PV0f.x) + R127f.w); -R123f.y = (mul_nonIEEE(R9f.x,R124f.z) + R127f.y); -PV1f.y = R123f.y; -PV1f.z = -(R11f.y) + R6f.y; -R127f.w = (mul_nonIEEE(R9f.x,R126f.w) + R126f.z); -R126f.w = (mul_nonIEEE(R9f.x,PV0f.y) + backupReg0f); -PS1f = R126f.w; -// 20 -R123f.x = (mul_nonIEEE(R125f.z,R124f.y) + R11f.w); -PV0f.x = R123f.x; -R123f.z = (mul_nonIEEE(PV1f.z,R124f.y) + R11f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(R125f.w,R124f.y) + R11f.x); -PV0f.w = R123f.w; -R11f.z = (mul_nonIEEE(R9f.x,R125f.y) + PV1f.y); -PS0f = R11f.z; -// 21 -R11f.x = (mul_nonIEEE(R9f.x,PV0f.w) + R126f.x); -R11f.y = (mul_nonIEEE(R9f.x,PV0f.z) + R127f.w); -R11f.w = (mul_nonIEEE(R9f.x,PV0f.x) + R126f.w); -// export -passPixelColor0 = vec4(R11f.x, R11f.y, R11f.z, R11f.w); -} diff --git a/Enhancement/Runner2_DisableBlur/rules.txt b/Enhancement/Runner2_DisableBlur/rules.txt deleted file mode 100644 index 54a8497f..00000000 --- a/Enhancement/Runner2_DisableBlur/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 00050000101DD600,000500001011AF00,0005000010136300,000500021011AF01 -name = "Runner2 - Disable Blur (use w/o resolution packs)" -version = 2 diff --git a/Enhancement/Splatoon_AdjustableBloom/rules.txt b/Enhancement/Splatoon_AdjustableBloom/rules.txt deleted file mode 100644 index 498bc997..00000000 --- a/Enhancement/Splatoon_AdjustableBloom/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010176900,0005000010176A00,0005000010162B00 -name = "Splatoon - Adjustable Bloom" -version = 2 diff --git a/Enhancement/Splatoon_FX/rules.txt b/Enhancement/Splatoon_FX/rules.txt deleted file mode 100644 index d0eab57e..00000000 --- a/Enhancement/Splatoon_FX/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010176900,0005000010176A00,0005000010162B00 -name = "Splatoon - Splat FX" -version = 2 diff --git a/Enhancement/Splatoon_LODBias/rules.txt b/Enhancement/Splatoon_LODBias/rules.txt deleted file mode 100644 index 9ada8cbf..00000000 --- a/Enhancement/Splatoon_LODBias/rules.txt +++ /dev/null @@ -1,30 +0,0 @@ -[Definition] -titleIds = 0005000010176900,0005000010176A00,0005000010162B00 -name = "Splatoon - LOD Bias" -version = 2 - -#general - -[TextureRedefine] -formats = 0x31,0x32,0x34,0x35,0x431,0x432,0x433,0x234,0x235 -overwriteRelativeLodBias = -3 - -#ink splats - disabled by default, mainly for online sake - -#[TextureRedefine] -#width = 32 -#height = 32 -#formats = 0x33 -#overwriteLodBias = -16 - -#[TextureRedefine] -#width = 32 -#height = 64 -#formats = 0x33 -#overwriteLodBias = -16 - -#[TextureRedefine] -#width = 128 -#height = 128 -#formats = 0x33 -#overwriteLodBias = -16 \ No newline at end of file diff --git a/Enhancement/SuperMario3DWorld_0AARemoval/be99d80628d31127_00000000000003c9_ps.txt b/Enhancement/SuperMario3DWorld_0AARemoval/be99d80628d31127_00000000000003c9_ps.txt deleted file mode 100644 index 309348ac..00000000 --- a/Enhancement/SuperMario3DWorld_0AARemoval/be99d80628d31127_00000000000003c9_ps.txt +++ /dev/null @@ -1,187 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader be99d80628d31127 -uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5800800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4341000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem2; -if( activeMaskStackC[1] == true ) { -R4f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -//R2f.xyzw = (textureGather(textureUnitPS1, R0f.xy).wzxy); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0f.x = min(R2f.z, R2f.x); -PV0f.y = max(R2f.z, R2f.x); -PV0f.z = R4f.x * intBitsToFloat(uf_remappedPS[0].x); -PV0f.w = min(R2f.w, R2f.y); -PS0f = max(R2f.w, R2f.y); -// 1 -PV1f.x = min(PV0f.x, PV0f.w); -R123f.y = (R4f.y * intBitsToFloat(uf_remappedPS[0].y) + PV0f.z); -PV1f.y = R123f.y; -R127f.z = R2f.z + -(R2f.y); -PV1f.z = R127f.z; -PV1f.w = max(PV0f.y, PS0f); -R126f.z = R2f.w + -(R2f.x); -PS1f = R126f.z; -// 2 -PV0f.x = PV1f.w * intBitsToFloat(uf_remappedPS[1].x); -PV0f.y = max(PV1f.y, PV1f.w); -PV0f.z = min(PV1f.y, PV1f.x); -R3f.x = PV1f.z + PS1f; -PS0f = R3f.x; -// 3 -R1f.x = max(PV0f.x, intBitsToFloat(uf_remappedPS[1].y)); -R3f.y = -(PV0f.z) + PV0f.y; -R1f.y = R127f.z + -(R126f.z); -PS1f = R1f.y; -// 4 -predResult = (R3f.y > R1f.x); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0f = R2f.y; -R1f.x = max(R3f.x, -(R3f.x)); -PV0f.x = R1f.x; -R2f.y = backupReg0f + R2f.x; -PV0f.y = R2f.y; -R0f.z = intBitsToFloat(uf_remappedPS[2].z) * 0.25; -R0f.w = max(R1f.y, -(R1f.y)); -PV0f.w = R0f.w; -R2f.x = -(intBitsToFloat(uf_remappedPS[3].x)); -PS0f = R2f.x; -// 1 -R3f.y = R2f.z + PV0f.y; -PV1f.y = R3f.y; -R2f.y = min(PV0f.x, PV0f.w); -PS1f = R2f.y; -// 2 -R3f.y = R2f.w + PV1f.y; -PV0f.y = R3f.y; -R1f.z = intBitsToFloat(uf_remappedPS[3].x); -R0f.w = intBitsToFloat(uf_remappedPS[3].y); -R5f.y = -(intBitsToFloat(uf_remappedPS[3].y)); -PS0f = R5f.y; -// 3 -backupReg0f = R0f.z; -R0f.z = (backupReg0f * PV0f.y + intBitsToFloat(uf_remappedPS[2].w)); -PV1f.z = R0f.z; -// 4 -backupReg0f = R2f.y; -R2f.y = max(PV1f.z, backupReg0f); -PV0f.y = R2f.y; -// 5 -R2f.y = 1.0 / PV0f.y; -PS1f = R2f.y; -// 6 -backupReg0f = R1f.y; -R1f.x = R3f.x * PS1f; -PV0f.x = R1f.x; -R1f.y = backupReg0f * PS1f; -PV0f.y = R1f.y; -// 7 -R1f.x = max(PV0f.x, -(intBitsToFloat(uf_remappedPS[2].y))); -PV1f.x = R1f.x; -R1f.y = max(PV0f.y, -(intBitsToFloat(uf_remappedPS[2].y))); -PV1f.y = R1f.y; -// 8 -R1f.x = min(PV1f.x, intBitsToFloat(uf_remappedPS[2].y)); -PV0f.x = R1f.x; -R1f.y = min(PV1f.y, intBitsToFloat(uf_remappedPS[2].y)); -PV0f.y = R1f.y; -// 9 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg0f = R0f.x; -backupReg2f = R0f.w; -backupReg1f = R0f.y; -R0f.x = (PV0f.x * R2f.x + backupReg0f); -R0f.y = (PV0f.y * R5f.y + backupReg1f); -R0f.z = (PV0f.x * R1f.z + backupReg0f); -R0f.w = (PV0f.y * backupReg2f + backupReg1f); -} -if( activeMaskStackC[2] == true ) { -R1f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0f = R0f.y; -backupReg1f = R0f.x; -PV0f.x = R0f.w + R1f.w; -PV0f.x /= 2.0; -PV0f.y = R0f.z + R1f.z; -PV0f.y /= 2.0; -PV0f.z = backupReg0f + R1f.y; -PV0f.z /= 2.0; -PV0f.w = backupReg1f + R1f.x; -PV0f.w /= 2.0; -// 1 -PV1f.x = -(R4f.w) + PV0f.x; -PV1f.y = -(R4f.z) + PV0f.y; -PV1f.z = -(R4f.y) + PV0f.z; -PV1f.w = -(R4f.x) + PV0f.w; -// 2 -backupReg0f = R4f.x; -backupReg1f = R4f.y; -backupReg2f = R4f.z; -backupReg3f = R4f.w; -R4f.x = (PV1f.w * intBitsToFloat(0x3f4ccccd) + backupReg0f); -R4f.y = (PV1f.z * intBitsToFloat(0x3f4ccccd) + backupReg1f); -R4f.z = (PV1f.y * intBitsToFloat(0x3f4ccccd) + backupReg2f); -R4f.w = (PV1f.x * intBitsToFloat(0x3f4ccccd) + backupReg3f); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -// export -passPixelColor0 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -} diff --git a/Enhancement/SuperMario3DWorld_0AARemoval/rules.txt b/Enhancement/SuperMario3DWorld_0AARemoval/rules.txt deleted file mode 100644 index 059a9dd9..00000000 --- a/Enhancement/SuperMario3DWorld_0AARemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010145d00,0005000010145c00,0005000010106100 -name = "Super Mario 3D World - No Anti-Aliasing" -version = 2 \ No newline at end of file diff --git a/Enhancement/TokyoMirage_0AAremoval/rules.txt b/Enhancement/TokyoMirage_0AAremoval/rules.txt deleted file mode 100644 index 94e901fe..00000000 --- a/Enhancement/TokyoMirage_0AAremoval/rules.txt +++ /dev/null @@ -1,8 +0,0 @@ -[Definition] -titleIds = 00050000101ED700,00050000101ED800,0005000010131D00 -name = "Tokyo Mirage Sessions FE - AA removal" # Does not improve performance, for downsampling / injecting AA only -version = 2 - -[TextureRedefine] #0x01a, nvidia taa -formats = 0x01a -overwriteRelativeLodBias = -16 # \ No newline at end of file diff --git a/Enhancement/TropicalFreeze_0AARemoval/rules.txt b/Enhancement/TropicalFreeze_0AARemoval/rules.txt deleted file mode 100644 index aeb01153..00000000 --- a/Enhancement/TropicalFreeze_0AARemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010137F00,0005000010138300,0005000010144800 -name = "Donkey Kong Country: Tropical Freeze - No Anti-Aliasing" -version = 2 \ No newline at end of file diff --git a/Enhancement/TwilightPrincessHD_0AARemoval/c14019840473ff86_00000000000003c9_ps.txt b/Enhancement/TwilightPrincessHD_0AARemoval/c14019840473ff86_00000000000003c9_ps.txt deleted file mode 100644 index fb7e9502..00000000 --- a/Enhancement/TwilightPrincessHD_0AARemoval/c14019840473ff86_00000000000003c9_ps.txt +++ /dev/null @@ -1,41 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader c14019840473ff86 -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4001000 res 1920x1080x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf5187000 res 1920x1080x1 dim 1 tm: 4 format 0011 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; - -//R1f.xyzw = textureGather(textureUnitPS1, R0f.xy).wzxy; -R2f.xyzw = texture(textureUnitPS0, R0f.xy).xyzw; -passPixelColor0 = R2f.xyzw; -} diff --git a/Enhancement/TwilightPrincessHD_0AARemoval/rules.txt b/Enhancement/TwilightPrincessHD_0AARemoval/rules.txt deleted file mode 100644 index 42e41f16..00000000 --- a/Enhancement/TwilightPrincessHD_0AARemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 000500001019C800,000500001019E600,000500001019E500,0005000E1019C800 -name = "The Legend of Zelda: Twilight Princess HD - No Anti-Aliasing" -version = 2 diff --git a/Enhancement/TwilightPrincessHD_Bloom/95a5a89d62998e0d_0000000000000079_ps.txt b/Enhancement/TwilightPrincessHD_Bloom/95a5a89d62998e0d_0000000000000079_ps.txt deleted file mode 100644 index f18fb192..00000000 --- a/Enhancement/TwilightPrincessHD_Bloom/95a5a89d62998e0d_0000000000000079_ps.txt +++ /dev/null @@ -1,335 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -const float bloomFactor = 0.4; -// shader 95a5a89d62998e0d -uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf59ff000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R123f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw); -// 0 -R7f.x = R0f.x * intBitsToFloat(0x3b088889); -PV0f.x = R7f.x; -R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); -PV0f.y = R7f.y; -// 1 -R0f.x = PV0f.x; -R0f.y = PV0f.y + intBitsToFloat(0x3b72b9d6); -R1f.z = PV0f.x; -R1f.y = PV0f.y + intBitsToFloat(0xbb72b9d6); -PS1f = R1f.y; -// 2 -R2f.x = R7f.x; -R2f.y = R7f.y + intBitsToFloat(0x3bf2b9d6); -R4f.z = R7f.x; -R4f.y = R7f.y + intBitsToFloat(0xbbf2b9d6); -PS0f = R4f.y; -R3f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.zy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -backupReg0f = R0f.x; -backupReg1f = R0f.w; -PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y); -PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); -PV0f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg0f); -PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg1f); -R0f.y = R7f.y + intBitsToFloat(0x3c360b60); -PS0f = R0f.y; -// 1 -R123f.x = (R3f.y * intBitsToFloat(uf_remappedPS[0].x) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R3f.w * intBitsToFloat(uf_remappedPS[0].x) + PV0f.w); -PV1f.y = R123f.y; -R123f.z = (R3f.x * intBitsToFloat(uf_remappedPS[0].x) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R3f.z * intBitsToFloat(uf_remappedPS[0].x) + PV0f.y); -PV1f.w = R123f.w; -R0f.x = R7f.x; -PS1f = R0f.x; -// 2 -R123f.x = (intBitsToFloat(uf_remappedPS[0].y) * R1f.y + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[0].y) * R1f.x + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[0].y) * R1f.w + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[0].y) * R1f.z + PV1f.w); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbc360b60); -PS0f = R1f.y; -// 3 -backupReg0f = R2f.z; -R3f.x = (intBitsToFloat(uf_remappedPS[0].z) * R2f.x + PV0f.y); -R3f.y = (intBitsToFloat(uf_remappedPS[0].z) * R2f.y + PV0f.x); -R2f.z = (intBitsToFloat(uf_remappedPS[0].z) * R2f.w + PV0f.z); -R2f.w = (intBitsToFloat(uf_remappedPS[0].z) * backupReg0f + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R2f.x = R7f.x; -R2f.y = R7f.y + intBitsToFloat(0x3c72b9d6); -R6f.z = R7f.x; -R6f.y = R7f.y + intBitsToFloat(0xbc72b9d6); -PS0f = R6f.y; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[0].z) * R4f.x + R3f.x); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[0].z) * R4f.w + R2f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[0].z) * R4f.z + R2f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[0].z) * R4f.y + R3f.y); -PV0f.w = R123f.w; -R3f.y = R7f.y + intBitsToFloat(0x3c97b426); -PS0f = R3f.y; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[0].w) * R0f.w + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[0].w) * R0f.x + PV0f.x); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[0].w) * R0f.z + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[0].w) * R0f.y + PV0f.w); -PV1f.w = R123f.w; -R3f.x = R7f.x; -PS1f = R3f.x; -// 2 -R123f.x = (intBitsToFloat(uf_remappedPS[0].w) * R1f.w + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[0].w) * R1f.z + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[0].w) * R1f.y + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[0].w) * R1f.x + PV1f.y); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbc97b426); -PS0f = R1f.y; -// 3 -R0f.x = (R5f.z * intBitsToFloat(uf_remappedPS[1].x) + PV0f.y); -R0f.y = (R5f.w * intBitsToFloat(uf_remappedPS[1].x) + PV0f.x); -R5f.z = (R5f.y * intBitsToFloat(uf_remappedPS[1].x) + PV0f.z); -R5f.w = (R5f.x * intBitsToFloat(uf_remappedPS[1].x) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R5f.x = R7f.x; -R5f.y = R7f.y + intBitsToFloat(0x3cb60b60); -R4f.z = R7f.x; -R4f.y = R7f.y + intBitsToFloat(0xbcb60b60); -PS0f = R4f.y; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[1].x) * R6f.z + R0f.x); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[1].x) * R6f.y + R5f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[1].x) * R6f.x + R5f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[1].x) * R6f.w + R0f.y); -PV0f.w = R123f.w; -R0f.y = R7f.y + intBitsToFloat(0x3cd4629b); -PS0f = R0f.y; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[1].y) * R3f.y + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[1].y) * R3f.w + PV0f.w); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[1].y) * R3f.x + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[1].y) * R3f.z + PV0f.x); -PV1f.w = R123f.w; -R0f.x = R7f.x; -PS1f = R0f.x; -// 2 -R123f.x = (intBitsToFloat(uf_remappedPS[1].y) * R1f.y + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[1].y) * R1f.x + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[1].y) * R1f.w + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[1].y) * R1f.z + PV1f.w); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbcd4629b); -PS0f = R1f.y; -// 3 -backupReg0f = R2f.z; -R3f.x = (intBitsToFloat(uf_remappedPS[1].z) * R2f.x + PV0f.y); -R3f.y = (intBitsToFloat(uf_remappedPS[1].z) * R2f.y + PV0f.x); -R2f.z = (intBitsToFloat(uf_remappedPS[1].z) * R2f.w + PV0f.z); -R2f.w = (intBitsToFloat(uf_remappedPS[1].z) * backupReg0f + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R2f.x = R7f.x; -R2f.y = R7f.y + intBitsToFloat(0x3cf2b9d6); -R6f.z = R7f.x; -R6f.y = R7f.y + intBitsToFloat(0xbcf2b9d6); -PS0f = R6f.y; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[1].z) * R4f.x + R3f.x); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[1].z) * R4f.w + R2f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[1].z) * R4f.z + R2f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[1].z) * R4f.y + R3f.y); -PV0f.w = R123f.w; -R3f.y = R7f.y + intBitsToFloat(0x3d088888); -PS0f = R3f.y; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[1].w) * R0f.w + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[1].w) * R0f.x + PV0f.x); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[1].w) * R0f.z + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[1].w) * R0f.y + PV0f.w); -PV1f.w = R123f.w; -R3f.x = R7f.x; -PS1f = R3f.x; -// 2 -R123f.x = (intBitsToFloat(uf_remappedPS[1].w) * R1f.w + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[1].w) * R1f.z + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[1].w) * R1f.y + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[1].w) * R1f.x + PV1f.y); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbd088888); -PS0f = R1f.y; -// 3 -R0f.x = (R5f.z * intBitsToFloat(uf_remappedPS[2].x) + PV0f.y); -R0f.y = (R5f.w * intBitsToFloat(uf_remappedPS[2].x) + PV0f.x); -R5f.z = (R5f.y * intBitsToFloat(uf_remappedPS[2].x) + PV0f.z); -R5f.w = (R5f.x * intBitsToFloat(uf_remappedPS[2].x) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R5f.x = R7f.x; -R5f.y = R7f.y + intBitsToFloat(0x3d17b426); -R4f.z = R7f.x; -R4f.y = R7f.y + intBitsToFloat(0xbd17b426); -PS0f = R4f.y; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[2].x) * R6f.z + R0f.x); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[2].x) * R6f.y + R5f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[2].x) * R6f.x + R5f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[2].x) * R6f.w + R0f.y); -PV0f.w = R123f.w; -R0f.y = R7f.y + intBitsToFloat(0x3d26dfc3); -PS0f = R0f.y; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[2].y) * R3f.y + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[2].y) * R3f.w + PV0f.w); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[2].y) * R3f.x + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[2].y) * R3f.z + PV0f.x); -PV1f.w = R123f.w; -R0f.x = R7f.x; -PS1f = R0f.x; -// 2 -backupReg0f = R7f.y; -R123f.x = (intBitsToFloat(uf_remappedPS[2].y) * R1f.y + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[2].y) * R1f.x + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[2].y) * R1f.w + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[2].y) * R1f.z + PV1f.w); -PV0f.w = R123f.w; -R7f.y = backupReg0f + intBitsToFloat(0xbd26dfc3); -PS0f = R7f.y; -// 3 -backupReg0f = R2f.x; -backupReg1f = R2f.y; -backupReg2f = R2f.z; -R2f.x = (intBitsToFloat(uf_remappedPS[2].z) * backupReg0f + PV0f.y); -R2f.y = (intBitsToFloat(uf_remappedPS[2].z) * backupReg1f + PV0f.x); -R2f.z = (intBitsToFloat(uf_remappedPS[2].z) * R2f.w + PV0f.z); -R2f.w = (intBitsToFloat(uf_remappedPS[2].z) * backupReg2f + PV0f.w); -R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R7f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[2].z) * R4f.x + R2f.x); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[2].z) * R4f.w + R2f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[2].z) * R4f.z + R2f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[2].z) * R4f.y + R2f.y); -PV0f.w = R123f.w; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[2].w) * R0f.w + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[2].w) * R0f.x + PV0f.x); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[2].w) * R0f.z + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[2].w) * R0f.y + PV0f.w); -PV1f.w = R123f.w; -// 2 -backupReg0f = R7f.x; -backupReg1f = R7f.y; -backupReg2f = R7f.z; -backupReg3f = R7f.w; -R7f.x = (intBitsToFloat(uf_remappedPS[2].w) * backupReg0f + PV1f.y * bloomFactor); -R7f.y = (intBitsToFloat(uf_remappedPS[2].w) * backupReg1f + PV1f.w * bloomFactor); -R7f.z = (intBitsToFloat(uf_remappedPS[2].w) * backupReg2f + PV1f.z * bloomFactor); -R7f.w = (intBitsToFloat(uf_remappedPS[2].w) * backupReg3f + PV1f.x * bloomFactor); -// export -passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); -} diff --git a/Enhancement/TwilightPrincessHD_Bloom/c612390d4c70f430_0000000000000079_ps.txt b/Enhancement/TwilightPrincessHD_Bloom/c612390d4c70f430_0000000000000079_ps.txt deleted file mode 100644 index 9d9de662..00000000 --- a/Enhancement/TwilightPrincessHD_Bloom/c612390d4c70f430_0000000000000079_ps.txt +++ /dev/null @@ -1,538 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -const float bloomFactor = 0.4; -// shader c612390d4c70f430 -uniform ivec4 uf_remappedPS[5]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf597f000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R123f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw); -// 0 -R7f.x = R0f.x * intBitsToFloat(0x3b088889); -PV0f.x = R7f.x; -R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); -PV0f.y = R7f.y; -// 1 -R0f.x = PV0f.x + intBitsToFloat(0x3b088889); -R0f.y = PV0f.y; -R1f.z = PV0f.y; -R1f.x = PV0f.x + intBitsToFloat(0xbb088889); -PS1f = R1f.x; -// 2 -R2f.x = R7f.x + intBitsToFloat(0x3b888889); -R2f.y = R7f.y; -R4f.z = R7f.y; -R4f.x = R7f.x + intBitsToFloat(0xbb888889); -PS0f = R4f.x; -R3f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xz,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -backupReg0f = R0f.y; -backupReg1f = R0f.x; -backupReg2f = R0f.w; -PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); -PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg0f); -PV0f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg1f); -PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg2f); -R0f.x = R7f.x + intBitsToFloat(0x3bccccce); -PS0f = R0f.x; -// 1 -R123f.x = (R3f.w * intBitsToFloat(uf_remappedPS[0].x) + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (R3f.y * intBitsToFloat(uf_remappedPS[0].x) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R3f.x * intBitsToFloat(uf_remappedPS[0].x) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R3f.z * intBitsToFloat(uf_remappedPS[0].x) + PV0f.x); -PV1f.w = R123f.w; -R0f.y = R7f.y; -PS1f = R0f.y; -// 2 -R123f.x = (intBitsToFloat(uf_remappedPS[0].y) * R1f.y + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[0].y) * R1f.x + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[0].y) * R1f.w + PV1f.x); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[0].y) * R1f.z + PV1f.w); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbbccccce); -PS0f = R1f.x; -// 3 -backupReg0f = R2f.z; -R3f.x = (intBitsToFloat(uf_remappedPS[0].z) * R2f.w + PV0f.z); -R3f.y = (intBitsToFloat(uf_remappedPS[0].z) * R2f.x + PV0f.y); -R2f.z = (intBitsToFloat(uf_remappedPS[0].z) * backupReg0f + PV0f.w); -R2f.w = (intBitsToFloat(uf_remappedPS[0].z) * R2f.y + PV0f.x); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R2f.x = R7f.x + intBitsToFloat(0x3c088889); -R2f.y = R7f.y; -R6f.z = R7f.y; -R6f.x = R7f.x + intBitsToFloat(0xbc088889); -PS0f = R6f.x; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[0].z) * R4f.x + R3f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[0].z) * R4f.w + R3f.x); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[0].z) * R4f.z + R2f.z); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[0].z) * R4f.y + R2f.w); -PV0f.w = R123f.w; -R3f.x = R7f.x + intBitsToFloat(0x3c2aaaab); -PS0f = R3f.x; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[0].w) * R0f.x + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[0].w) * R0f.w + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[0].w) * R0f.z + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[0].w) * R0f.y + PV0f.w); -PV1f.w = R123f.w; -R3f.y = R7f.y; -PS1f = R3f.y; -// 2 -R123f.x = (intBitsToFloat(uf_remappedPS[0].w) * R1f.w + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[0].w) * R1f.z + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[0].w) * R1f.y + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[0].w) * R1f.x + PV1f.x); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbc2aaaab); -PS0f = R1f.x; -// 3 -R0f.x = (R5f.w * intBitsToFloat(uf_remappedPS[1].x) + PV0f.x); -R0f.y = (R5f.z * intBitsToFloat(uf_remappedPS[1].x) + PV0f.y); -R5f.z = (R5f.y * intBitsToFloat(uf_remappedPS[1].x) + PV0f.z); -R5f.w = (R5f.x * intBitsToFloat(uf_remappedPS[1].x) + PV0f.w); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R5f.x = R7f.x + intBitsToFloat(0x3c4cccce); -R5f.y = R7f.y; -R4f.z = R7f.y; -R4f.x = R7f.x + intBitsToFloat(0xbc4cccce); -PS0f = R4f.x; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[1].x) * R6f.z + R0f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[1].x) * R6f.y + R5f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[1].x) * R6f.x + R5f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[1].x) * R6f.w + R0f.x); -PV0f.w = R123f.w; -R0f.x = R7f.x + intBitsToFloat(0x3c6eeef0); -PS0f = R0f.x; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[1].y) * R3f.w + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[1].y) * R3f.y + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[1].y) * R3f.x + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[1].y) * R3f.z + PV0f.x); -PV1f.w = R123f.w; -R0f.y = R7f.y; -PS1f = R0f.y; -// 2 -R123f.x = (intBitsToFloat(uf_remappedPS[1].y) * R1f.y + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[1].y) * R1f.x + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[1].y) * R1f.w + PV1f.x); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[1].y) * R1f.z + PV1f.w); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbc6eeef0); -PS0f = R1f.x; -// 3 -backupReg0f = R2f.z; -R3f.x = (intBitsToFloat(uf_remappedPS[1].z) * R2f.w + PV0f.z); -R3f.y = (intBitsToFloat(uf_remappedPS[1].z) * R2f.x + PV0f.y); -R2f.z = (intBitsToFloat(uf_remappedPS[1].z) * backupReg0f + PV0f.w); -R2f.w = (intBitsToFloat(uf_remappedPS[1].z) * R2f.y + PV0f.x); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R2f.x = R7f.x + intBitsToFloat(0x3c888889); -R2f.y = R7f.y; -R6f.z = R7f.y; -R6f.x = R7f.x + intBitsToFloat(0xbc888889); -PS0f = R6f.x; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[1].z) * R4f.x + R3f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[1].z) * R4f.w + R3f.x); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[1].z) * R4f.z + R2f.z); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[1].z) * R4f.y + R2f.w); -PV0f.w = R123f.w; -R3f.x = R7f.x + intBitsToFloat(0x3c99999a); -PS0f = R3f.x; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[1].w) * R0f.x + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[1].w) * R0f.w + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[1].w) * R0f.z + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[1].w) * R0f.y + PV0f.w); -PV1f.w = R123f.w; -R3f.y = R7f.y; -PS1f = R3f.y; -// 2 -R123f.x = (intBitsToFloat(uf_remappedPS[1].w) * R1f.w + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[1].w) * R1f.z + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[1].w) * R1f.y + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[1].w) * R1f.x + PV1f.x); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbc99999a); -PS0f = R1f.x; -// 3 -R0f.x = (R5f.w * intBitsToFloat(uf_remappedPS[2].x) + PV0f.x); -R0f.y = (R5f.z * intBitsToFloat(uf_remappedPS[2].x) + PV0f.y); -R5f.z = (R5f.y * intBitsToFloat(uf_remappedPS[2].x) + PV0f.z); -R5f.w = (R5f.x * intBitsToFloat(uf_remappedPS[2].x) + PV0f.w); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R5f.x = R7f.x + intBitsToFloat(0x3caaaaab); -R5f.y = R7f.y; -R4f.z = R7f.y; -R4f.x = R7f.x + intBitsToFloat(0xbcaaaaab); -PS0f = R4f.x; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[2].x) * R6f.z + R0f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[2].x) * R6f.y + R5f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[2].x) * R6f.x + R5f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[2].x) * R6f.w + R0f.x); -PV0f.w = R123f.w; -R0f.x = R7f.x + intBitsToFloat(0x3cbbbbbc); -PS0f = R0f.x; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[2].y) * R3f.w + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[2].y) * R3f.y + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[2].y) * R3f.x + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[2].y) * R3f.z + PV0f.x); -PV1f.w = R123f.w; -R0f.y = R7f.y; -PS1f = R0f.y; -// 2 -R123f.x = (intBitsToFloat(uf_remappedPS[2].y) * R1f.y + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[2].y) * R1f.x + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[2].y) * R1f.w + PV1f.x); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[2].y) * R1f.z + PV1f.w); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbcbbbbbc); -PS0f = R1f.x; -// 3 -backupReg0f = R2f.z; -R3f.x = (intBitsToFloat(uf_remappedPS[2].z) * R2f.w + PV0f.z); -R3f.y = (intBitsToFloat(uf_remappedPS[2].z) * R2f.x + PV0f.y); -R2f.z = (intBitsToFloat(uf_remappedPS[2].z) * backupReg0f + PV0f.w); -R2f.w = (intBitsToFloat(uf_remappedPS[2].z) * R2f.y + PV0f.x); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R2f.x = R7f.x + intBitsToFloat(0x3cccccce); -R2f.y = R7f.y; -R6f.z = R7f.y; -R6f.x = R7f.x + intBitsToFloat(0xbcccccce); -PS0f = R6f.x; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[2].z) * R4f.x + R3f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[2].z) * R4f.w + R3f.x); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[2].z) * R4f.z + R2f.z); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[2].z) * R4f.y + R2f.w); -PV0f.w = R123f.w; -R3f.x = R7f.x + intBitsToFloat(0x3cdddddf); -PS0f = R3f.x; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[2].w) * R0f.x + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[2].w) * R0f.w + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[2].w) * R0f.z + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[2].w) * R0f.y + PV0f.w); -PV1f.w = R123f.w; -R3f.y = R7f.y; -PS1f = R3f.y; -// 2 -R123f.x = (intBitsToFloat(uf_remappedPS[2].w) * R1f.w + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[2].w) * R1f.z + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[2].w) * R1f.y + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[2].w) * R1f.x + PV1f.x); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbcdddddf); -PS0f = R1f.x; -// 3 -R0f.x = (R5f.w * intBitsToFloat(uf_remappedPS[3].x) + PV0f.x); -R0f.y = (R5f.z * intBitsToFloat(uf_remappedPS[3].x) + PV0f.y); -R5f.z = (R5f.y * intBitsToFloat(uf_remappedPS[3].x) + PV0f.z); -R5f.w = (R5f.x * intBitsToFloat(uf_remappedPS[3].x) + PV0f.w); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R5f.x = R7f.x + intBitsToFloat(0x3ceeeef0); -R5f.y = R7f.y; -R4f.z = R7f.y; -R4f.x = R7f.x + intBitsToFloat(0xbceeeef0); -PS0f = R4f.x; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[3].x) * R6f.z + R0f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[3].x) * R6f.y + R5f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[3].x) * R6f.x + R5f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[3].x) * R6f.w + R0f.x); -PV0f.w = R123f.w; -R0f.x = R7f.x + intBitsToFloat(0x3d000000); -PS0f = R0f.x; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[3].y) * R3f.w + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[3].y) * R3f.y + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[3].y) * R3f.x + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[3].y) * R3f.z + PV0f.x); -PV1f.w = R123f.w; -R0f.y = R7f.y; -PS1f = R0f.y; -// 2 -R123f.x = (intBitsToFloat(uf_remappedPS[3].y) * R1f.y + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[3].y) * R1f.x + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[3].y) * R1f.w + PV1f.x); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[3].y) * R1f.z + PV1f.w); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbd000000); -PS0f = R1f.x; -// 3 -backupReg0f = R2f.z; -R3f.x = (intBitsToFloat(uf_remappedPS[3].z) * R2f.w + PV0f.z); -R3f.y = (intBitsToFloat(uf_remappedPS[3].z) * R2f.x + PV0f.y); -R2f.z = (intBitsToFloat(uf_remappedPS[3].z) * backupReg0f + PV0f.w); -R2f.w = (intBitsToFloat(uf_remappedPS[3].z) * R2f.y + PV0f.x); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R2f.x = R7f.x + intBitsToFloat(0x3d088889); -R2f.y = R7f.y; -R6f.z = R7f.y; -R6f.x = R7f.x + intBitsToFloat(0xbd088889); -PS0f = R6f.x; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[3].z) * R4f.x + R3f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[3].z) * R4f.w + R3f.x); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[3].z) * R4f.z + R2f.z); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[3].z) * R4f.y + R2f.w); -PV0f.w = R123f.w; -R3f.x = R7f.x + intBitsToFloat(0x3d111112); -PS0f = R3f.x; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[3].w) * R0f.x + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[3].w) * R0f.w + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[3].w) * R0f.z + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[3].w) * R0f.y + PV0f.w); -PV1f.w = R123f.w; -R3f.y = R7f.y; -PS1f = R3f.y; -// 2 -R123f.x = (intBitsToFloat(uf_remappedPS[3].w) * R1f.w + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[3].w) * R1f.z + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[3].w) * R1f.y + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[3].w) * R1f.x + PV1f.x); -PV0f.w = R123f.w; -R1f.x = R7f.x + intBitsToFloat(0xbd111112); -PS0f = R1f.x; -// 3 -R0f.x = (R5f.w * intBitsToFloat(uf_remappedPS[4].x) + PV0f.x); -R0f.y = (R5f.z * intBitsToFloat(uf_remappedPS[4].x) + PV0f.y); -R5f.z = (R5f.y * intBitsToFloat(uf_remappedPS[4].x) + PV0f.z); -R5f.w = (R5f.x * intBitsToFloat(uf_remappedPS[4].x) + PV0f.w); -R1f.y = R7f.y; -PS1f = R1f.y; -// 4 -R5f.x = R7f.x + intBitsToFloat(0x3d19999a); -R5f.y = R7f.y; -R4f.z = R7f.y; -R4f.x = R7f.x + intBitsToFloat(0xbd19999a); -PS0f = R4f.x; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[4].x) * R6f.z + R0f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[4].x) * R6f.y + R5f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[4].x) * R6f.x + R5f.w); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[4].x) * R6f.w + R0f.x); -PV0f.w = R123f.w; -R0f.x = R7f.x + intBitsToFloat(0x3d222223); -PS0f = R0f.x; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[4].y) * R3f.w + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[4].y) * R3f.y + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[4].y) * R3f.x + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[4].y) * R3f.z + PV0f.x); -PV1f.w = R123f.w; -R0f.y = R7f.y; -PS1f = R0f.y; -// 2 -backupReg0f = R7f.x; -R123f.x = (intBitsToFloat(uf_remappedPS[4].y) * R1f.y + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[4].y) * R1f.x + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[4].y) * R1f.w + PV1f.x); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[4].y) * R1f.z + PV1f.w); -PV0f.w = R123f.w; -R7f.x = backupReg0f + intBitsToFloat(0xbd222223); -PS0f = R7f.x; -// 3 -backupReg0f = R2f.x; -backupReg1f = R2f.z; -backupReg2f = R2f.y; -R2f.x = (intBitsToFloat(uf_remappedPS[4].z) * R2f.w + PV0f.z); -R2f.y = (intBitsToFloat(uf_remappedPS[4].z) * backupReg0f + PV0f.y); -R2f.z = (intBitsToFloat(uf_remappedPS[4].z) * backupReg1f + PV0f.w); -R2f.w = (intBitsToFloat(uf_remappedPS[4].z) * backupReg2f + PV0f.x); -R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R7f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); -// 0 -R123f.x = (intBitsToFloat(uf_remappedPS[4].z) * R4f.x + R2f.y); -PV0f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[4].z) * R4f.w + R2f.x); -PV0f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[4].z) * R4f.z + R2f.z); -PV0f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[4].z) * R4f.y + R2f.w); -PV0f.w = R123f.w; -// 1 -R123f.x = (intBitsToFloat(uf_remappedPS[4].w) * R0f.x + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[4].w) * R0f.w + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (intBitsToFloat(uf_remappedPS[4].w) * R0f.z + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (intBitsToFloat(uf_remappedPS[4].w) * R0f.y + PV0f.w); -PV1f.w = R123f.w; -// 2 -backupReg0f = R7f.x; -backupReg1f = R7f.y; -backupReg2f = R7f.z; -backupReg3f = R7f.w; -R7f.x = (intBitsToFloat(uf_remappedPS[4].w) * backupReg0f + PV1f.x * bloomFactor); -R7f.y = (intBitsToFloat(uf_remappedPS[4].w) * backupReg1f + PV1f.w * bloomFactor); -R7f.z = (intBitsToFloat(uf_remappedPS[4].w) * backupReg2f + PV1f.z * bloomFactor); -R7f.w = (intBitsToFloat(uf_remappedPS[4].w) * backupReg3f + PV1f.y * bloomFactor); -// export -passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); -} diff --git a/Enhancement/TwilightPrincessHD_Bloom/rules.txt b/Enhancement/TwilightPrincessHD_Bloom/rules.txt deleted file mode 100644 index 425079c1..00000000 --- a/Enhancement/TwilightPrincessHD_Bloom/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 000500001019C800,000500001019E600,000500001019E500,0005000E1019C800 -name = "The Legend of Zelda: Twilight Princess HD - Adjustable Bloom" -version = 2 diff --git a/Enhancement/TwilightPrincessHD_contrasty/49865bd2e62efda1_0000000000000079_ps.txt b/Enhancement/TwilightPrincessHD_contrasty/49865bd2e62efda1_0000000000000079_ps.txt deleted file mode 100644 index 3c6cb2f0..00000000 --- a/Enhancement/TwilightPrincessHD_contrasty/49865bd2e62efda1_0000000000000079_ps.txt +++ /dev/null @@ -1,56 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 49865bd2e62efda1 -//dark world bloom - -const float bloom = 0.98; -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf597f000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R0f.xyz = (textureLod(textureUnitPS0, R0f.xy,0.0).xyz)*bloom; -// 0 -backupReg0f = R0f.y; -backupReg1f = R0f.x; -PV0f.x = mul_nonIEEE(R0f.z, intBitsToFloat(uf_remappedPS[0].z)); -PV0f.y = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[0].y)); -PV0f.z = mul_nonIEEE(backupReg1f, intBitsToFloat(uf_remappedPS[0].x)); -PV0f.w = intBitsToFloat(uf_remappedPS[0].w); -// 1 -PV1f.x = max(PV0f.w, 0.0); -PV1f.y = max(PV0f.x, 0.0); -PV1f.z = max(PV0f.y, 0.0); -PV1f.w = max(PV0f.z, 0.0); -// 2 -R0f.x = min(PV1f.w, 1.0); -R0f.y = min(PV1f.z, 1.0); -R0f.z = min(PV1f.y, 1.0); -R0f.w = min(PV1f.x, 1.0); -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Enhancement/TwilightPrincessHD_contrasty/5f422bf63e25be7f_0000000000000079_ps.txt b/Enhancement/TwilightPrincessHD_contrasty/5f422bf63e25be7f_0000000000000079_ps.txt deleted file mode 100644 index 7fcc692b..00000000 --- a/Enhancement/TwilightPrincessHD_contrasty/5f422bf63e25be7f_0000000000000079_ps.txt +++ /dev/null @@ -1,62 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 5f422bf63e25be7f // Bleach pass cutscene - -const float bleach = 0.7; - -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x24dfb000 res 960x540x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem1; -R0f.w = (texture(textureUnitPS0, R0f.xy).x); -// 0 -PV0f.x = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); -PV0f.w = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); -R1f.w = intBitsToFloat(uf_remappedPS[0].w); -R1f.w = clamp(R1f.w, 0.0, 1.0); -PS0f = R1f.w; -// 1 -PV1f.x = fract(PV0f.w); -PV1f.y = fract(PV0f.x); -PV1f.w = fract(PV0f.z); -// 2 -PV0f.x = PV1f.w * intBitsToFloat(0x3f808081); -PV0f.y = PV1f.x * intBitsToFloat(0x3f808081); -PV0f.z = PV1f.y * intBitsToFloat(0x3f808081); -// 3 -R1f.x = mul_nonIEEE(R0f.w, PV0f.z); -R1f.x = clamp(R1f.x, 0.0, 1.0); -R1f.y = mul_nonIEEE(R0f.w, PV0f.y); -R1f.y = clamp(R1f.y, 0.0, 1.0); -R1f.z = mul_nonIEEE(R0f.w, PV0f.x); -R1f.z = clamp(R1f.z, 0.0, 1.0); -// export -passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w) * bleach; -} diff --git a/Enhancement/TwilightPrincessHD_contrasty/95a5a89d62998e0d_0000000000000079_ps.txt b/Enhancement/TwilightPrincessHD_contrasty/95a5a89d62998e0d_0000000000000079_ps.txt deleted file mode 100644 index a09a483c..00000000 --- a/Enhancement/TwilightPrincessHD_contrasty/95a5a89d62998e0d_0000000000000079_ps.txt +++ /dev/null @@ -1,341 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 95a5a89d62998e0d - -// blur -const float bloom = 0.98; - -uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf59ff000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R123f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -float scaler; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw); -scaler = uf_fragCoordScale.x; -// 0 -R7f.x = R0f.x * intBitsToFloat(0x3b088889); -PV0f.x = R7f.x; -R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6); -PV0f.y = R7f.y; -// 1 -R0f.x = PV0f.x; -R0f.y = PV0f.y + intBitsToFloat(0x3b72b9d6) * scaler; -R1f.z = PV0f.x; -R1f.y = PV0f.y + intBitsToFloat(0xbb72b9d6) * scaler; -PS1f = R1f.y; -// 2 -R2f.x = R7f.x; -R2f.y = R7f.y + intBitsToFloat(0x3bf2b9d6) * scaler; -R4f.z = R7f.x; -R4f.y = R7f.y + intBitsToFloat(0xbbf2b9d6) * scaler; -PS0f = R4f.y; -R3f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.zy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -backupReg0f = R0f.x; -backupReg1f = R0f.w; -PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y); -PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z); -PV0f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg0f); -PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg1f); -R0f.y = R7f.y + intBitsToFloat(0x3c360b60) * scaler; -PS0f = R0f.y; -// 1 -R123f.x = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.w); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.y); -PV1f.w = R123f.w; -R0f.x = R7f.x; -PS1f = R0f.x; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbc360b60) * scaler; -PS0f = R1f.y; -// 3 -backupReg0f = R2f.z; -R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + PV0f.y); -R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + PV0f.x); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + PV0f.z); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),backupReg0f) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R2f.x = R7f.x; -R2f.y = R7f.y + intBitsToFloat(0x3c72b9d6) * scaler; -R6f.z = R7f.x; -R6f.y = R7f.y + intBitsToFloat(0xbc72b9d6) * scaler; -PS0f = R6f.y; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R2f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R3f.y); -PV0f.w = R123f.w; -R3f.y = R7f.y + intBitsToFloat(0x3c97b426) * scaler; -PS0f = R3f.y; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + PV0f.x); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -R3f.x = R7f.x; -PS1f = R3f.x; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + PV1f.y); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbc97b426) * scaler; -PS0f = R1f.y; -// 3 -R0f.x = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.y); -R0f.y = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.x); -R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.z); -R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R5f.x = R7f.x; -R5f.y = R7f.y + intBitsToFloat(0x3cb60b60) * scaler; -R4f.z = R7f.x; -R4f.y = R7f.y + intBitsToFloat(0xbcb60b60) * scaler; -PS0f = R4f.y; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.y); -PV0f.w = R123f.w; -R0f.y = R7f.y + intBitsToFloat(0x3cd4629b) * scaler; -PS0f = R0f.y; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + PV0f.w); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + PV0f.x); -PV1f.w = R123f.w; -R0f.x = R7f.x; -PS1f = R0f.x; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbcd4629b) * scaler; -PS0f = R1f.y; -// 3 -backupReg0f = R2f.z; -R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + PV0f.y); -R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + PV0f.x); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + PV0f.z); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),backupReg0f) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R2f.x = R7f.x; -R2f.y = R7f.y + intBitsToFloat(0x3cf2b9d6) * scaler; -R6f.z = R7f.x; -R6f.y = R7f.y + intBitsToFloat(0xbcf2b9d6) * scaler; -PS0f = R6f.y; -R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R2f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R3f.y); -PV0f.w = R123f.w; -R3f.y = R7f.y + intBitsToFloat(0x3d088888) * scaler; -PS0f = R3f.y; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + PV0f.x); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -R3f.x = R7f.x; -PS1f = R3f.x; -// 2 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + PV1f.y); -PV0f.w = R123f.w; -R1f.y = R7f.y + intBitsToFloat(0xbd088888) * scaler; -PS0f = R1f.y; -// 3 -R0f.x = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.y); -R0f.y = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.x); -R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.z); -R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.w); -R1f.x = R7f.x; -PS1f = R1f.x; -// 4 -R5f.x = R7f.x; -R5f.y = R7f.y + intBitsToFloat(0x3d17b426) * scaler; -R4f.z = R7f.x; -R4f.y = R7f.y + intBitsToFloat(0xbd17b426) * scaler; -PS0f = R4f.y; -R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw); -R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw); -R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw); -R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.y); -PV0f.w = R123f.w; -R0f.y = R7f.y + intBitsToFloat(0x3d26dfc3) * scaler; -PS0f = R0f.y; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + PV0f.w); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + PV0f.x); -PV1f.w = R123f.w; -R0f.x = R7f.x; -PS1f = R0f.x; -// 2 -backupReg0f = R7f.y; -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + PV1f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + PV1f.w); -PV0f.w = R123f.w; -R7f.y = backupReg0f + intBitsToFloat(0xbd26dfc3) * scaler; -PS0f = R7f.y; -// 3 -backupReg0f = R2f.x; -backupReg1f = R2f.y; -backupReg2f = R2f.z; -R2f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg0f) + PV0f.y); -R2f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg1f) + PV0f.x); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + PV0f.z); -R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg2f) + PV0f.w); -R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw); -R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw); -R7f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw); -// 0 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R2f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R2f.z); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.w); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.y); -PV0f.w = R123f.w; -// 1 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + PV0f.x); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + PV0f.w); -PV1f.w = R123f.w; -// 2 -backupReg0f = R7f.x; -backupReg1f = R7f.y; -backupReg2f = R7f.z; -backupReg3f = R7f.w; -R7f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg0f) + PV1f.y); -R7f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg1f) + PV1f.w); -R7f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg2f) + PV1f.z); -R7f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg3f) + PV1f.x); -// export -passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w)* bloom; -} diff --git a/Enhancement/TwilightPrincessHD_contrasty/_S_6437bc3fbba05d3a_000000000000000f_ps.txt b/Enhancement/TwilightPrincessHD_contrasty/_S_6437bc3fbba05d3a_000000000000000f_ps.txt deleted file mode 100644 index 92e25b3f..00000000 --- a/Enhancement/TwilightPrincessHD_contrasty/_S_6437bc3fbba05d3a_000000000000000f_ps.txt +++ /dev/null @@ -1,87 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 6437bc3fbba05d3a //skyline -const float redScale = 0.95; -const float greenScale = 1.06; -const float blueScale = 1.28; -const float hazeFactor = 0.1; - - -//old contrasty, or just copy paste clarity -const float gamma = 1.025; // 1.0 is neutral Botw is already colour graded at this stage -const float exposure = 0.99; // 1.0 is neutral -const float vibrance = 0.75; // 0.0 is neutral -const float crushContrast = 0.0; // 0.0 is neutral. Use small increments, loss of shadow detail - -vec3 contrasty(vec3 colour){ - vec3 fColour = (colour.xyz); -fColour.x = fColour.x *redScale; -fColour.y = fColour.y *greenScale; -fColour.z = fColour.z *blueScale; - - fColour = clamp(exposure * fColour, 0.0, 1.0); - fColour = pow(fColour, vec3(1.0 / gamma)); - float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114; - float mn = min(min(fColour.r, fColour.g), fColour.b); - float mx = max(max(fColour.r, fColour.g), fColour.b); - float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0; - vec3 lightness = vec3((mn + mx) / 2.0); -// vibrance - fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat); - fColour = max(vec3(0.0), fColour - vec3(crushContrast)); - return fColour; -} - -uniform ivec4 uf_remappedPS[1]; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -// 0 -PV0f.x = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000); -PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); -PV0f.w = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); -// 1 -PV1f.x = fract(PV0f.w); -PV1f.y = fract(PV0f.x); -PV1f.z = fract(PV0f.y); -PV1f.w = fract(PV0f.z); -// 2 -R0f.x = PV1f.x * intBitsToFloat(0x3f808081); -R0f.x = clamp(R0f.x, 0.0, 1.0); -R0f.y = PV1f.w * intBitsToFloat(0x3f808081); -R0f.y = clamp(R0f.y, 0.0, 1.0); -R0f.z = PV1f.z * intBitsToFloat(0x3f808081); -R0f.z = clamp(R0f.z, 0.0, 1.0); -R0f.w = PV1f.y * intBitsToFloat(0x3f808081); -R0f.w = clamp(R0f.w, 0.0, 1.0); -// export - -R0f.xyz = contrasty(R0f.xyz); -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); - - -//passPixelColor0 = vec4(R0f.x*redScale, R0f.y*greenScale, R0f.z*blueScale, R0f.w); -} diff --git a/Enhancement/TwilightPrincessHD_contrasty/_s_afa7dc4b804ad02f_0000000000000079_ps.txt b/Enhancement/TwilightPrincessHD_contrasty/_s_afa7dc4b804ad02f_0000000000000079_ps.txt deleted file mode 100644 index 059f943a..00000000 --- a/Enhancement/TwilightPrincessHD_contrasty/_s_afa7dc4b804ad02f_0000000000000079_ps.txt +++ /dev/null @@ -1,100 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader afa7dc4b804ad02f // sky -const float redScale = 0.95; -const float greenScale = 1.06; -const float blueScale = 1.28; -const float hazeFactor = 0.1; - - -//old contrasty, or just copy paste clarity -const float gamma = 1.025; // 1.0 is neutral Botw is already colour graded at this stage -const float exposure = 0.99; // 1.0 is neutral -const float vibrance = 0.75; // 0.0 is neutral -const float crushContrast = 0.0; // 0.0 is neutral. Use small increments, loss of shadow detail - -vec3 contrasty(vec3 colour){ - vec3 fColour = (colour.xyz); -fColour.x = fColour.x *redScale; -fColour.y = fColour.y *greenScale; -fColour.z = fColour.z *blueScale; - - fColour = clamp(exposure * fColour, 0.0, 1.0); - fColour = pow(fColour, vec3(1.0 / gamma)); - float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114; - float mn = min(min(fColour.r, fColour.g), fColour.b); - float mx = max(max(fColour.r, fColour.g), fColour.b); - float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0; - vec3 lightness = vec3((mn + mx) / 2.0); -// vibrance - fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat); - fColour = max(vec3(0.0), fColour - vec3(crushContrast)); - return fColour; -} - -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2f74d800 res 64x64x1 dim 1 tm: 4 format 0001 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R1f = passParameterSem1; -R1f.xyz = (texture(textureUnitPS0, R1f.xy).xyz); -// 0 -backupReg0f = R0f.w; -PV0f.x = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000); -PV0f.y = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000); -PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000); -PV0f.w = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000); -R127f.x = backupReg0f * intBitsToFloat(0x3f808081); -PS0f = R127f.x; -// 1 -PV1f.x = fract(PV0f.w); -PV1f.y = fract(PV0f.x); -PV1f.z = fract(PV0f.y); -PV1f.w = fract(PV0f.z); -// 2 -PV0f.y = PV1f.x * intBitsToFloat(0x3f808081); -PV0f.z = PV1f.y * intBitsToFloat(0x3f808081); -PV0f.w = PV1f.w * intBitsToFloat(0x3f808081); -R0f.w = mul_nonIEEE(PV1f.z, R127f.x); -R0f.w = clamp(R0f.w, 0.0, 1.0); -PS0f = R0f.w; -// 3 -R0f.x = mul_nonIEEE(R1f.x, PV0f.z); -R0f.x = clamp(R0f.x, 0.0, 1.0); -R0f.y = mul_nonIEEE(R1f.y, PV0f.y); -R0f.y = clamp(R0f.y, 0.0, 1.0); -R0f.z = mul_nonIEEE(R1f.z, PV0f.w); -R0f.z = clamp(R0f.z, 0.0, 1.0); -// export - -R0f.xyz = contrasty(R0f.xyz); -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Enhancement/TwilightPrincessHD_contrasty/c14019840473ff86_00000000000003c9_ps.txt b/Enhancement/TwilightPrincessHD_contrasty/c14019840473ff86_00000000000003c9_ps.txt deleted file mode 100644 index e2739cc7..00000000 --- a/Enhancement/TwilightPrincessHD_contrasty/c14019840473ff86_00000000000003c9_ps.txt +++ /dev/null @@ -1,173 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader c14019840473ff86 //aa -const float redScale = 0.92; -const float greenScale = 1.02; //5 -const float blueScale = 1.24; -const float hazeFactor = 0.1; - -const float gamma = 0.98; // 1.0 is neutral Botw is already colour graded at this stage -const float exposure = 1.075; // 1.0 is neutral -const float vibrance = 0.37; // 0.0 is neutral -const float crushContrast = 0.00; // 0.0 is neutral. Use small increments, loss of shadow detail - -float Sigmoid (float x) { - - return 1.0 / (1.0 + (exp(-(x - 0.5) * 5.5))); -} - - -vec3 contrasty(vec3 colour){ - vec3 fColour = (colour.xyz); -fColour.x = fColour.x *redScale; -fColour.y = fColour.y *greenScale; -fColour.z = fColour.z *blueScale; - - fColour = clamp(exposure * fColour, 0.0, 1.0); - fColour = pow(fColour, vec3(1.0 / gamma)); - float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114; - float mn = min(min(fColour.r, fColour.g), fColour.b); - float mx = max(max(fColour.r, fColour.g), fColour.b); - float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0; - vec3 lightness = vec3((mn + mx) / 2.0); -// vibrance - fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat); - fColour = max(vec3(0.0), fColour - vec3(crushContrast)); - return fColour; -} - - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4001000 res 1920x1080x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf5187000 res 1920x1080x1 dim 1 tm: 4 format 0011 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R0f.w = (textureGather(textureUnitPS1, R0f.xy).y); -// 0 -R1f.x = R0f.x + intBitsToFloat(0xba088889); -R1f.y = R0f.y + intBitsToFloat(0xba72b9d6); -R2f.z = R0f.x; -R2f.y = R0f.y + intBitsToFloat(0xba72b9d6); -PS0f = R2f.y; -// 1 -R3f.x = R0f.x + intBitsToFloat(0xba088889); -R3f.y = R0f.y; -R1f.xyzw = (textureGather(textureUnitPS1, R1f.xy).xyzw); -R2f.yz = (textureGather(textureUnitPS1, R2f.zy).yz); -R3f.xy = (textureGather(textureUnitPS1, R3f.xy).xy); -// 0 -PV0f.x = R2f.z + R3f.x; -PV0f.y = R1f.w + R0f.w; -PV0f.z = R1f.z + R3f.y; -PV0f.w = R1f.x + R2f.y; -// 1 -R123f.x = (R1f.y * 2.0 + -(PV0f.x)); -PV1f.x = R123f.x; -R123f.y = (R1f.y * 2.0 + -(PV0f.y)); -PV1f.y = R123f.y; -R123f.z = (R1f.y * 2.0 + -(PV0f.z)); -PV1f.z = R123f.z; -R123f.w = (R1f.y * 2.0 + -(PV0f.w)); -PV1f.w = R123f.w; -// 2 -PV0f.x = max(PV1f.x, -(PV1f.x)); -PV0f.y = max(PV1f.y, -(PV1f.y)); -PV0f.z = max(PV1f.z, -(PV1f.z)); -PV0f.w = max(PV1f.w, -(PV1f.w)); -// 3 -PV1f.x = PV0f.x + intBitsToFloat(0xb400d959); -PV1f.y = PV0f.y + intBitsToFloat(0xb400d959); -PV1f.z = PV0f.z + intBitsToFloat(0xb400d959); -PV1f.w = PV0f.w + intBitsToFloat(0xb400d959); -// 4 -R123f.x = intBitsToFloat(((PV1f.w >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.x = R123f.x; -R123f.y = intBitsToFloat(((PV1f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.y = R123f.y; -R123f.z = intBitsToFloat(((PV1f.y >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.z = R123f.z; -R123f.w = intBitsToFloat(((PV1f.x >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.w = R123f.w; -// 5 -tempf.x = dot(vec4(PV0f.x,PV0f.y,PV0f.z,PV0f.w),vec4(0.25,0.25,0.25,0.25)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -// 6 -R127f.z = PV1f.x * intBitsToFloat(0x3f400000)*0.5; -PV0f.z = R127f.z; -// 7 -R1f.x = (PV0f.z * intBitsToFloat(0xba088889)*0.5 + R0f.x); -R1f.y = R0f.y; -R2f.z = R0f.x; -R2f.y = (PV0f.z * intBitsToFloat(0xba72b9d6)*0.5 + R0f.y); -PS1f = R2f.y; -// 8 -R3f.x = (R127f.z * intBitsToFloat(0x3a088889)*0.5 + R0f.x); -R3f.y = R0f.y; -R0f.w = (R127f.z * intBitsToFloat(0x3a72b9d6) + R0f.y); -R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R2f.zy).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.xw).xyzw); -// 0 -PV0f.x = R1f.w + R2f.w; -PV0f.y = R1f.z + R2f.z; -PV0f.z = R1f.y + R2f.y; -PV0f.w = R1f.x + R2f.x; -// 1 -PV1f.x = R3f.w + PV0f.x; -PV1f.y = R3f.z + PV0f.y; -PV1f.z = R3f.y + PV0f.z; -PV1f.w = R3f.x + PV0f.w; -// 2 -backupReg0f = R0f.y; -backupReg1f = R0f.x; -PV0f.x = R0f.w + PV1f.x; -PV0f.y = R0f.z + PV1f.y; -PV0f.z = backupReg0f + PV1f.z; -PV0f.w = backupReg1f + PV1f.w; -// 3 -R0f.x = PV0f.w * 0.25; -R0f.y = PV0f.z * 0.25; -R0f.z = PV0f.y * 0.25; -R0f.w = PV0f.x * 0.25; -// export -//R0f.xyz = vec3(Sigmoid(R0f.x), Sigmoid(R0f.y),Sigmoid(R0f.z)); -//R0f.xyz = contrasty(R0f.xyz); -//R0f.xyz = clamp(R0f.xyz,0,1); - -//vec3 mix(vec3 x, vec3 y, float a) -R0f.xyz = mix(contrasty(R0f.xyz), vec3(Sigmoid(R0f.x), Sigmoid(R0f.y),Sigmoid(R0f.z)), 0.25); -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Enhancement/TwilightPrincessHD_contrasty/f42bb0ed469dd804_0000000000001e49_ps.txt b/Enhancement/TwilightPrincessHD_contrasty/f42bb0ed469dd804_0000000000001e49_ps.txt deleted file mode 100644 index fa662946..00000000 --- a/Enhancement/TwilightPrincessHD_contrasty/f42bb0ed469dd804_0000000000001e49_ps.txt +++ /dev/null @@ -1,187 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader f42bb0ed469dd804 //sun - -const float redScale = 0.92; -const float greenScale = 1.02; //5 -const float blueScale = 1.24; -const float hazeFactor = 0.1; - -const float gamma = 0.98; // 1.0 is neutral Botw is already colour graded at this stage -const float exposure = 1.075; // 1.0 is neutral -const float vibrance = 0.37; // 0.0 is neutral -const float crushContrast = 0.00; // 0.0 is neutral. Use small increments, loss of shadow detail - -float Sigmoid (float x) { - - return 1.0 / (1.0 + (exp(-(x - 0.5) * 5.5))); -} - -vec3 contrasty(vec3 colour){ - vec3 fColour = (colour.xyz); -fColour.x = fColour.x *redScale; -fColour.y = fColour.y *greenScale; -fColour.z = fColour.z *blueScale; - - fColour = clamp(exposure * fColour, 0.0, 1.0); - fColour = pow(fColour, vec3(1.0 / gamma)); - float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114; - float mn = min(min(fColour.r, fColour.g), fColour.b); - float mx = max(max(fColour.r, fColour.g), fColour.b); - float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0; - vec3 lightness = vec3((mn + mx) / 2.0); -// vibrance - fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat); - fColour = max(vec3(0.0), fColour - vec3(crushContrast)); - return fColour; -} - -uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2f478000 res 32x32x1 dim 1 tm: 4 format 0001 compSel: 0 0 0 0 mipView: 0x0 (num 0x6) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2f3e2800 res 32x32x1 dim 1 tm: 4 format 0002 compSel: 0 0 0 1 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x24dfb000 res 960x540x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem1; -layout(location = 1) in vec4 passParameterSem2; -layout(location = 2) in vec4 passParameterSem3; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem1; -R1f = passParameterSem2; -R2f = passParameterSem3; -R0f.xyz = (texture(textureUnitPS0, R0f.xy).wzy); -R1f.xyzw = (texture(textureUnitPS1, R1f.xy).xyzw); -// 0 -backupReg0f = R0f.y; -R125f.x = intBitsToFloat(uf_remappedPS[0].w); -PV0f.x = R125f.x; -PV0f.y = R0f.z * intBitsToFloat(0x437f0000); -PV0f.z = backupReg0f * intBitsToFloat(0x437f0000); -PV0f.w = R0f.x * intBitsToFloat(0x437f0000); -R127f.w = 1.0 / R2f.z; -PS0f = R127f.w; -// 1 -PV1f.x = floor(PV0f.w); -R125f.y = intBitsToFloat(uf_remappedPS[1].w); -PV1f.y = R125f.y; -PV1f.z = floor(PV0f.y); -PV1f.w = floor(PV0f.z); -R124f.w = 1.0 / PV0f.x; -PS1f = R124f.w; -// 2 -R127f.xyz = vec3(PV1f.x,PV1f.w,PV1f.z) + vec3(intBitsToFloat(0xc3000000),intBitsToFloat(0xc3000000),intBitsToFloat(0xc3000000)); -PV0f.x = R127f.x; -PV0f.y = R127f.y; -PV0f.z = R127f.z; -R125f.w = mul_nonIEEE(R2f.x, R127f.w); -R126f.x = 1.0 / PV1f.y; -PS0f = R126f.x; -// 3 -tempf.x = dot(vec4(intBitsToFloat(uf_remappedPS[1].x),intBitsToFloat(uf_remappedPS[1].y),intBitsToFloat(uf_remappedPS[1].z),-0.0),vec4(PV0f.x,PV0f.y,PV0f.z,0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R126f.z = tempf.x; -R126f.y = mul_nonIEEE(R2f.y, R127f.w); -PS1f = R126f.y; -// 4 -tempf.x = dot(vec4(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(uf_remappedPS[0].z),-0.0),vec4(R127f.x,R127f.y,R127f.z,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.w = tempf.x; -R127f.y = max(PV1f.x, -(PV1f.x)); -PS0f = R127f.y; -// 5 -R127f.x = max(PV0f.x, -(PV0f.x)); -PV1f.x = R127f.x; -PV1f.y = (R126f.z > 0.0)?1.0:0.0; -PV1f.z = PS0f + intBitsToFloat(0xc4800000); -R126f.w = (PV0f.x > 0.0)?1.0:0.0; -PS1f = (0.0 > R126f.z)?1.0:0.0; -// 6 -PV0f.x = (0.0 > R127f.w)?1.0:0.0; -R123f.y = (PV1f.z * intBitsToFloat(0x3a800000) + 1.0); -PV0f.y = R123f.y; -R126f.z = PV1f.y + -(PS1f); -PV0f.w = PV1f.x + intBitsToFloat(0xc4800000); -PS0f = intBitsToFloat(uf_remappedPS[2].w); -PS0f = clamp(PS0f, 0.0, 1.0); -// 7 -backupReg0f = R126f.w; -R123f.x = (PV0f.w * intBitsToFloat(0x3a800000) + 1.0); -PV1f.x = R123f.x; -PV1f.z = floor(PV0f.y); -R126f.w = backupReg0f + -(PV0f.x); -R0f.w = mul_nonIEEE(R1f.w, PS0f); -R0f.w = clamp(R0f.w, 0.0, 1.0); -PS1f = R0f.w; -// 8 -R123f.y = (-(PV1f.z) * intBitsToFloat(0x44800000) + R127f.y); -PV0f.y = R123f.y; -PV0f.w = floor(PV1f.x); -// 9 -R123f.x = (-(PV0f.w) * intBitsToFloat(0x44800000) + R127f.x); -PV1f.x = R123f.x; -PV1f.y = mul_nonIEEE(PV0f.y, R126f.z); -// 10 -PV0f.x = mul_nonIEEE(PV1f.x, R126f.w); -R123f.z = (mul_nonIEEE(R125f.w,R126f.x) + PV1f.y); -PV0f.z = R123f.z; -// 11 -R2f.x = mul_nonIEEE(R125f.y, PV0f.z); -R123f.w = (mul_nonIEEE(R126f.y,R124f.w) + PV0f.x); -PV1f.w = R123f.w; -// 12 -R2f.y = mul_nonIEEE(R125f.x, PV1f.w); -R2f.xyz = (texture(textureUnitPS2, R2f.xy).xyz); -// 0 -PV0f.y = R2f.z; -PV0f.y = clamp(PV0f.y, 0.0, 1.0); -PV0f.z = R2f.y; -PV0f.z = clamp(PV0f.z, 0.0, 1.0); -PV0f.w = R2f.x; -PV0f.w = clamp(PV0f.w, 0.0, 1.0); -// 1 -R0f.x = mul_nonIEEE(R1f.x, PV0f.w); -R0f.x = clamp(R0f.x, 0.0, 1.0); -R0f.y = mul_nonIEEE(R1f.y, PV0f.z); -R0f.y = clamp(R0f.y, 0.0, 1.0); -R0f.z = mul_nonIEEE(R1f.z, PV0f.y); -R0f.z = clamp(R0f.z, 0.0, 1.0); -// export - -R0f.xyz = mix(contrasty(R0f.xyz), vec3(Sigmoid(R0f.x), Sigmoid(R0f.y),Sigmoid(R0f.z)), 0.25); -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Enhancement/TwilightPrincessHD_contrasty/patches.txt b/Enhancement/TwilightPrincessHD_contrasty/patches.txt deleted file mode 100644 index 54f293d9..00000000 --- a/Enhancement/TwilightPrincessHD_contrasty/patches.txt +++ /dev/null @@ -1,12 +0,0 @@ -[TPHDv81] -moduleMatches = 0x1A03E108 -#Move some look tweaks to patches instead of shaders - -#rodata constants -###exp and haze settings -0x100C3EB8 = .float 0.0034 ## Near world (over)exposure -0x100C36C4 = .float 0.0035 ## Bloom npc/object (over) " -0x100C3780 = .float 0.0034 ## Distant world (over)exposure -0x100C3774 = .float 22.0 ### haze 21 = default 21++~ gradually less - -#0x100871C8 = .float 0.01 #100871C8:.float 0.00050000002 ###cloud float diff --git a/Enhancement/TwilightPrincessHD_contrasty/rules.txt b/Enhancement/TwilightPrincessHD_contrasty/rules.txt deleted file mode 100644 index 7bed97d7..00000000 --- a/Enhancement/TwilightPrincessHD_contrasty/rules.txt +++ /dev/null @@ -1,21 +0,0 @@ -[Definition] -titleIds = 000500001019C800,000500001019E600,000500001019E500 -name = "The Legend of Zelda: Twilight Princess HD - Contrasty patch" -version = 2 - -#v0.0 Lets see of this works -#v0.1 "Baked" overexposure -#v0.2 haze world exposure - - -#[TextureRedefine] #general -#formats = 0x19,0x1a -#overwriteFormat = 0x1f - -#[TextureRedefine] #horizon -#formats = 0x001 -#overwriteFormat = 0x005 - -#[TextureRedefine] #clouds -#formats = 0x007 -#overwriteFormat = 0x00f \ No newline at end of file diff --git a/Enhancement/WindWakerHD-GC_colour/rules.txt b/Enhancement/WindWakerHD-GC_colour/rules.txt deleted file mode 100644 index 7d783864..00000000 --- a/Enhancement/WindWakerHD-GC_colour/rules.txt +++ /dev/null @@ -1,5 +0,0 @@ -# Found by jediyoshi, Shadow format found by SunBroDave -[Definition] -titleIds = 0005000010143400,0005000010143600,0005000010143500 -name = "The Legend of Zelda: The Wind Waker HD - GC colour grading" # aka teal is not blue... nor is purple. -version = 2 \ No newline at end of file diff --git a/Enhancement/WindWakerHD_0AARemoval/ff71dcd2ad4defdc_00000000000003c9_ps.txt b/Enhancement/WindWakerHD_0AARemoval/ff71dcd2ad4defdc_00000000000003c9_ps.txt deleted file mode 100644 index 1fef5bfa..00000000 --- a/Enhancement/WindWakerHD_0AARemoval/ff71dcd2ad4defdc_00000000000003c9_ps.txt +++ /dev/null @@ -1,51 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader ff71dcd2ad4defdc -uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5807800 res 1920x1080x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4000800 res 1920x1080x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem2; -//R1f.xyzw = (textureGather(textureUnitPS1, R0f.xy).wzxy); -R2f.xyzw= (texture(textureUnitPS0, R0f.xy).xyzw); -passPixelColor0 = R2f.xyzw; -} diff --git a/Enhancement/WindWakerHD_0AARemoval/rules.txt b/Enhancement/WindWakerHD_0AARemoval/rules.txt deleted file mode 100644 index 4920c258..00000000 --- a/Enhancement/WindWakerHD_0AARemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010143400,0005000010143600,0005000010143500 -name = "The Legend of Zelda: The Wind Waker HD - No Anti-Aliasing" -version = 2 diff --git a/Enhancement/WindWakerHD_AdjustableBloom/960d3ef6662043c7_0000000000000079_ps.txt b/Enhancement/WindWakerHD_AdjustableBloom/960d3ef6662043c7_0000000000000079_ps.txt deleted file mode 100644 index d3b101fa..00000000 --- a/Enhancement/WindWakerHD_AdjustableBloom/960d3ef6662043c7_0000000000000079_ps.txt +++ /dev/null @@ -1,45 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable - -const float bloomFactor = 0.4; // bloom strength - -// shader 960d3ef6662043c7 -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4000800 res 480x270x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; - -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R0f.xyz = texture(textureUnitPS0, R0f.xy).xyz * bloomFactor; -// 0 -/* -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg2f = R0f.z; -R0f.xyz = vec3(backupReg0f,backupReg1f,backupReg2f); -*/ -// export -passPixelColor0 = R0f.xyzw; -} diff --git a/Enhancement/WindWakerHD_AdjustableBloom/rules.txt b/Enhancement/WindWakerHD_AdjustableBloom/rules.txt deleted file mode 100644 index 1bfe012f..00000000 --- a/Enhancement/WindWakerHD_AdjustableBloom/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010143400,0005000010143600,0005000010143500 -name = "The Legend of Zelda: The Wind Waker HD - Adjustable Bloom" -version = 2 \ No newline at end of file diff --git a/Enhancement/XenobladeX_0AARemoval/rules.txt b/Enhancement/XenobladeX_0AARemoval/rules.txt deleted file mode 100644 index e7867e85..00000000 --- a/Enhancement/XenobladeX_0AARemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - No Anti-Aliasing" # Cemu 1.8 -version = 2 diff --git a/Enhancement/XenobladeX_219_GUI/1cb8c35cca05b129_0000000000000000_vs.txt b/Enhancement/XenobladeX_219_GUI/1cb8c35cca05b129_0000000000000000_vs.txt deleted file mode 100644 index 5b3ddcd2..00000000 --- a/Enhancement/XenobladeX_219_GUI/1cb8c35cca05b129_0000000000000000_vs.txt +++ /dev/null @@ -1,171 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 1cb8c35cca05b129 -//dialog box -uniform ivec4 uf_remappedVS[14]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem1.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder = attrDataSem0; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem2.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -PV0f.x = intBitsToFloat(uf_remappedVS[0].w) * 1.0; -PV0f.y = intBitsToFloat(uf_remappedVS[0].z) * 1.0; -PV0f.z = intBitsToFloat(uf_remappedVS[0].y) * 1.0; -PV0f.w = intBitsToFloat(uf_remappedVS[0].x) * 1.0; -// 1 -R123f.x = (R2f.y * intBitsToFloat(uf_remappedVS[1].w) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R2f.y * intBitsToFloat(uf_remappedVS[1].z) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R2f.y * intBitsToFloat(uf_remappedVS[1].y) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R2f.y * intBitsToFloat(uf_remappedVS[1].x) + PV0f.w); -PV1f.w = R123f.w; -// 2 -R123f.x = (R2f.x * intBitsToFloat(uf_remappedVS[2].w) + PV1f.x); -PV0f.x = R123f.x; -R127f.y = (R2f.x * intBitsToFloat(uf_remappedVS[2].z) + PV1f.y); -R127f.z = (R2f.x * intBitsToFloat(uf_remappedVS[2].y) + PV1f.z); -R127f.w = (R2f.x * intBitsToFloat(uf_remappedVS[2].x) + PV1f.w); -// 3 -PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[3].w); -PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[3].z); -PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[3].y); -PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[3].x); -// 4 -R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[4].w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[4].z) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[4].y) + PV1f.z); -PV0f.z = R123f.z; -R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[4].x) + PV1f.w); -PV0f.w = R123f.w; -// 5 -R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[5].w) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[5].z) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[5].y) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[5].x) + PV0f.w); -PV1f.w = R123f.w; -// 6 -backupReg0f = R127f.w; -R123f.x = (R127f.w * intBitsToFloat(uf_remappedVS[6].w) + PV1f.x); -PV0f.x = R123f.x; -R127f.y = (R127f.w * intBitsToFloat(uf_remappedVS[6].z) + PV1f.y); -R127f.z = (R127f.w * intBitsToFloat(uf_remappedVS[6].y) + PV1f.z); -R127f.w = (backupReg0f * intBitsToFloat(uf_remappedVS[6].x) + PV1f.w); -// 7 -PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[7].w); -PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[7].z); -PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[7].y); -PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[7].x); -// 8 -R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[8].w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[8].z) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[8].y) + PV1f.z); -PV0f.z = R123f.z; -R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[8].x) + PV1f.w); -PV0f.w = R123f.w; -// 9 -R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[9].w) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[9].z) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[9].y) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[9].x) + PV0f.w); -PV1f.w = R123f.w; -// 10 -R2f.x = (R127f.w * intBitsToFloat(uf_remappedVS[10].x) + PV1f.w); -R2f.y = (R127f.w * intBitsToFloat(uf_remappedVS[10].y) + PV1f.z); -R2f.z = (R127f.w * intBitsToFloat(uf_remappedVS[10].z) + PV1f.y); -R2f.w = (R127f.w * intBitsToFloat(uf_remappedVS[10].w) + PV1f.x); -// 11 -PV1f.x = intBitsToFloat(uf_remappedVS[11].w) * 1.0; -PV1f.y = intBitsToFloat(uf_remappedVS[11].z) * 1.0; -PV1f.z = intBitsToFloat(uf_remappedVS[11].y) * 1.0; -PV1f.w = intBitsToFloat(uf_remappedVS[11].x) * 1.0; -// 12 -R123f.x = (R3f.y * intBitsToFloat(uf_remappedVS[12].w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (R3f.y * intBitsToFloat(uf_remappedVS[12].z) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (R3f.y * intBitsToFloat(uf_remappedVS[12].y) + PV1f.z); -PV0f.z = R123f.z; -R123f.w = (R3f.y * intBitsToFloat(uf_remappedVS[12].x) + PV1f.w); -PV0f.w = R123f.w; -// 13 -backupReg0f = R3f.x; -backupReg0f = R3f.x; -backupReg0f = R3f.x; -backupReg0f = R3f.x; -R3f.x = (backupReg0f * intBitsToFloat(uf_remappedVS[13].x) + PV0f.w); -R3f.y = (backupReg0f * intBitsToFloat(uf_remappedVS[13].y) + PV0f.z); -R3f.z = (backupReg0f * intBitsToFloat(uf_remappedVS[13].z) + PV0f.y); -R3f.w = (backupReg0f * intBitsToFloat(uf_remappedVS[13].w) + PV0f.x); -// export -float origRatio = 1.777f; -float newRatio = 2.370f; -// *(origRatio / newRatio) -gl_Position = vec4(R2f.x*(origRatio / newRatio), R2f.y, R2f.z, R2f.w); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// 0 -} diff --git a/Enhancement/XenobladeX_219_GUI/28620f4f4753fb97_0000000000000000_vs.txt b/Enhancement/XenobladeX_219_GUI/28620f4f4753fb97_0000000000000000_vs.txt deleted file mode 100644 index 518dd630..00000000 --- a/Enhancement/XenobladeX_219_GUI/28620f4f4753fb97_0000000000000000_vs.txt +++ /dev/null @@ -1,163 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 28620f4f4753fb97 -// selection position -uniform ivec4 uf_uniformRegisterVS[256]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -// 0 -R127i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].w) * 1.0); -R127i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].y) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].x) * 1.0); -PS0i = int(intBitsToFloat(R1i.z)); -// 1 -R126i.x = floatBitsToInt(float(PS0i)); -PS1i = R126i.x; -// 2 -tempResultf = intBitsToFloat(PS1i); -tempResultf = floor(tempResultf); -tempResultf = clamp(tempResultf, -256.0, 255.0); -ARi.x = int(tempResultf); -PV0i.x = floatBitsToInt(tempResultf); -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[18].w) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[18].z) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -// 4 -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[17].w) + intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[17].z) + intBitsToFloat(PV1i.y))); -// 5 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[18].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[18].x) + intBitsToFloat(backupReg1i))); -// 6 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[16].w) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[16].z) + intBitsToFloat(R127i.y))); -// 7 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[17].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[17].x) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[15].w)); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[15].z)); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[15].y)); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[15].x)); -// 9 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[16].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[16].x) + intBitsToFloat(backupReg1i))); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[14].w) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[14].z) + intBitsToFloat(R127i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[14].y) + intBitsToFloat(R126i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[14].x) + intBitsToFloat(R126i.w))); -PV0i.w = R123i.w; -// 11 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[13].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[13].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[13].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[13].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 12 -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[12].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[12].z) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[12].y) + intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[12].x) + intBitsToFloat(PV1i.w))); -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].x)); -// 14 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].z) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].y) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].x) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 15 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 16 -R1i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].x) + intBitsToFloat(PV1i.w))); -R1i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].y) + intBitsToFloat(PV1i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].z) + intBitsToFloat(PV1i.y))); -R1i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].w) + intBitsToFloat(PV1i.x))); -// 17 -R0i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+4].x,uf_uniformRegisterVS[ARi.x+4].y,uf_uniformRegisterVS[ARi.x+4].z); -R0i.w = uf_uniformRegisterVS[ARi.x+4].w; -// export -float origRatio = 1.777f; -float newRatio = 2.370f; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// 0 -} diff --git a/Enhancement/XenobladeX_219_GUI/3e12e7b9d981b915_0000000000000000_vs.txt b/Enhancement/XenobladeX_219_GUI/3e12e7b9d981b915_0000000000000000_vs.txt deleted file mode 100644 index d8d07e48..00000000 --- a/Enhancement/XenobladeX_219_GUI/3e12e7b9d981b915_0000000000000000_vs.txt +++ /dev/null @@ -1,188 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 3e12e7b9d981b915 -// box canvas ingame *dumped* -uniform ivec4 uf_uniformRegisterVS[256]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -// 0 -R127i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].w) * 1.0); -R127i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].y) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].x) * 1.0); -PS0i = int(intBitsToFloat(R1i.z)); -// 1 -R126i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].w) * 1.0); -R125i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].z) * 1.0); -R125i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].y) * 1.0); -R125i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].x) * 1.0); -R125i.x = floatBitsToInt(float(PS0i)); -PS1i = R125i.x; -// 2 -tempResultf = intBitsToFloat(PS1i); -tempResultf = floor(tempResultf); -tempResultf = clamp(tempResultf, -256.0, 255.0); -ARi.x = int(tempResultf); -PV0i.x = floatBitsToInt(tempResultf); -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].w) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].z) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -// 4 -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].w) + intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].z) + intBitsToFloat(PV1i.y))); -// 5 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].x) + intBitsToFloat(backupReg1i))); -// 6 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].w) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].z) + intBitsToFloat(R127i.y))); -// 7 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].x) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].w)); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].z)); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].y)); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].x)); -// 9 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].x) + intBitsToFloat(backupReg1i))); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].w) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].z) + intBitsToFloat(R127i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].y) + intBitsToFloat(R126i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].x) + intBitsToFloat(R126i.w))); -PV0i.w = R123i.w; -// 11 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 12 -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].z) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].y) + intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[20].x) + intBitsToFloat(PV1i.w))); -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].x)); -// 14 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].z) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].y) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].x) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 15 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 16 -R1i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].x) + intBitsToFloat(PV1i.w))); -R1i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].y) + intBitsToFloat(PV1i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].z) + intBitsToFloat(PV1i.y))); -R1i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].w) + intBitsToFloat(PV1i.x))); -// 17 -backupReg0i = R125i.z; -backupReg1i = R125i.w; -R125i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].y) + intBitsToFloat(backupReg0i))); -R125i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].x) + intBitsToFloat(backupReg1i))); -// 18 -backupReg0i = R126i.x; -backupReg1i = R125i.y; -R126i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].w) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].z) + intBitsToFloat(backupReg1i))); -// 19 -R0i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+4].x,uf_uniformRegisterVS[ARi.x+4].y,uf_uniformRegisterVS[ARi.x+4].z); -R0i.w = uf_uniformRegisterVS[ARi.x+4].w; -// 20 -R2i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].x) + intBitsToFloat(R125i.w))); -R2i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].y) + intBitsToFloat(R125i.z))); -// 21 -R2i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].z) + intBitsToFloat(R125i.y))); -R2i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].w) + intBitsToFloat(R126i.x))); -// export -float origRatio = 1.777f; -float newRatio = 2.370f; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// 0 -} diff --git a/Enhancement/XenobladeX_219_GUI/46bdcbf27127ae3b_0000000000000000_vs.txt b/Enhancement/XenobladeX_219_GUI/46bdcbf27127ae3b_0000000000000000_vs.txt deleted file mode 100644 index dc2e5bfd..00000000 --- a/Enhancement/XenobladeX_219_GUI/46bdcbf27127ae3b_0000000000000000_vs.txt +++ /dev/null @@ -1,132 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 46bdcbf27127ae3b -// depth, scary *dumped* -uniform ivec4 uf_remappedVS[11]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -PV0f.x = intBitsToFloat(uf_remappedVS[0].w) * 1.0; -PV0f.y = intBitsToFloat(uf_remappedVS[0].z) * 1.0; -PV0f.z = intBitsToFloat(uf_remappedVS[0].y) * 1.0; -PV0f.w = intBitsToFloat(uf_remappedVS[0].x) * 1.0; -// 1 -R123f.x = (R1f.y * intBitsToFloat(uf_remappedVS[1].w) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R1f.y * intBitsToFloat(uf_remappedVS[1].z) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R1f.y * intBitsToFloat(uf_remappedVS[1].y) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R1f.y * intBitsToFloat(uf_remappedVS[1].x) + PV0f.w); -PV1f.w = R123f.w; -// 2 -R123f.x = (R1f.x * intBitsToFloat(uf_remappedVS[2].w) + PV1f.x); -PV0f.x = R123f.x; -R127f.y = (R1f.x * intBitsToFloat(uf_remappedVS[2].z) + PV1f.y); -R127f.z = (R1f.x * intBitsToFloat(uf_remappedVS[2].y) + PV1f.z); -R127f.w = (R1f.x * intBitsToFloat(uf_remappedVS[2].x) + PV1f.w); -// 3 -PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[3].w); -PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[3].z); -PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[3].y); -PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[3].x); -// 4 -R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[4].w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[4].z) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[4].y) + PV1f.z); -PV0f.z = R123f.z; -R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[4].x) + PV1f.w); -PV0f.w = R123f.w; -// 5 -R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[5].w) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[5].z) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[5].y) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[5].x) + PV0f.w); -PV1f.w = R123f.w; -// 6 -backupReg0f = R127f.w; -R123f.x = (R127f.w * intBitsToFloat(uf_remappedVS[6].w) + PV1f.x); -PV0f.x = R123f.x; -R127f.y = (R127f.w * intBitsToFloat(uf_remappedVS[6].z) + PV1f.y); -R127f.z = (R127f.w * intBitsToFloat(uf_remappedVS[6].y) + PV1f.z); -R127f.w = (backupReg0f * intBitsToFloat(uf_remappedVS[6].x) + PV1f.w); -// 7 -PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[7].w); -PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[7].z); -PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[7].y); -PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[7].x); -// 8 -R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[8].w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[8].z) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[8].y) + PV1f.z); -PV0f.z = R123f.z; -R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[8].x) + PV1f.w); -PV0f.w = R123f.w; -// 9 -R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[9].w) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[9].z) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[9].y) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[9].x) + PV0f.w); -PV1f.w = R123f.w; -// 10 -R1f.x = (R127f.w * intBitsToFloat(uf_remappedVS[10].x) + PV1f.w); -R1f.y = (R127f.w * intBitsToFloat(uf_remappedVS[10].y) + PV1f.z); -R1f.z = (R127f.w * intBitsToFloat(uf_remappedVS[10].z) + PV1f.y); -R1f.w = (R127f.w * intBitsToFloat(uf_remappedVS[10].w) + PV1f.x); -// export -float origRatio = 1.777f; -float newRatio = 2.370f; -// *(origRatio / newRatio) -gl_Position = vec4(R1f.x*(origRatio / newRatio), R1f.y, R1f.z, R1f.w); -// export -// skipped export to semanticId 255 -// 0 -} diff --git a/Enhancement/XenobladeX_219_GUI/538fc98d957aaa7c_0000000000000000_vs.txt b/Enhancement/XenobladeX_219_GUI/538fc98d957aaa7c_0000000000000000_vs.txt deleted file mode 100644 index 92c5ce82..00000000 --- a/Enhancement/XenobladeX_219_GUI/538fc98d957aaa7c_0000000000000000_vs.txt +++ /dev/null @@ -1,188 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 538fc98d957aaa7c -// box canvas -uniform ivec4 uf_uniformRegisterVS[256]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -// 0 -R127i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].w) * 1.0); -R127i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].y) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].x) * 1.0); -PS0i = int(intBitsToFloat(R1i.z)); -// 1 -R126i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].w) * 1.0); -R125i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].z) * 1.0); -R125i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].y) * 1.0); -R125i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].x) * 1.0); -R125i.x = floatBitsToInt(float(PS0i)); -PS1i = R125i.x; -// 2 -tempResultf = intBitsToFloat(PS1i); -tempResultf = floor(tempResultf); -tempResultf = clamp(tempResultf, -256.0, 255.0); -ARi.x = int(tempResultf); -PV0i.x = floatBitsToInt(tempResultf); -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].w) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].z) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -// 4 -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].w) + intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].z) + intBitsToFloat(PV1i.y))); -// 5 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].x) + intBitsToFloat(backupReg1i))); -// 6 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].w) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].z) + intBitsToFloat(R127i.y))); -// 7 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].x) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].w)); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].z)); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].y)); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].x)); -// 9 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].x) + intBitsToFloat(backupReg1i))); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].w) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].z) + intBitsToFloat(R127i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].y) + intBitsToFloat(R126i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].x) + intBitsToFloat(R126i.w))); -PV0i.w = R123i.w; -// 11 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 12 -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].z) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].y) + intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[20].x) + intBitsToFloat(PV1i.w))); -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].x)); -// 14 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].z) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].y) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].x) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 15 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 16 -R1i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].x) + intBitsToFloat(PV1i.w))); -R1i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].y) + intBitsToFloat(PV1i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].z) + intBitsToFloat(PV1i.y))); -R1i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].w) + intBitsToFloat(PV1i.x))); -// 17 -backupReg0i = R125i.z; -backupReg1i = R125i.w; -R125i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].y) + intBitsToFloat(backupReg0i))); -R125i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].x) + intBitsToFloat(backupReg1i))); -// 18 -backupReg0i = R126i.x; -backupReg1i = R125i.y; -R126i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].w) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].z) + intBitsToFloat(backupReg1i))); -// 19 -R0i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+4].x,uf_uniformRegisterVS[ARi.x+4].y,uf_uniformRegisterVS[ARi.x+4].z); -R0i.w = uf_uniformRegisterVS[ARi.x+4].w; -// 20 -R2i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].x) + intBitsToFloat(R125i.w))); -R2i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].y) + intBitsToFloat(R125i.z))); -// 21 -R2i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].z) + intBitsToFloat(R125i.y))); -R2i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].w) + intBitsToFloat(R126i.x))); -// export -float origRatio = 1.777f; -float newRatio = 2.370f; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R1i.x) *(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// 0 -} diff --git a/Enhancement/XenobladeX_219_GUI/8ff56afdf1a2f837_0000000000000000_vs.txt b/Enhancement/XenobladeX_219_GUI/8ff56afdf1a2f837_0000000000000000_vs.txt deleted file mode 100644 index 9793e8e3..00000000 --- a/Enhancement/XenobladeX_219_GUI/8ff56afdf1a2f837_0000000000000000_vs.txt +++ /dev/null @@ -1,171 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 8ff56afdf1a2f837 -// text *dumped* -uniform ivec4 uf_uniformRegisterVS[256]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -// 0 -R127i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].w) * 1.0); -R127i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].y) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].x) * 1.0); -PS0i = int(intBitsToFloat(R1i.z)); -// 1 -R2i.z = 0; -R2i.w = floatBitsToInt(1.0); -R126i.x = floatBitsToInt(float(PS0i)); -PS1i = R126i.x; -// 2 -tempResultf = intBitsToFloat(PS1i); -tempResultf = floor(tempResultf); -tempResultf = clamp(tempResultf, -256.0, 255.0); -ARi.x = int(tempResultf); -PV0i.x = floatBitsToInt(tempResultf); -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[22].w) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[22].z) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -R0i.w = uf_uniformRegisterVS[ARi.x+8].w; -// 4 -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[21].w) + intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[21].z) + intBitsToFloat(PV1i.y))); -// 5 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[22].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[22].x) + intBitsToFloat(backupReg1i))); -// 6 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[20].w) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[20].z) + intBitsToFloat(R127i.y))); -// 7 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[21].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[21].x) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].w)); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].z)); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].y)); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].x)); -// 9 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[20].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[20].x) + intBitsToFloat(backupReg1i))); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].w) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].z) + intBitsToFloat(R127i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].y) + intBitsToFloat(R126i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].x) + intBitsToFloat(R126i.w))); -PV0i.w = R123i.w; -// 11 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 12 -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[16].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[16].z) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[16].y) + intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[16].x) + intBitsToFloat(PV1i.w))); -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].x)); -// 14 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].z) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].y) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].x) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 15 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 16 -R1i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].x) + intBitsToFloat(PV1i.w))); -R1i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].y) + intBitsToFloat(PV1i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].z) + intBitsToFloat(PV1i.y))); -R1i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].w) + intBitsToFloat(PV1i.x))); -// 17 -R0i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+4].x,uf_uniformRegisterVS[ARi.x+4].y,uf_uniformRegisterVS[ARi.x+4].z); -// 18 -R2i.x = uf_uniformRegisterVS[ARi.x+12].x; -R2i.y = uf_uniformRegisterVS[ARi.x+12].y; -// export -float origRatio = 1.777f; -float newRatio = 2.370f; -gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// 0 -} diff --git a/Enhancement/XenobladeX_219_GUI/9f390af3897e9112_0000000000000000_vs.txt b/Enhancement/XenobladeX_219_GUI/9f390af3897e9112_0000000000000000_vs.txt deleted file mode 100644 index 2c2ef647..00000000 --- a/Enhancement/XenobladeX_219_GUI/9f390af3897e9112_0000000000000000_vs.txt +++ /dev/null @@ -1,181 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 9f390af3897e9112 -//active selection -uniform ivec4 uf_uniformRegisterVS[256]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -// 0 -R127i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].w) * 1.0); -R127i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].y) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].x) * 1.0); -PS0i = int(intBitsToFloat(R1i.z)); -// 1 -R126i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[15].w) * 1.0); -R125i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[15].z) * 1.0); -R125i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[15].y) * 1.0); -R125i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[15].x) * 1.0); -R125i.x = floatBitsToInt(float(PS0i)); -PS1i = R125i.x; -// 2 -tempResultf = intBitsToFloat(PS1i); -tempResultf = floor(tempResultf); -tempResultf = clamp(tempResultf, -256.0, 255.0); -ARi.x = int(tempResultf); -PV0i.x = floatBitsToInt(tempResultf); -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].z) * intBitsToFloat(uf_uniformRegisterVS[22].w) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].z) * intBitsToFloat(uf_uniformRegisterVS[22].z) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -// 4 -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].y) * intBitsToFloat(uf_uniformRegisterVS[21].w) + intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].y) * intBitsToFloat(uf_uniformRegisterVS[21].z) + intBitsToFloat(PV1i.y))); -// 5 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].z) * intBitsToFloat(uf_uniformRegisterVS[22].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].z) * intBitsToFloat(uf_uniformRegisterVS[22].x) + intBitsToFloat(backupReg1i))); -// 6 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].x) * intBitsToFloat(uf_uniformRegisterVS[20].w) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].x) * intBitsToFloat(uf_uniformRegisterVS[20].z) + intBitsToFloat(R127i.y))); -// 7 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].y) * intBitsToFloat(uf_uniformRegisterVS[21].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].y) * intBitsToFloat(uf_uniformRegisterVS[21].x) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].w)); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].z)); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].y)); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].x)); -// 9 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].x) * intBitsToFloat(uf_uniformRegisterVS[20].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].x) * intBitsToFloat(uf_uniformRegisterVS[20].x) + intBitsToFloat(backupReg1i))); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].w) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].z) + intBitsToFloat(R127i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].y) + intBitsToFloat(R126i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].x) + intBitsToFloat(R126i.w))); -PV0i.w = R123i.w; -// 11 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 12 -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[16].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[16].z) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[16].y) + intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[16].x) + intBitsToFloat(PV1i.w))); -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].x)); -// 14 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].z) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].y) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].x) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 15 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 16 -R1i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].x) + intBitsToFloat(PV1i.w))); -R1i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].y) + intBitsToFloat(PV1i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].z) + intBitsToFloat(PV1i.y))); -R1i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].w) + intBitsToFloat(PV1i.x))); -// 17 -backupReg0i = R125i.z; -backupReg1i = R125i.w; -R125i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[13].y) + intBitsToFloat(backupReg0i))); -R125i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[13].x) + intBitsToFloat(backupReg1i))); -// 18 -backupReg0i = R126i.x; -backupReg1i = R125i.y; -R126i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[13].w) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[13].z) + intBitsToFloat(backupReg1i))); -// 19 -R0i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[12].x) + intBitsToFloat(R125i.w))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[12].y) + intBitsToFloat(R125i.z))); -// 20 -R0i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[12].z) + intBitsToFloat(R125i.y))); -R0i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[12].w) + intBitsToFloat(R126i.x))); -// export -float origRatio = 1.777f; -float newRatio = 2.370f; - -gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// 0 -} diff --git a/Enhancement/XenobladeX_219_GUI/b679b0945943e505_0000000000000000_vs.txt b/Enhancement/XenobladeX_219_GUI/b679b0945943e505_0000000000000000_vs.txt deleted file mode 100644 index 75bfb2db..00000000 --- a/Enhancement/XenobladeX_219_GUI/b679b0945943e505_0000000000000000_vs.txt +++ /dev/null @@ -1,163 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader b679b0945943e505 -// selection box frame *dumped* -uniform ivec4 uf_remappedVS[14]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -PV0f.x = intBitsToFloat(uf_remappedVS[0].w) * 1.0; -PV0f.y = intBitsToFloat(uf_remappedVS[0].z) * 1.0; -PV0f.z = intBitsToFloat(uf_remappedVS[0].y) * 1.0; -PV0f.w = intBitsToFloat(uf_remappedVS[0].x) * 1.0; -// 1 -R123f.x = (R1f.y * intBitsToFloat(uf_remappedVS[1].w) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R1f.y * intBitsToFloat(uf_remappedVS[1].z) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R1f.y * intBitsToFloat(uf_remappedVS[1].y) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R1f.y * intBitsToFloat(uf_remappedVS[1].x) + PV0f.w); -PV1f.w = R123f.w; -// 2 -R123f.x = (R1f.x * intBitsToFloat(uf_remappedVS[2].w) + PV1f.x); -PV0f.x = R123f.x; -R127f.y = (R1f.x * intBitsToFloat(uf_remappedVS[2].z) + PV1f.y); -R127f.z = (R1f.x * intBitsToFloat(uf_remappedVS[2].y) + PV1f.z); -R127f.w = (R1f.x * intBitsToFloat(uf_remappedVS[2].x) + PV1f.w); -// 3 -PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[3].w); -PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[3].z); -PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[3].y); -PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[3].x); -// 4 -R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[4].w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[4].z) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[4].y) + PV1f.z); -PV0f.z = R123f.z; -R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[4].x) + PV1f.w); -PV0f.w = R123f.w; -// 5 -R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[5].w) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[5].z) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[5].y) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[5].x) + PV0f.w); -PV1f.w = R123f.w; -// 6 -backupReg0f = R127f.w; -R123f.x = (R127f.w * intBitsToFloat(uf_remappedVS[6].w) + PV1f.x); -PV0f.x = R123f.x; -R127f.y = (R127f.w * intBitsToFloat(uf_remappedVS[6].z) + PV1f.y); -R127f.z = (R127f.w * intBitsToFloat(uf_remappedVS[6].y) + PV1f.z); -R127f.w = (backupReg0f * intBitsToFloat(uf_remappedVS[6].x) + PV1f.w); -// 7 -PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[7].w); -PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[7].z); -PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[7].y); -PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[7].x); -// 8 -R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[8].w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[8].z) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[8].y) + PV1f.z); -PV0f.z = R123f.z; -R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[8].x) + PV1f.w); -PV0f.w = R123f.w; -// 9 -R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[9].w) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[9].z) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[9].y) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[9].x) + PV0f.w); -PV1f.w = R123f.w; -// 10 -R1f.x = (R127f.w * intBitsToFloat(uf_remappedVS[10].x) + PV1f.w); -R1f.y = (R127f.w * intBitsToFloat(uf_remappedVS[10].y) + PV1f.z); -R1f.z = (R127f.w * intBitsToFloat(uf_remappedVS[10].z) + PV1f.y); -R1f.w = (R127f.w * intBitsToFloat(uf_remappedVS[10].w) + PV1f.x); -// 11 -PV1f.x = intBitsToFloat(uf_remappedVS[11].w) * 1.0; -PV1f.y = intBitsToFloat(uf_remappedVS[11].z) * 1.0; -PV1f.z = intBitsToFloat(uf_remappedVS[11].y) * 1.0; -PV1f.w = intBitsToFloat(uf_remappedVS[11].x) * 1.0; -// 12 -R123f.x = (R2f.y * intBitsToFloat(uf_remappedVS[12].w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (R2f.y * intBitsToFloat(uf_remappedVS[12].z) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (R2f.y * intBitsToFloat(uf_remappedVS[12].y) + PV1f.z); -PV0f.z = R123f.z; -R123f.w = (R2f.y * intBitsToFloat(uf_remappedVS[12].x) + PV1f.w); -PV0f.w = R123f.w; -// 13 -backupReg0f = R2f.x; -backupReg0f = R2f.x; -backupReg0f = R2f.x; -backupReg0f = R2f.x; -R2f.x = (backupReg0f * intBitsToFloat(uf_remappedVS[13].x) + PV0f.w); -R2f.y = (backupReg0f * intBitsToFloat(uf_remappedVS[13].y) + PV0f.z); -R2f.z = (backupReg0f * intBitsToFloat(uf_remappedVS[13].z) + PV0f.y); -R2f.w = (backupReg0f * intBitsToFloat(uf_remappedVS[13].w) + PV0f.x); -// export -float origRatio = 1.777f; -float newRatio = 2.370f; -// *(origRatio / newRatio) -gl_Position = vec4(R1f.x*(origRatio / newRatio), R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// 0 -} diff --git a/Enhancement/XenobladeX_219_GUI/d6e8f178a5b828f0_0000000000000000_vs.txt b/Enhancement/XenobladeX_219_GUI/d6e8f178a5b828f0_0000000000000000_vs.txt deleted file mode 100644 index 2c226041..00000000 --- a/Enhancement/XenobladeX_219_GUI/d6e8f178a5b828f0_0000000000000000_vs.txt +++ /dev/null @@ -1,188 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader d6e8f178a5b828f0 -// bg boxes -uniform ivec4 uf_uniformRegisterVS[256]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -// 0 -R127i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].w) * 1.0); -R127i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].y) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].x) * 1.0); -PS0i = int(intBitsToFloat(R1i.z)); -// 1 -R126i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].w) * 1.0); -R125i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].z) * 1.0); -R125i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].y) * 1.0); -R125i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].x) * 1.0); -R125i.x = floatBitsToInt(float(PS0i)); -PS1i = R125i.x; -// 2 -tempResultf = intBitsToFloat(PS1i); -tempResultf = floor(tempResultf); -tempResultf = clamp(tempResultf, -256.0, 255.0); -ARi.x = int(tempResultf); -PV0i.x = floatBitsToInt(tempResultf); -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].w) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].z) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -// 4 -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].w) + intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].z) + intBitsToFloat(PV1i.y))); -// 5 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].x) + intBitsToFloat(backupReg1i))); -// 6 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].w) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].z) + intBitsToFloat(R127i.y))); -// 7 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].x) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].w)); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].z)); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].y)); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].x)); -// 9 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].x) + intBitsToFloat(backupReg1i))); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].w) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].z) + intBitsToFloat(R127i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].y) + intBitsToFloat(R126i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].x) + intBitsToFloat(R126i.w))); -PV0i.w = R123i.w; -// 11 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 12 -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].z) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].y) + intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[20].x) + intBitsToFloat(PV1i.w))); -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].x)); -// 14 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].z) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].y) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].x) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 15 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 16 -R1i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].x) + intBitsToFloat(PV1i.w))); -R1i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].y) + intBitsToFloat(PV1i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].z) + intBitsToFloat(PV1i.y))); -R1i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].w) + intBitsToFloat(PV1i.x))); -// 17 -backupReg0i = R125i.z; -backupReg1i = R125i.w; -R125i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].y) + intBitsToFloat(backupReg0i))); -R125i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].x) + intBitsToFloat(backupReg1i))); -// 18 -backupReg0i = R126i.x; -backupReg1i = R125i.y; -R126i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].w) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].z) + intBitsToFloat(backupReg1i))); -// 19 -R0i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+4].x,uf_uniformRegisterVS[ARi.x+4].y,uf_uniformRegisterVS[ARi.x+4].z); -R0i.w = uf_uniformRegisterVS[ARi.x+4].w; -// 20 -R2i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].x) + intBitsToFloat(R125i.w))); -R2i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].y) + intBitsToFloat(R125i.z))); -// 21 -R2i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].z) + intBitsToFloat(R125i.y))); -R2i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].w) + intBitsToFloat(R126i.x))); -// export -float origRatio = 1.777f; -float newRatio = 2.370f; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// 0 -} diff --git a/Enhancement/XenobladeX_219_GUI/rules.txt b/Enhancement/XenobladeX_219_GUI/rules.txt deleted file mode 100644 index 132619b6..00000000 --- a/Enhancement/XenobladeX_219_GUI/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - 21:9 GUI" -version = 2 diff --git a/Enhancement/XenobladeX_FX/3cc7e98f78c258b4_00000000000003ca_ps.txt b/Enhancement/XenobladeX_FX/3cc7e98f78c258b4_00000000000003ca_ps.txt deleted file mode 100644 index f8dcc7d5..00000000 --- a/Enhancement/XenobladeX_FX/3cc7e98f78c258b4_00000000000003ca_ps.txt +++ /dev/null @@ -1,280 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader 3cc7e98f78c258b4 -//Xenoblade FX -//Version 0.01Beta -//Shader Dumped from 1.01 -//Shader Edits by Jamie -// - -//ToneMapping -#define Bleach 0.3 //Default is 0.0 -#define exposure 1.25 //Default is 1.0 -#define defog 0.000 //Default is 0.0 //How much of the overall color you want removed form the values of FogColor. -#define FogColor vec3(1.0, 1.0, 1.0) //Color you want to Add or Remove 0.25 would add .25 percent of that color 1.25 would remove .25 percent of the color." - -//VibrancePass -#define Vibrance 0.15 //"Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation."; -#define VibranceRGBBalance vec3(1.0, 1.0, 1.0) //"A per channel multiplier to the Vibrance strength so you can give more boost to certain colors over others."; - -//Lift Gamma Gain -#define RGB_Lift vec3(1.05, 1.05, 1.05) //[0.000 to 2.000] Adjust shadows for Red, Green and Blue. -#define RGB_Gamma vec3(0.70, 0.70, 0.70) //[0.000 to 2.000] Adjust midtones for Red, Green and Blue -#define RGB_Gain vec3(1.05, 1.05, 1.05) //[0.000 to 2.000] Adjust highlights for Red, Green and Blue -//Note that a value of 1.0 is a neutral setting that leave the color unchanged. - -//Curves -#define Contrast 0.50 //[-1.0, 1.0] The amount of contrast you want - -//LumaShapening -#define sharp_strength 0.25 //[0.10 to 3.00] Strength of the sharpening Default is 0.65 -#define sharp_clamp 0.085 //[0.000 to 1.000] Limits maximum amount of sharpening a pixel recieves - Default is 0.035 -//Advanced sharpening settings -#define offset_bias 1.0 //[0.0 to 6.0] Offset bias adjusts the radius of the sampling pattern. - -//Fake High Dynamic Range. -#define HDRPower 1.70 // 0.0 to 8.0 "Raising this seems to make the effect stronger and also darker , Default 1.30." -#define radius1 0.793 // 0.0 to 8.0 "Default 0.793 , will affect FX." -#define radius2 0.87 // 0.0 to 8.0 "Default 0.87 , will affect FX." - -//########################################################### -//Do not edit under this line. -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) uniform sampler3D textureUnitPS1;// Tex1 addr 0x2603b000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -//---------------------------------------------------------------------------- -//ToneMapping - -vec3 TonemapPass(vec3 inputColor) { - vec3 color = inputColor; - color = clamp(color - defog * FogColor * 2.55, 0.0, 1.0); // defog - color *= exposure / (1.0 + color / exposure); - - const vec3 coefLuma = vec3(0.2126, 0.7152, 0.0722); - float lum = dot(coefLuma, color); - - float L = clamp(10.0 * (lum - 0.45), 0.0, 1.0); - vec3 A2 = Bleach * color; - - vec3 result1 = 2.0f * color * lum; - vec3 result2 = 1.0f - 2.0f * (1.0f - lum) * (1.0f - color); - - vec3 newColor = mix(result1, result2, L); - vec3 mixRGB = A2 * newColor; - color += ((1.0f - A2) * mixRGB); - - vec3 middlegray = vec3(dot(color, vec3(1.0 / 3.0))); - vec3 diffcolor = color - middlegray; - - float sat = 0.0; - color = (color + diffcolor * sat) / (1 + (diffcolor * sat)); // saturation - - return color; -} - -//LumaShapening - -#define px (1.0/1280.0*uf_fragCoordScale.x) -#define py (1.0/720.0*uf_fragCoordScale.y) -#define CoefLuma vec3(0.2126, 0.7152, 0.0722) - -float lumasharping(sampler2D tex, vec2 pos) { - vec4 colorInput = texture(tex, pos); - - vec3 ori = colorInput.rgb; - - // -- Combining the strength and luma multipliers -- - vec3 sharp_strength_luma = (CoefLuma * sharp_strength); - - // -- Gaussian filter -- - // [ .25, .50, .25] [ 1 , 2 , 1 ] - // [ .50, 1, .50] = [ 2 , 4 , 2 ] - // [ .25, .50, .25] [ 1 , 2 , 1 ] - - vec3 blur_ori = texture(tex, pos + vec2(px, -py) * 0.5 * offset_bias).rgb; // South East - blur_ori += texture(tex, pos + vec2(-px, -py) * 0.5 * offset_bias).rgb; // South West - blur_ori += texture(tex, pos + vec2(px, py) * 0.5 * offset_bias).rgb; // North East - blur_ori += texture(tex, pos + vec2(-px, py) * 0.5 * offset_bias).rgb; // North West - - blur_ori *= 0.25; // ( /= 4) Divide by the number of texture fetches - - // -- Calculate the sharpening -- - vec3 sharp = ori - blur_ori; //Subtracting the blurred image from the original image - - // -- Adjust strength of the sharpening and clamp it-- - vec4 sharp_strength_luma_clamp = vec4(sharp_strength_luma * (0.5 / sharp_clamp), 0.5); //Roll part of the clamp into the dot - - float sharp_luma = clamp((dot(vec4(sharp, 1.0), sharp_strength_luma_clamp)), 0.0, 1.0); //Calculate the luma, adjust the strength, scale up and clamp - sharp_luma = (sharp_clamp * 2.0) * sharp_luma - sharp_clamp; //scale down - - return sharp_luma; -} - -//Fake High Dynamic Range. - -vec3 HDRPass(sampler2D tex, vec2 pos) { - vec3 color = texture(tex, pos).rgb; - - vec3 bloom_sum1 = texture(tex, pos + vec2(1.5, -1.5) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(-1.5, -1.5) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(1.5, 1.5) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(-1.5, 1.5) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(0.0, -2.5) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(0.0, 2.5) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(-2.5, 0.0) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(2.5, 0.0) * radius1 * vec2(px, py)).rgb; - - bloom_sum1 *= 0.005; - - vec3 bloom_sum2 = texture(tex, pos + vec2(1.5, -1.5) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(-1.5, -1.5) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(1.5, 1.5) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(-1.5, 1.5) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(0.0, -2.5) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(0.0, 2.5) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(-2.5, 0.0) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(2.5, 0.0) * radius2 * vec2(px, py)).rgb; - - bloom_sum2 *= 0.010; - - float dist = radius2 - radius1; - vec3 HDR = (color + (bloom_sum2 - bloom_sum1)) * dist; - - vec3 blend = HDR + color; - color = pow(abs(blend), vec3(abs(HDRPower))) + HDR; - - return color; -} - -//Lift Gamma Gain - -vec3 LiftGammaGainPass(vec3 colorInput) -{ - // -- Get input -- - vec3 color = colorInput; - - // -- Lift -- - - color = color * (1.5 - 0.5 * RGB_Lift) + 0.5 * RGB_Lift - 0.5; - color = clamp(color, 0.0, 1.0); //isn't strictly necessary, but doesn't cost performance. - - // -- Gain -- - color *= RGB_Gain; - - // -- Gamma -- - color = pow(color, 1.0 / RGB_Gamma); //Gamma - - // -- Return output -- - return clamp(color, 0.0, 1.0); -} - -//VibrancePass -vec3 VibrancePass(vec3 color) { - - const vec3 coefLuma = vec3(0.2126, 0.7152, 0.0722); - float luma = dot(coefLuma, color); - - float max_color = max(color.r, max(color.g, color.b)); // Find the strongest color - float min_color = min(color.r, min(color.g, color.b)); // Find the weakest color - - float color_saturation = max_color - min_color; // The difference between the two is the saturation - - // Extrapolate between luma and original by 1 + (1-saturation) - current - vec3 coeffVibrance = VibranceRGBBalance * Vibrance; - - color = mix(vec3(luma), color, 1.0 + (coeffVibrance * (1.0 - (sign(coeffVibrance) * color_saturation)))); - - return color; -} - -//Curves - -vec3 CurvesPass(vec3 inputColor) { - vec3 colorInput = inputColor; - float Contrast_blend = Contrast * 2.0; //I multiply by two to give it a strength closer to the other curves. - vec3 x = colorInput.rgb; //if the curve should be applied to both Luma and Chroma - x = x * (x * (1.5 - x) + 0.5); //horner form - fastest version - vec3 color = x; //if the curve should be applied to both Luma and Chroma - colorInput.rgb = mix(colorInput.rgb, color, Contrast_blend); //Blend by Contrast - return colorInput; -} - -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R0f.xyz = HDRPass(textureUnitPS0, passParameterSem0.xy); -float smask = lumasharping(textureUnitPS0, passParameterSem0.xy); -R0f.xyz += vec3(smask); -//R0f.xyz = (texture(textureUnitPS0, R0f.xy).xyz); -// -- Original shader code -// 0 -R127f.x = R0f.z * intBitsToFloat(uf_remappedPS[0].x); -R127f.x = clamp(R127f.x, 0.0, 1.0); -R127f.y = R0f.y * intBitsToFloat(uf_remappedPS[0].x); -R127f.y = clamp(R127f.y, 0.0, 1.0); -PV0f.z = R0f.x * intBitsToFloat(uf_remappedPS[0].x); -PV0f.z = clamp(PV0f.z, 0.0, 1.0); -R1f.w = 1.0; -// 1 -tempResultf = log2(PV0f.z); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1f = tempResultf; -// 2 -R127f.z = PS1f * intBitsToFloat(0x3ee8ba2e); -tempResultf = log2(R127f.y); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0f = tempResultf; -// 3 -R127f.w = PS0f * intBitsToFloat(0x3ee8ba2e); -tempResultf = log2(R127f.x); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1f = tempResultf; -// 4 -R127f.x = PS1f * intBitsToFloat(0x3ee8ba2e); -PS0f = exp2(R127f.z); -// 5 -R0f.x = (PS0f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w)); -PS1f = exp2(R127f.w); -// 6 -R0f.y = (PS1f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w)); -PS0f = exp2(R127f.x); -// 7 -R0f.z = (PS0f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w)); -R1f.xyz = (texture(textureUnitPS1, vec3(R0f.x,R0f.y,R0f.z)).xyz); -// -- End original shader code - -//passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); - - vec3 color = texture(textureUnitPS0, passParameterSem0.xy).xyz; - color = TonemapPass(color); - color = CurvesPass(color); - color = LiftGammaGainPass(color); - color = VibrancePass(color); - passPixelColor0 = vec4(color, passParameterSem0.w); -//passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -} diff --git a/Enhancement/XenobladeX_FX/d936195db0dd8e7d_0000000000001e52_ps.txt b/Enhancement/XenobladeX_FX/d936195db0dd8e7d_0000000000001e52_ps.txt deleted file mode 100644 index 6ab7f938..00000000 --- a/Enhancement/XenobladeX_FX/d936195db0dd8e7d_0000000000001e52_ps.txt +++ /dev/null @@ -1,296 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader d936195db0dd8e7d //crossfade exposure -//Xenoblade FX -//Version 0.01Beta -//Shader Dumped from 1.01 -//Shader Edits by Jamie -// - -//ToneMapping -#define Bleach 0.3 //Default is 0.0 -#define exposure 1.25 //Default is 1.0 -#define defog 0.000 //Default is 0.0 //How much of the overall color you want removed form the values of FogColor. -#define FogColor vec3(1.0, 1.0, 1.0) //Color you want to Add or Remove 0.25 would add .25 percent of that color 1.25 would remove .25 percent of the color." - -//VibrancePass -#define Vibrance 0.15 //"Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation."; -#define VibranceRGBBalance vec3(1.0, 1.0, 1.0) //"A per channel multiplier to the Vibrance strength so you can give more boost to certain colors over others."; - -//Lift Gamma Gain -#define RGB_Lift vec3(1.05, 1.05, 1.05) //[0.000 to 2.000] Adjust shadows for Red, Green and Blue. -#define RGB_Gamma vec3(0.70, 0.70, 0.70) //[0.000 to 2.000] Adjust midtones for Red, Green and Blue -#define RGB_Gain vec3(1.05, 1.05, 1.05) //[0.000 to 2.000] Adjust highlights for Red, Green and Blue -//Note that a value of 1.0 is a neutral setting that leave the color unchanged. - -//Curves -#define Contrast 0.50 //[-1.0, 1.0] The amount of contrast you want - -//LumaShapening -#define sharp_strength 0.25 //[0.10 to 3.00] Strength of the sharpening Default is 0.65 -#define sharp_clamp 0.085 //[0.000 to 1.000] Limits maximum amount of sharpening a pixel recieves - Default is 0.035 -//Advanced sharpening settings -#define offset_bias 1.0 //[0.0 to 6.0] Offset bias adjusts the radius of the sampling pattern. - -//Fake High Dynamic Range. -#define HDRPower 1.70 // 0.0 to 8.0 "Raising this seems to make the effect stronger and also darker , Default 1.30." -#define radius1 0.793 // 0.0 to 8.0 "Default 0.793 , will affect FX." -#define radius2 0.87 // 0.0 to 8.0 "Default 0.87 , will affect FX." - -//########################################################### -//Do not edit under this line. -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) uniform sampler3D textureUnitPS1;// Tex1 addr 0x26032000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler3D textureUnitPS2;// Tex2 addr 0x2603b000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -//---------------------------------------------------------------------------- -//ToneMapping - -vec3 TonemapPass(vec3 inputColor) { - vec3 color = inputColor; - color = clamp(color - defog * FogColor * 2.55, 0.0, 1.0); // defog - color *= exposure / (1.0 + color / exposure); - - const vec3 coefLuma = vec3(0.2126, 0.7152, 0.0722); - float lum = dot(coefLuma, color); - - float L = clamp(10.0 * (lum - 0.45), 0.0, 1.0); - vec3 A2 = Bleach * color; - - vec3 result1 = 2.0f * color * lum; - vec3 result2 = 1.0f - 2.0f * (1.0f - lum) * (1.0f - color); - - vec3 newColor = mix(result1, result2, L); - vec3 mixRGB = A2 * newColor; - color += ((1.0f - A2) * mixRGB); - - vec3 middlegray = vec3(dot(color, vec3(1.0 / 3.0))); - vec3 diffcolor = color - middlegray; - - float sat = 0.0; - color = (color + diffcolor * sat) / (1 + (diffcolor * sat)); // saturation - - return color; -} - -//LumaShapening - -#define px (1.0/1280.0*uf_fragCoordScale.x) -#define py (1.0/720.0*uf_fragCoordScale.y) -#define CoefLuma vec3(0.2126, 0.7152, 0.0722) - -float lumasharping(sampler2D tex, vec2 pos) { - vec4 colorInput = texture(tex, pos); - - vec3 ori = colorInput.rgb; - - // -- Combining the strength and luma multipliers -- - vec3 sharp_strength_luma = (CoefLuma * sharp_strength); - - // -- Gaussian filter -- - // [ .25, .50, .25] [ 1 , 2 , 1 ] - // [ .50, 1, .50] = [ 2 , 4 , 2 ] - // [ .25, .50, .25] [ 1 , 2 , 1 ] - - vec3 blur_ori = texture(tex, pos + vec2(px, -py) * 0.5 * offset_bias).rgb; // South East - blur_ori += texture(tex, pos + vec2(-px, -py) * 0.5 * offset_bias).rgb; // South West - blur_ori += texture(tex, pos + vec2(px, py) * 0.5 * offset_bias).rgb; // North East - blur_ori += texture(tex, pos + vec2(-px, py) * 0.5 * offset_bias).rgb; // North West - - blur_ori *= 0.25; // ( /= 4) Divide by the number of texture fetches - - // -- Calculate the sharpening -- - vec3 sharp = ori - blur_ori; //Subtracting the blurred image from the original image - - // -- Adjust strength of the sharpening and clamp it-- - vec4 sharp_strength_luma_clamp = vec4(sharp_strength_luma * (0.5 / sharp_clamp), 0.5); //Roll part of the clamp into the dot - - float sharp_luma = clamp((dot(vec4(sharp, 1.0), sharp_strength_luma_clamp)), 0.0, 1.0); //Calculate the luma, adjust the strength, scale up and clamp - sharp_luma = (sharp_clamp * 2.0) * sharp_luma - sharp_clamp; //scale down - - return sharp_luma; -} - -//Fake High Dynamic Range. - -vec3 HDRPass(sampler2D tex, vec2 pos) { - vec3 color = texture(tex, pos).rgb; - - vec3 bloom_sum1 = texture(tex, pos + vec2(1.5, -1.5) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(-1.5, -1.5) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(1.5, 1.5) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(-1.5, 1.5) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(0.0, -2.5) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(0.0, 2.5) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(-2.5, 0.0) * radius1 * vec2(px, py)).rgb; - bloom_sum1 += texture(tex, pos + vec2(2.5, 0.0) * radius1 * vec2(px, py)).rgb; - - bloom_sum1 *= 0.005; - - vec3 bloom_sum2 = texture(tex, pos + vec2(1.5, -1.5) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(-1.5, -1.5) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(1.5, 1.5) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(-1.5, 1.5) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(0.0, -2.5) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(0.0, 2.5) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(-2.5, 0.0) * radius2 * vec2(px, py)).rgb; - bloom_sum2 += texture(tex, pos + vec2(2.5, 0.0) * radius2 * vec2(px, py)).rgb; - - bloom_sum2 *= 0.010; - - float dist = radius2 - radius1; - vec3 HDR = (color + (bloom_sum2 - bloom_sum1)) * dist; - - vec3 blend = HDR + color; - color = pow(abs(blend), vec3(abs(HDRPower))) + HDR; - - return color; -} - -//Lift Gamma Gain - -vec3 LiftGammaGainPass(vec3 colorInput) -{ - // -- Get input -- - vec3 color = colorInput; - - // -- Lift -- - - color = color * (1.5 - 0.5 * RGB_Lift) + 0.5 * RGB_Lift - 0.5; - color = clamp(color, 0.0, 1.0); //isn't strictly necessary, but doesn't cost performance. - - // -- Gain -- - color *= RGB_Gain; - - // -- Gamma -- - color = pow(color, 1.0 / RGB_Gamma); //Gamma - - // -- Return output -- - return clamp(color, 0.0, 1.0); -} - -//VibrancePass -vec3 VibrancePass(vec3 color) { - - const vec3 coefLuma = vec3(0.2126, 0.7152, 0.0722); - float luma = dot(coefLuma, color); - - float max_color = max(color.r, max(color.g, color.b)); // Find the strongest color - float min_color = min(color.r, min(color.g, color.b)); // Find the weakest color - - float color_saturation = max_color - min_color; // The difference between the two is the saturation - - // Extrapolate between luma and original by 1 + (1-saturation) - current - vec3 coeffVibrance = VibranceRGBBalance * Vibrance; - - color = mix(vec3(luma), color, 1.0 + (coeffVibrance * (1.0 - (sign(coeffVibrance) * color_saturation)))); - - return color; -} - -//Curves - -vec3 CurvesPass(vec3 inputColor) { - vec3 colorInput = inputColor; - float Contrast_blend = Contrast * 2.0; //I multiply by two to give it a strength closer to the other curves. - vec3 x = colorInput.rgb; //if the curve should be applied to both Luma and Chroma - x = x * (x * (1.5 - x) + 0.5); //horner form - fastest version - vec3 color = x; //if the curve should be applied to both Luma and Chroma - colorInput.rgb = mix(colorInput.rgb, color, Contrast_blend); //Blend by Contrast - return colorInput; -} - -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R0f.xyz = HDRPass(textureUnitPS0, passParameterSem0.xy); -float smask = lumasharping(textureUnitPS0, passParameterSem0.xy); -R0f.xyz += vec3(smask); -//R0f.xyz = (texture(textureUnitPS0, R0f.xy).xyz); -// -- Original shader code -// 0 -backupReg0f = R0f.x; -PV0f.x = backupReg0f * intBitsToFloat(uf_remappedPS[0].x); -PV0f.x = clamp(PV0f.x, 0.0, 1.0); -R127f.z = R0f.z * intBitsToFloat(uf_remappedPS[0].x); -R127f.z = clamp(R127f.z, 0.0, 1.0); -R127f.w = R0f.y * intBitsToFloat(uf_remappedPS[0].x); -R127f.w = clamp(R127f.w, 0.0, 1.0); -R2f.w = 1.0; -PS0f = R2f.w; -// 1 -tempResultf = log2(PV0f.x); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1f = tempResultf; -// 2 -R127f.x = PS1f * intBitsToFloat(0x3ee8ba2e); -tempResultf = log2(R127f.w); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0f = tempResultf; -// 3 -R127f.y = PS0f * intBitsToFloat(0x3ee8ba2e); -tempResultf = log2(R127f.z); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1f = tempResultf; -// 4 -R127f.w = PS1f * intBitsToFloat(0x3ee8ba2e); -PS0f = exp2(R127f.x); -// 5 -R0f.x = (PS0f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w)); -PS1f = exp2(R127f.y); -// 6 -R0f.y = (PS1f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w)); -PS0f = exp2(R127f.w); -// 7 -R0f.z = (PS0f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w)); -R1f.xyz = (texture(textureUnitPS1, vec3(R0f.x,R0f.y,R0f.z)).xyz); -R0f.xyz = (texture(textureUnitPS2, vec3(R0f.x,R0f.y,R0f.z)).xyz); -// 0 -backupReg0f = R0f.y; -backupReg1f = R0f.x; -PV0f.x = R1f.z + -(R0f.z); -PV0f.y = R1f.y + -(backupReg0f); -PV0f.z = R1f.x + -(backupReg1f); -// 1 -R2f.x = (PV0f.z * intBitsToFloat(uf_remappedPS[0].y) + R0f.x); -R2f.y = (PV0f.y * intBitsToFloat(uf_remappedPS[0].y) + R0f.y); -R2f.z = (PV0f.x * intBitsToFloat(uf_remappedPS[0].y) + R0f.z); -// -- End original shader code - -//passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); - - vec3 color = texture(textureUnitPS0, passParameterSem0.xy).xyz; - color = TonemapPass(color); - color = CurvesPass(color); - color = LiftGammaGainPass(color); - color = VibrancePass(color); - passPixelColor0 = vec4(color, passParameterSem0.w); -//passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -//passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -} diff --git a/Enhancement/XenobladeX_FX/rules.txt b/Enhancement/XenobladeX_FX/rules.txt deleted file mode 100644 index 07956fb1..00000000 --- a/Enhancement/XenobladeX_FX/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - Fx By Jamie" -version = 2 diff --git a/Enhancement/XenobladeX_NoOfflineTag/rules.txt b/Enhancement/XenobladeX_NoOfflineTag/rules.txt deleted file mode 100644 index b1541bd3..00000000 --- a/Enhancement/XenobladeX_NoOfflineTag/rules.txt +++ /dev/null @@ -1,10 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - No Offline Tag" -version = 2 - -[TextureRedefine] -width = 128 -height = 32 -formats = 0x033 -overwriteFormat = 0x433 diff --git a/Enhancements/!BreathOfTheWild_AntiAliasing/0f2b9ee517917425_00000000000003c9_ps.txt b/Enhancements/!BreathOfTheWild_AntiAliasing/0f2b9ee517917425_00000000000003c9_ps.txt new file mode 100644 index 00000000..ba6f9555 --- /dev/null +++ b/Enhancements/!BreathOfTheWild_AntiAliasing/0f2b9ee517917425_00000000000003c9_ps.txt @@ -0,0 +1,1017 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_EXT_gpu_shader4 : enable +// shader 0f2b9ee517917425 +// Used for: Removing/Restoring the native BotW Anti-Aliasing implementation in inventory screen + +#define preset $preset + +#if (preset == 0) +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem2; +layout(location = 0) out vec4 passPixelColor0; + +void main() +{ +passPixelColor0 = texture(textureUnitPS0, passParameterSem2.xy); +} +#endif + +#if (preset == 1) +uniform ivec4 uf_remappedPS[2]; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x387f8000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem2; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; +ivec2 resDim = textureSize2D(textureUnitPS0,0); +const float resXScale = float(resDim.x)/1280; +const float resYScale = float(resDim.y)/720; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R4i = ivec4(0); +ivec4 R5i = ivec4(0); +ivec4 R6i = ivec4(0); +ivec4 R123i = ivec4(0); +ivec4 R124i = ivec4(0); +ivec4 R125i = ivec4(0); +ivec4 R126i = ivec4(0); +ivec4 R127i = ivec4(0); +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +bool activeMaskStack[2]; +bool activeMaskStackC[3]; +activeMaskStack[0] = false; +activeMaskStackC[0] = false; +activeMaskStackC[1] = false; +activeMaskStack[0] = true; +activeMaskStackC[0] = true; +activeMaskStackC[1] = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0i = floatBitsToInt(passParameterSem2); +if( activeMaskStackC[1] == true ) { +R2i.xzw = floatBitsToInt(textureGather(textureUnitPS1, intBitsToFloat(R0i.xy)).xzw); +R1i.xz = floatBitsToInt(textureGather(textureUnitPS1, intBitsToFloat(R0i.zw)).xz); +R3i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).xyzw); +R0i.w = floatBitsToInt(textureOffset(textureUnitPS1, intBitsToFloat(R0i.xy),ivec2(1,-1)).x); +R1i.y = floatBitsToInt(textureOffset(textureUnitPS1, intBitsToFloat(R0i.xy),ivec2(-1,1)).x); +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +PV0i.x = floatBitsToInt(min(intBitsToFloat(R1i.x), intBitsToFloat(R1i.z))); +PV0i.y = floatBitsToInt(max(intBitsToFloat(R2i.x), intBitsToFloat(R2i.z))); +PV0i.z = floatBitsToInt(max(intBitsToFloat(R1i.x), intBitsToFloat(R1i.z))); +PV0i.w = floatBitsToInt(min(intBitsToFloat(R2i.x), intBitsToFloat(R2i.z))); +// 1 +PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.y))); +PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.w))); +// 2 +PV0i.z = floatBitsToInt(min(intBitsToFloat(R2i.w), intBitsToFloat(PV1i.y))); +PV0i.w = floatBitsToInt(max(intBitsToFloat(R2i.w), intBitsToFloat(PV1i.x))); +// 3 +PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[0].x))); +R1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(PV0i.z))); +// 4 +R2i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[0].y))); +// 5 +predResult = (intBitsToFloat(R1i.w) >= intBitsToFloat(R2i.y)); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +R126i.xyz = floatBitsToInt(vec3(intBitsToFloat(R2i.z),intBitsToFloat(R1i.x),intBitsToFloat(R2i.z)) + vec3(intBitsToFloat(R0i.w),intBitsToFloat(R1i.y),intBitsToFloat(R1i.x))); +PV0i.z = R126i.z; +R127i.w = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R1i.z)); +PV0i.w = R127i.w; +R127i.y = R1i.z; +R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); +PS0i = R127i.y; +// 1 +PV1i.x = R2i.x; +PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); +PV1i.y = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(R0i.w)); +R127i.z = floatBitsToInt((-(intBitsToFloat(R2i.w)) * 2.0 + intBitsToFloat(PV0i.z))); +PV1i.w = PV0i.w; +PS1i = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(R1i.y)); +// 2 +R127i.x = floatBitsToInt((-(intBitsToFloat(R2i.w)) * 2.0 + intBitsToFloat(PV1i.w))); +R1i.y = R2i.z; +PV0i.y = R1i.y; +PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) + -(intBitsToFloat(PV1i.x))); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(R127i.y))); +PS0i = R126i.x; +// 3 +backupReg0i = R127i.z; +backupReg0i = R127i.z; +R123i.x = floatBitsToInt((-(intBitsToFloat(R1i.x)) * 2.0 + intBitsToFloat(R126i.y))); +PV1i.x = R123i.x; +PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); +R127i.z = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); +R123i.w = floatBitsToInt((-(intBitsToFloat(PV0i.y)) * 2.0 + intBitsToFloat(PS0i))); +PV1i.w = R123i.w; +PS1i = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); +PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); +// 4 +backupReg0i = R126i.y; +PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); +R126i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); +PV0i.z = floatBitsToInt(max(intBitsToFloat(R127i.x), -(intBitsToFloat(R127i.x)))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PS1i)); +R126i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(backupReg0i)); +PS0i = R126i.w; +// 5 +backupReg0i = R127i.z; +PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); +PV1i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R126i.z)); +PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); +R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)); +R127i.y = floatBitsToInt(1.0 / intBitsToFloat(R1i.w)); +PS1i = R127i.y; +// 6 +PV0i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV1i.y)); +PV0i.y = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(PV1i.x)); +// 7 +PV1i.x = ((intBitsToFloat(PV0i.y) >= intBitsToFloat(R127i.z))?int(0xFFFFFFFF):int(0x0)); +PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3daaaaab)); +// 8 +PV0i.x = floatBitsToInt(intBitsToFloat(R2i.w) + -(intBitsToFloat(PV1i.y))); +R4i.z = ((PV1i.x == 0)?(0x3f800000):(0)); +PV0i.z = R4i.z; +R5i.w = ((PV1i.x == 0)?(0):(0x3f800000)); +PV0i.w = R5i.w; +// 9 +R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[1].x)/resXScale)); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[1].x)/resXScale)); +PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); +R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[1].y)/resYScale)); +PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.z))); +// 10 +R127i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(R127i.y)); +R127i.x = clampFI32(R127i.x); +PV0i.x = R127i.x; +R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[1].y)/resYScale) + intBitsToFloat(PV1i.y))); +R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R5i.w)) + intBitsToFloat(PS1i))); +PV0i.z = R127i.z; +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(R4i.z))); +// 11 +R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R5i.w)) + intBitsToFloat(PV0i.w))); +PV1i.x = R124i.x; +PV1i.y = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.z)); +R123i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c00000) + intBitsToFloat(0xc1700000))); +PV1i.w = R123i.w; +// 12 +R125i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), -(intBitsToFloat(PV1i.y)))); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.x)); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(0x41200000))); +PV0i.z = R123i.z; +// 13 +R126i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); +PV1i.x = R126i.x; +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.z))); +// 14 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.y))); +R126i.w = ((intBitsToFloat(R125i.x) >= intBitsToFloat(PV1i.x))?int(0xFFFFFFFF):int(0x0)); +PV0i.w = R126i.w; +// 15 +R6i.x = floatBitsToInt(((PV0i.w == 0)?(intBitsToFloat(R127i.y)):(-(intBitsToFloat(R127i.y))))); +PV1i.x = R6i.x; +R123i.z = ((PV0i.w == 0)?(R126i.x):(R125i.x)); +PV1i.z = R123i.z; +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.x))); +// 16 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.x))); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); +R123i.y = ((R126i.w == 0)?(R124i.x):(R127i.z)); +PV0i.y = R123i.y; +R3i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3f400000)); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.x))); +PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); +R4i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * 0.25); +PS0i = R4i.x; +// 17 +backupReg0i = R0i.x; +PV1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.x)); +PV1i.z = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.w)); +R4i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.y)); +R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); +PV1i.w = R4i.w; +// 18 +R3i.x = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(PV1i.x)); +R3i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); +R1i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV1i.x)); +R1i.w = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(PV1i.z)); +R2i.x = floatBitsToInt(intBitsToFloat(R2i.w) + -(intBitsToFloat(PV1i.w))); +PS0i = R2i.x; +} +if( activeMaskStackC[2] == true ) { +R1i.y = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R3i.xy)).x); +R1i.x = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.zw)).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R2i.x; +R2i.x = ((0.0 > intBitsToFloat(backupReg0i))?int(0xFFFFFFFF):int(0x0)); +PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.x)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.y)); +// 1 +PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); +PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); +// 2 +PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.z))); +// 3 +R123i.z = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.z = R123i.z; +R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.w = R123i.w; +// 4 +backupReg0i = R3i.x; +backupReg1i = R3i.y; +R3i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.x)),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); +R3i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); +R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.z))); +R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.w))); +} +if( activeMaskStackC[2] == true ) { +R1i.w = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R3i.xy)).x); +R1i.z = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.zw)).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.w)); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.z)); +// 1 +PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); +PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); +// 2 +PV0i.z = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.x))); +// 3 +R123i.z = ((intBitsToFloat(PV0i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.z = R123i.z; +R123i.w = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.w = R123i.w; +// 4 +backupReg0i = R2i.z; +backupReg1i = R2i.w; +R1i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.x)),intBitsToFloat(PV1i.w)) + intBitsToFloat(R3i.x))); +R1i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(R3i.y))); +R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); +R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg1i))); +} +if( activeMaskStackC[2] == true ) { +R3i.y = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.xy)).x); +R3i.x = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.zw)).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R3i.y)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R3i.x)); +// 1 +PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); +PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); +// 2 +PV0i.y = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.w))); +// 3 +R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.y = R123i.y; +R123i.z = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.z = R123i.z; +// 4 +backupReg0i = R1i.x; +backupReg1i = R1i.y; +R1i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.x)),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); +R1i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); +R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R2i.z))); +R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R2i.w))); +} +if( activeMaskStackC[2] == true ) { +R2i.w = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.xy)).x); +R2i.z = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.zw)).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.w)); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.z)); +// 1 +PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); +PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); +// 2 +PV0i.z = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.x))); +// 3 +R123i.z = ((intBitsToFloat(PV0i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.z = R123i.z; +R123i.w = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.w = R123i.w; +// 4 +backupReg0i = R1i.z; +backupReg1i = R1i.w; +R3i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.x)),intBitsToFloat(PV1i.w)) + intBitsToFloat(R1i.x))); +R3i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(R1i.y))); +R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); +R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg1i))); +} +if( activeMaskStackC[2] == true ) { +R1i.y = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R3i.xy)).x); +R1i.x = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.zw)).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.y)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.x)); +// 1 +PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); +PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); +// 2 +PV0i.y = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.w))); +// 3 +R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.y = R123i.y; +R123i.z = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.z = R123i.z; +// 4 +backupReg0i = R3i.x; +backupReg1i = R3i.y; +R3i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.x)),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); +R3i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); +R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.z))); +R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.w))); +} +if( activeMaskStackC[2] == true ) { +R1i.w = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R3i.xy)).x); +R1i.z = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.zw)).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.w)); +PV0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.z)); +// 1 +PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); +PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); +// 2 +PV0i.z = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.x))); +// 3 +R123i.z = ((intBitsToFloat(PV0i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.z = R123i.z; +R123i.w = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.w = R123i.w; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.w))); +// 5 +backupReg0i = R2i.z; +backupReg1i = R2i.w; +R1i.x = floatBitsToInt((-(intBitsToFloat(PV0i.x)) * 1.5 + intBitsToFloat(R3i.x))); +R1i.y = floatBitsToInt((-(intBitsToFloat(PV0i.w)) * 1.5 + intBitsToFloat(R3i.y))); +R2i.z = floatBitsToInt((intBitsToFloat(PV0i.z) * 1.5 + intBitsToFloat(backupReg0i))); +R2i.w = floatBitsToInt((intBitsToFloat(PV0i.y) * 1.5 + intBitsToFloat(backupReg1i))); +} +if( activeMaskStackC[2] == true ) { +R3i.y = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.xy)).x); +R3i.x = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.zw)).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R3i.y)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R3i.x)); +// 1 +PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); +PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); +// 2 +PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.z))); +// 3 +R123i.x = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.x = R123i.x; +R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.w = R123i.w; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.x))); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.x))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.w))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); +// 5 +backupReg0i = R1i.x; +backupReg1i = R1i.y; +R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.z)) + vec3(-(intBitsToFloat(PV0i.w)),-(intBitsToFloat(PV0i.z)),intBitsToFloat(PV0i.x))); +R1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.y)); +} +if( activeMaskStackC[2] == true ) { +R2i.w = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.xy)).x); +R2i.z = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.zw)).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.z)); +PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.w)); +// 1 +PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); +PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); +// 2 +PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.y))); +PV0i.w = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.x))); +// 3 +R123i.z = ((intBitsToFloat(PV0i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.z = R123i.z; +R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.w = R123i.w; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w))); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.z))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); +// 5 +backupReg0i = R1i.z; +backupReg1i = R1i.w; +R3i.x = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(PV0i.x))); +R3i.y = floatBitsToInt(intBitsToFloat(R1i.y) + -(intBitsToFloat(PV0i.w))); +R1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.z)); +R1i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PV0i.y)); +} +if( activeMaskStackC[2] == true ) { +R1i.y = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R3i.xy)).x); +R1i.x = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.zw)).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.y)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.x)); +// 1 +PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); +PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); +// 2 +PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.z))); +// 3 +R123i.x = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.x = R123i.x; +R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.w = R123i.w; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.x))); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.x))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.w))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); +// 5 +backupReg0i = R3i.x; +backupReg1i = R3i.y; +R3i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV0i.w))); +R3i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + -(intBitsToFloat(PV0i.z))); +R2i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); +R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); +} +if( activeMaskStackC[2] == true ) { +R1i.w = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R3i.xy)).x); +R1i.z = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.zw)).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.z)); +PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.w)); +// 1 +PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); +PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); +// 2 +PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.y))); +PV0i.w = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.x))); +// 3 +R123i.z = ((intBitsToFloat(PV0i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.z = R123i.z; +R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.w = R123i.w; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w))); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.z))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); +// 5 +backupReg0i = R2i.z; +backupReg1i = R2i.w; +R1i.x = floatBitsToInt(intBitsToFloat(R3i.x) + -(intBitsToFloat(PV0i.x))); +R1i.y = floatBitsToInt(intBitsToFloat(R3i.y) + -(intBitsToFloat(PV0i.w))); +R2i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.z)); +R2i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PV0i.y)); +} +if( activeMaskStackC[2] == true ) { +R3i.y = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.xy)).x); +R3i.x = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.zw)).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R3i.y)); +PV0i.w = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R3i.x)); +// 1 +PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); +PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); +// 2 +PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.y))); +PV0i.y = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.z))); +// 3 +R123i.x = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.x = R123i.x; +R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.w = R123i.w; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.x))); +PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.x))); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 4.0); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.w))); +PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w))); +PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 4.0); +// 5 +backupReg0i = R1i.x; +backupReg1i = R1i.y; +R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.z)) + vec3(-(intBitsToFloat(PV0i.w)),-(intBitsToFloat(PV0i.z)),intBitsToFloat(PV0i.x))); +R1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.y)); +} +if( activeMaskStackC[2] == true ) { +R2i.w = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.xy)).x); +R2i.z = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.zw)).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +PV0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.z)); +PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.w)); +// 1 +PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); +PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); +// 2 +PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.y))); +PV0i.w = floatBitsToInt(intBitsToFloat(R4i.x) + -(intBitsToFloat(PV1i.x))); +// 3 +R123i.z = ((intBitsToFloat(PV0i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.z = R123i.z; +R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); +PV1i.w = R123i.w; +// 4 +PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w))); +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.z))); +PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.w))); +// 5 +backupReg0i = R1i.z; +backupReg1i = R1i.w; +R5i.x = floatBitsToInt((-(intBitsToFloat(PV0i.x)) * intBitsToFloat(0x41000000) + intBitsToFloat(R1i.x))); +R5i.y = floatBitsToInt((-(intBitsToFloat(PV0i.w)) * intBitsToFloat(0x41000000) + intBitsToFloat(R1i.y))); +R1i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x41000000) + intBitsToFloat(backupReg0i))); +R1i.w = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x41000000) + intBitsToFloat(backupReg1i))); +} +if( activeMaskStackC[2] == true ) { +R1i.y = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R5i.xy)).x); +R1i.x = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.zw)).x); +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0i = R0i.x; +backupReg1i = R0i.y; +backupReg0i = R0i.x; +PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.x)); +PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R5i.x))); +PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.y)); +R126i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + -(intBitsToFloat(R5i.y))); +PS0i = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R1i.z)); +// 1 +PV1i.x = floatBitsToInt(-(intBitsToFloat(R0i.y)) + intBitsToFloat(R1i.w)); +PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PS0i))); +PV1i.z = ((0.0 > intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); +PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.y))); +PS1i = ((0.0 > intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); +// 2 +R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.y))); +PV0i.x = R123i.x; +R127i.y = (PV1i.z != R2i.x)?int(0xFFFFFFFF):int(0x0); +R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R126i.w)) + intBitsToFloat(PV1i.w))); +PV0i.z = R123i.z; +R126i.w = (PS1i != R2i.x)?int(0xFFFFFFFF):int(0x0); +// 3 +PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.x)); +R126i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); +PV1i.z = ((intBitsToFloat(PV0i.x) > intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); +// 4 +backupReg0i = R127i.y; +R127i.y = ((PV1i.z == 0)?(R126i.w):(backupReg0i)); +PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); +// 5 +PV1i.z = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(PS0i)); +// 6 +PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 0.5); +// 7 +R123i.x = ((R127i.y == 0)?(0):(PV0i.y)); +PV1i.x = R123i.x; +// 8 +PV0i.w = floatBitsToInt(max(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.x))); +// 9 +PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.w))); +// 10 +backupReg0i = R0i.x; +backupReg1i = R0i.y; +R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); +R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg1i))); +} +if( activeMaskStackC[2] == true ) { +R3i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).xyzw); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +// export +passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); +} +#endif + +#if (preset == 2) +/*-----------------------------settings-------------------------------------*/ + +#define Subpix 1.00 //[0.000 to 1.000] Choose the amount of sub-pixel aliasing removal. +#define EdgeThreshold 0.125 //[0.000 to 1.000] Edge detection threshold. The minimum amount of local contrast required to apply algorithm. +#define EdgeThresholdMin 0.0625 //[0.000 to 1.000] Darkness threshold. Trims the algorithm from processing darks. + +/*--------------------------------------------------------------------------*/ + +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x387f8000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem2; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; + +#define FXAA_QUALITY__PS 12 +#define FXAA_QUALITY__P0 1.0 +#define FXAA_QUALITY__P1 1.0 +#define FXAA_QUALITY__P2 1.0 +#define FXAA_QUALITY__P3 1.0 +#define FXAA_QUALITY__P4 1.0 +#define FXAA_QUALITY__P5 1.5 +#define FXAA_QUALITY__P6 2.0 +#define FXAA_QUALITY__P7 2.0 +#define FXAA_QUALITY__P8 2.0 +#define FXAA_QUALITY__P9 2.0 +#define FXAA_QUALITY__P10 4.0 +#define FXAA_QUALITY__P11 8.0 + +#define FxaaBool bool +#define FxaaDiscard discard +#define FxaaFloat float +#define FxaaFloat2 vec2 +#define FxaaFloat3 vec3 +#define FxaaFloat4 vec4 +#define FxaaHalf float +#define FxaaHalf2 vec2 +#define FxaaHalf3 vec3 +#define FxaaHalf4 vec4 +#define FxaaInt2 ivec2 +#define FxaaSat(x) clamp(x, 0.0, 1.0) +#define FxaaTex sampler2D + +#define FxaaTexTop(t, p) textureLod(t, p, 0.0) +#define FxaaTexOff(t, p, o, r) textureLodOffset(t, p, 0.0, o) + +#define FxaaTexAlpha4(t, p) textureGather(t, p, 3) +#define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3) +#define FxaaTexGreen4(t, p) textureGather(t, p, 1) +#define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1) + +FxaaFloat4 FxaaPixelShader( + FxaaFloat2 pos, + FxaaTex tex, + FxaaTex lum, + FxaaFloat2 fxaaQualityRcpFrame, + FxaaFloat fxaaQualitySubpix, + FxaaFloat fxaaQualityEdgeThreshold, + FxaaFloat fxaaQualityEdgeThresholdMin +) { + FxaaFloat2 posM; + posM.x = pos.x; + posM.y = pos.y; + FxaaFloat4 rgbyM = vec4(FxaaTexTop(tex, posM).xyz, FxaaTexTop(lum, posM).x); + #define lumaM rgbyM.w + FxaaFloat4 luma4A = textureGather(lum, posM); + FxaaFloat4 luma4B = textureGatherOffset(lum, posM, FxaaInt2(-1, -1)); + #define lumaE luma4A.z + #define lumaS luma4A.x + #define lumaSE luma4A.y + #define lumaNW luma4B.w + #define lumaN luma4B.z + #define lumaW luma4B.x + FxaaFloat maxSM = max(lumaS, lumaM); + FxaaFloat minSM = min(lumaS, lumaM); + FxaaFloat maxESM = max(lumaE, maxSM); + FxaaFloat minESM = min(lumaE, minSM); + FxaaFloat maxWN = max(lumaN, lumaW); + FxaaFloat minWN = min(lumaN, lumaW); + FxaaFloat rangeMax = max(maxWN, maxESM); + FxaaFloat rangeMin = min(minWN, minESM); + FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold; + FxaaFloat range = rangeMax - rangeMin; + FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled); + FxaaBool earlyExit = range < rangeMaxClamped; + if(earlyExit) + return rgbyM; + FxaaFloat lumaNE = FxaaTexOff(lum, posM, FxaaInt2(1, -1), fxaaQualityRcpFrame.xy).x; + FxaaFloat lumaSW = FxaaTexOff(lum, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy).x; + FxaaFloat lumaNS = lumaN + lumaS; + FxaaFloat lumaWE = lumaW + lumaE; + FxaaFloat subpixRcpRange = 1.0/range; + FxaaFloat subpixNSWE = lumaNS + lumaWE; + FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS; + FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE; + FxaaFloat lumaNESE = lumaNE + lumaSE; + FxaaFloat lumaNWNE = lumaNW + lumaNE; + FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE; + FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE; + FxaaFloat lumaNWSW = lumaNW + lumaSW; + FxaaFloat lumaSWSE = lumaSW + lumaSE; + FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2); + FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2); + FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW; + FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE; + FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4; + FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4; + FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE; + FxaaFloat lengthSign = fxaaQualityRcpFrame.x; + FxaaBool horzSpan = edgeHorz >= edgeVert; + FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE; + if(!horzSpan) lumaN = lumaW; + if(!horzSpan) lumaS = lumaE; + if(horzSpan) lengthSign = fxaaQualityRcpFrame.y; + FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM; + FxaaFloat gradientN = lumaN - lumaM; + FxaaFloat gradientS = lumaS - lumaM; + FxaaFloat lumaNN = lumaN + lumaM; + FxaaFloat lumaSS = lumaS + lumaM; + FxaaBool pairN = abs(gradientN) >= abs(gradientS); + FxaaFloat gradient = max(abs(gradientN), abs(gradientS)); + if(pairN) lengthSign = -lengthSign; + FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange); + FxaaFloat2 posB; + posB.x = posM.x; + posB.y = posM.y; + FxaaFloat2 offNP; + offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x; + offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y; + if(!horzSpan) posB.x += lengthSign * 0.5; + if( horzSpan) posB.y += lengthSign * 0.5; + FxaaFloat2 posN; + posN.x = posB.x - offNP.x * FXAA_QUALITY__P0; + posN.y = posB.y - offNP.y * FXAA_QUALITY__P0; + FxaaFloat2 posP; + posP.x = posB.x + offNP.x * FXAA_QUALITY__P0; + posP.y = posB.y + offNP.y * FXAA_QUALITY__P0; + FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0; + FxaaFloat lumaEndN = FxaaTexTop(lum, posN).x; + FxaaFloat subpixE = subpixC * subpixC; + FxaaFloat lumaEndP = FxaaTexTop(lum, posP).x; + if(!pairN) lumaNN = lumaSS; + FxaaFloat gradientScaled = gradient * 1.0/4.0; + FxaaFloat lumaMM = lumaM - lumaNN * 0.5; + FxaaFloat subpixF = subpixD * subpixE; + FxaaBool lumaMLTZero = lumaMM < 0.0; + lumaEndN -= lumaNN * 0.5; + lumaEndP -= lumaNN * 0.5; + FxaaBool doneN = abs(lumaEndN) >= gradientScaled; + FxaaBool doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P1; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P1; + FxaaBool doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P1; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P1; + if(doneNP) { + if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; + if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P2; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P2; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P2; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P2; + #if (FXAA_QUALITY__PS > 3) + if(doneNP) { + if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; + if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P3; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P3; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P3; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P3; + #if (FXAA_QUALITY__PS > 4) + if(doneNP) { + if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; + if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P4; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P4; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P4; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P4; + #if (FXAA_QUALITY__PS > 5) + if(doneNP) { + if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; + if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P5; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P5; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P5; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P5; + #if (FXAA_QUALITY__PS > 6) + if(doneNP) { + if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; + if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P6; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P6; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P6; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P6; + #if (FXAA_QUALITY__PS > 7) + if(doneNP) { + if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; + if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P7; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P7; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P7; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P7; + #if (FXAA_QUALITY__PS > 8) + if(doneNP) { + if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; + if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P8; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P8; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P8; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P8; + #if (FXAA_QUALITY__PS > 9) + if(doneNP) { + if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; + if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P9; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P9; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P9; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P9; + #if (FXAA_QUALITY__PS > 10) + if(doneNP) { + if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; + if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P10; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P10; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P10; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P10; + #if (FXAA_QUALITY__PS > 11) + if(doneNP) { + if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; + if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P11; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P11; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P11; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P11; + #if (FXAA_QUALITY__PS > 12) + if(doneNP) { + if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x; + if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x; + if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; + if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; + doneN = abs(lumaEndN) >= gradientScaled; + doneP = abs(lumaEndP) >= gradientScaled; + if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P12; + if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P12; + doneNP = (!doneN) || (!doneP); + if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P12; + if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P12; + } + #endif + } + #endif + } + #endif + } + #endif + } + #endif + } + #endif + } + #endif + } + #endif + } + #endif + } + #endif + } + FxaaFloat dstN = posM.x - posN.x; + FxaaFloat dstP = posP.x - posM.x; + if(!horzSpan) dstN = posM.y - posN.y; + if(!horzSpan) dstP = posP.y - posM.y; + FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero; + FxaaFloat spanLength = (dstP + dstN); + FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero; + FxaaFloat spanLengthRcp = 1.0/spanLength; + FxaaBool directionN = dstN < dstP; + FxaaFloat dst = min(dstN, dstP); + FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP; + FxaaFloat subpixG = subpixF * subpixF; + FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5; + FxaaFloat subpixH = subpixG * fxaaQualitySubpix; + FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0; + FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH); + if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign; + if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign; + return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM); +} + + +vec2 RcpFrame = vec2(1.0 / 1280.0, 1.0 / 720.0) * uf_fragCoordScale; +void main() +{ +passPixelColor0 = FxaaPixelShader(passParameterSem2.xy, textureUnitPS0, textureUnitPS1, RcpFrame, Subpix, EdgeThreshold, EdgeThresholdMin); +} +#endif \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_!FXAA/58b84124c01721ff_0000000000000079_ps.txt b/Enhancements/!BreathOfTheWild_AntiAliasing/disabled_58b8411478181d7f_0000000000000079_ps.txt similarity index 90% rename from Enhancement/BreathOfTheWild_!FXAA/58b84124c01721ff_0000000000000079_ps.txt rename to Enhancements/!BreathOfTheWild_AntiAliasing/disabled_58b8411478181d7f_0000000000000079_ps.txt index 265308fe..ac9a3b8f 100644 --- a/Enhancement/BreathOfTheWild_!FXAA/58b84124c01721ff_0000000000000079_ps.txt +++ b/Enhancements/!BreathOfTheWild_AntiAliasing/disabled_58b8411478181d7f_0000000000000079_ps.txt @@ -1,6 +1,6 @@ #version 420 #extension GL_ARB_texture_gather : enable -// shader 58b84124c01721ff //in-game luminance +// shader 58b8411478181d7f layout(binding = 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem2; diff --git a/Enhancement/BreathOfTheWild_!FXAA/58b8411478181d7f_0000000000000079_ps.txt b/Enhancements/!BreathOfTheWild_AntiAliasing/disabled_58b84124c01721ff_0000000000000079_ps.txt similarity index 89% rename from Enhancement/BreathOfTheWild_!FXAA/58b8411478181d7f_0000000000000079_ps.txt rename to Enhancements/!BreathOfTheWild_AntiAliasing/disabled_58b84124c01721ff_0000000000000079_ps.txt index ff8ab43b..3531da5e 100644 --- a/Enhancement/BreathOfTheWild_!FXAA/58b8411478181d7f_0000000000000079_ps.txt +++ b/Enhancements/!BreathOfTheWild_AntiAliasing/disabled_58b84124c01721ff_0000000000000079_ps.txt @@ -1,6 +1,6 @@ #version 420 #extension GL_ARB_texture_gather : enable -// shader 58b8411478181d7f //inventory luminance +// shader 58b84124c01721ff layout(binding = 0) uniform sampler2D textureUnitPS0; layout(location = 0) in vec4 passParameterSem2; diff --git a/Enhancement/BreathOfTheWild_!FXAA/f14bb57cd5c9cb77_00000000000003c9_ps.txt b/Enhancements/!BreathOfTheWild_AntiAliasing/f14bb57cd5c9cb77_00000000000003c9_ps.txt similarity index 73% rename from Enhancement/BreathOfTheWild_!FXAA/f14bb57cd5c9cb77_00000000000003c9_ps.txt rename to Enhancements/!BreathOfTheWild_AntiAliasing/f14bb57cd5c9cb77_00000000000003c9_ps.txt index 1d553a8b..f97ee070 100644 --- a/Enhancement/BreathOfTheWild_!FXAA/f14bb57cd5c9cb77_00000000000003c9_ps.txt +++ b/Enhancements/!BreathOfTheWild_AntiAliasing/f14bb57cd5c9cb77_00000000000003c9_ps.txt @@ -1,6 +1,173 @@ #version 420 #extension GL_ARB_texture_gather : enable +#extension GL_EXT_gpu_shader4 : enable +// shader f14bb57cd5c9cb77 +// Used for: Removing/Restoring the native BotW Anti-Aliasing implementation in inventory screen +#define preset $preset + +#if (preset == 0) +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem2; +layout(location = 0) out vec4 passPixelColor0; +void main() +{ +passPixelColor0 = texture(textureUnitPS0, passParameterSem2.xy); +} +#endif + +#if (preset == 1) +uniform ivec4 uf_remappedPS[4]; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4713800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x387f8000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 +layout(location = 0) in vec4 passParameterSem2; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; +ivec2 resDim = textureSize2D(textureUnitPS0,0); +const float resXScale = float(resDim.x)/1280; +const float resYScale = float(resDim.y)/720; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +bool activeMaskStack[2]; +bool activeMaskStackC[3]; +activeMaskStack[0] = false; +activeMaskStackC[0] = false; +activeMaskStackC[1] = false; +activeMaskStack[0] = true; +activeMaskStackC[0] = true; +activeMaskStackC[1] = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem2; +if( activeMaskStackC[1] == true ) { +R1f.xyzw = (textureGather(textureUnitPS1, R0f.xy).wzxy); +R2f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); +} +if( activeMaskStackC[1] == true ) { +activeMaskStack[1] = activeMaskStack[0]; +activeMaskStackC[2] = activeMaskStackC[1]; +// 0 +PV0f.x = R1f.w + -(R1f.x); +PV0f.y = R1f.z + -(R1f.y); +PV0f.z = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedPS[0].x)); +R127f.w = min(R1f.z, R1f.x); +R127f.x = min(R1f.w, R1f.y); +PS0f = R127f.x; +// 1 +R123f.x = (mul_nonIEEE(R2f.y,intBitsToFloat(uf_remappedPS[0].y)) + PV0f.z); +PV1f.x = R123f.x; +PV1f.y = max(R1f.z, R1f.x); +R127f.z = PV0f.y + -(PV0f.x); +PV1f.z = R127f.z; +R126f.w = PV0f.y + PV0f.x; +PV1f.w = R126f.w; +PS1f = max(R1f.w, R1f.y); +// 2 +PV0f.x = max(PV1f.z, -(PV1f.z)); +PV0f.y = max(PV1f.w, -(PV1f.w)); +R123f.z = (mul_nonIEEE(R2f.z,intBitsToFloat(uf_remappedPS[0].z)) + PV1f.x); +PV0f.z = R123f.z; +PV0f.w = min(R127f.w, R127f.x); +PS0f = max(PV1f.y, PS1f); +// 3 +PV1f.x = mul_nonIEEE(PS0f, intBitsToFloat(uf_remappedPS[1].x)); +PV1f.y = max(PV0f.z, PS0f); +PV1f.z = min(PV0f.z, PV0f.w); +PV1f.w = min(PV0f.y, PV0f.x); +// 4 +R1f.x = -(PV1f.z) + PV1f.y; +R0f.z = max(PV1f.x, intBitsToFloat(uf_remappedPS[1].y)); +PS0f = 1.0 / PV1f.w; +// 5 +PV1f.x = mul_nonIEEE(R127f.z, PS0f); +PV1f.y = mul_nonIEEE(R126f.w, PS0f); +// 6 +PV0f.z = max(PV1f.x, -(intBitsToFloat(uf_remappedPS[2].y))); +PV0f.w = max(PV1f.y, -(intBitsToFloat(uf_remappedPS[2].y))); +// 7 +R3f.x = min(PV0f.w, intBitsToFloat(uf_remappedPS[2].y)); +R1f.y = min(PV0f.z, intBitsToFloat(uf_remappedPS[2].y)); +// 8 +predResult = (R1f.x > R0f.z); +activeMaskStack[1] = predResult; +activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; +} +else { +activeMaskStack[1] = false; +activeMaskStackC[2] = false; +} +if( activeMaskStackC[2] == true ) { +// 0 +backupReg0f = R3f.x; +backupReg0f = R3f.x; +R3f.x = (mul_nonIEEE(backupReg0f,intBitsToFloat(uf_remappedPS[3].x)/resXScale) + R0f.x); +R3f.y = (mul_nonIEEE(R1f.y,intBitsToFloat(uf_remappedPS[3].y)/resYScale) + R0f.y); +R1f.x = (mul_nonIEEE(backupReg0f,-(intBitsToFloat(uf_remappedPS[3].x)/resXScale)) + R0f.x); +PS0f = R1f.x; +// 1 +backupReg0f = R1f.y; +R1f.y = (mul_nonIEEE(backupReg0f,-(intBitsToFloat(uf_remappedPS[3].y)/resYScale)) + R0f.y); +} +if( activeMaskStackC[2] == true ) { +R0f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); +R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); +} +if( activeMaskStackC[2] == true ) { +// 0 +R127f.x = R0f.w + R1f.w; +R127f.x /= 2.0; +PV0f.x = R127f.x; +R127f.y = R0f.z + R1f.z; +R127f.y /= 2.0; +PV0f.y = R127f.y; +R127f.z = R0f.y + R1f.y; +R127f.z /= 2.0; +PV0f.z = R127f.z; +R127f.w = R0f.x + R1f.x; +R127f.w /= 2.0; +PV0f.w = R127f.w; +// 1 +PV1f.x = R2f.w + -(PV0f.x); +PV1f.y = R2f.z + -(PV0f.y); +PV1f.z = R2f.y + -(PV0f.z); +PV1f.w = R2f.x + -(PV0f.w); +// 2 +R2f.x = (PV1f.w * intBitsToFloat(0x3eb33333) + R127f.w); +R2f.y = (PV1f.z * intBitsToFloat(0x3eb33333) + R127f.z); +R2f.z = (PV1f.y * intBitsToFloat(0x3eb33333) + R127f.y); +R2f.w = (PV1f.x * intBitsToFloat(0x3eb33333) + R127f.x); +} +activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; +// export +passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); +} +#endif + +#if (preset == 2) /*-----------------------------settings-------------------------------------*/ #define Subpix 0.70 //[0.000 to 1.000] Choose the amount of sub-pixel aliasing removal. @@ -9,11 +176,8 @@ /*--------------------------------------------------------------------------*/ -// shader f14bb57cd5c9cb77 -// fxaa in game -// original shader dumped using cemu 1.10.0f, BotW 1.3.1 -layout(binding = 0) uniform sampler2D textureUnitPS0; -layout(binding = 1) uniform sampler2D textureUnitPS1; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x387f8000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 layout(location = 0) in vec4 passParameterSem2; layout(location = 0) out vec4 passPixelColor0; uniform vec2 uf_fragCoordScale; @@ -348,3 +512,4 @@ void main() { passPixelColor0 = FxaaPixelShader(passParameterSem2.xy, textureUnitPS0, textureUnitPS1, RcpFrame, Subpix, EdgeThreshold, EdgeThresholdMin); } +#endif \ No newline at end of file diff --git a/Enhancement/BreathOfTheWild_!FXAA/rules.txt b/Enhancements/!BreathOfTheWild_AntiAliasing/rules.txt similarity index 62% rename from Enhancement/BreathOfTheWild_!FXAA/rules.txt rename to Enhancements/!BreathOfTheWild_AntiAliasing/rules.txt index f95a9ca8..98d590c6 100644 --- a/Enhancement/BreathOfTheWild_!FXAA/rules.txt +++ b/Enhancements/!BreathOfTheWild_AntiAliasing/rules.txt @@ -1,8 +1,21 @@ [Definition] titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - FXAA" -version = 2 +name = Anti-Aliasing +path = "The Legend of Zelda: Breath of the Wild/Graphics/Anti-Aliasing" +description = Enables and Disables Anti-Aliasing processing. FXAA is better alternative and customizable. Check the "!GameTitleHere_Anti-Aliasing/rules.txt" file in your graphicPack folder for info about the individual settings. +version = 3 +[Preset] +name = Disabled +$preset:int = 0 + +[Preset] +name = Enabled +$preset:int = 1 + +[Preset] +name = FXAA +$preset:int = 2 # Subpix: # Choose the amount of sub-pixel aliasing removal. @@ -27,13 +40,5 @@ version = 2 # 0.0625 - high quality (faster) # 0.0312 - visible limit (slower) - # Credit: Kiri, NAVras - - -[TextureRedefine] #Luma -width = 1280 -height = 720 -formats = 0x1 -overwriteFormat = 0x5 -tileModesExcluded = 0x001 \ No newline at end of file +# Credit: SkalFate for proper V3 Import. diff --git a/Enhancement/BreathOfTheWild_!NoDoF/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Enhancements/!BreathOfTheWild_NoDoF/cb0e6e8cbec4502a_0000000000000079_ps.txt similarity index 100% rename from Enhancement/BreathOfTheWild_!NoDoF/cb0e6e8cbec4502a_0000000000000079_ps.txt rename to Enhancements/!BreathOfTheWild_NoDoF/cb0e6e8cbec4502a_0000000000000079_ps.txt diff --git a/Enhancements/!BreathOfTheWild_NoDoF/rules.txt b/Enhancements/!BreathOfTheWild_NoDoF/rules.txt new file mode 100644 index 00000000..915ebb7e --- /dev/null +++ b/Enhancements/!BreathOfTheWild_NoDoF/rules.txt @@ -0,0 +1,6 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = "No Depth of Field" +path = "The Legend of Zelda: Breath of the Wild/Enhancements/No Depth of Field" +description = "Disables depth of field." +version = 3 diff --git a/Enhancement/TokyoMirage_0AAremoval/04d0827b9471eb22_0000000000000000_vs.txt b/Enhancements/!TokyoMirage_AARemoval/04d0827b9471eb22_0000000000000000_vs.txt similarity index 91% rename from Enhancement/TokyoMirage_0AAremoval/04d0827b9471eb22_0000000000000000_vs.txt rename to Enhancements/!TokyoMirage_AARemoval/04d0827b9471eb22_0000000000000000_vs.txt index bb6d57d6..9dc0ea58 100644 --- a/Enhancement/TokyoMirage_0AAremoval/04d0827b9471eb22_0000000000000000_vs.txt +++ b/Enhancements/!TokyoMirage_AARemoval/04d0827b9471eb22_0000000000000000_vs.txt @@ -3,8 +3,7 @@ #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable // shader 04d0827b9471eb22 -const float resXScale = 3.0; -const float resYScale = 3.0; + uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; layout(location = 0) in uvec4 attrDataSem0; @@ -57,9 +56,9 @@ R3f.x = R2f.x; R3f.y = R2f.y; PV0f.z = intBitsToFloat(uf_remappedVS[0].z) + 0.0; // 1 -R127f.z = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y) / resYScale, PV0f.z); +R127f.z = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), PV0f.z); PV1f.z = R127f.z; -PV1f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x) / resXScale, PV0f.z); +PV1f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), PV0f.z); // 2 PV0f.x = R2f.y + PV1f.z; PV0f.y = R2f.x + PV1f.w; diff --git a/Enhancements/!TokyoMirage_AARemoval/rules.txt b/Enhancements/!TokyoMirage_AARemoval/rules.txt new file mode 100644 index 00000000..15414831 --- /dev/null +++ b/Enhancements/!TokyoMirage_AARemoval/rules.txt @@ -0,0 +1,6 @@ +[Definition] +titleIds = 00050000101ED700,00050000101ED800,0005000010131D00 +name = AA removal TMS +path = "Tokyo Mirage Sessions FE/Graphics/AA removal" +description = Removes AA, no performance gain. Used for clean look or injecting external AA +version = 3 diff --git a/Enhancement/TropicalFreeze_0AARemoval/10ccf0cc1234d069_00000000000003c9_ps.txt b/Enhancements/!TropicalFreeze_AARemoval/10ccf0cc1234d069_00000000000003c9_ps.txt similarity index 100% rename from Enhancement/TropicalFreeze_0AARemoval/10ccf0cc1234d069_00000000000003c9_ps.txt rename to Enhancements/!TropicalFreeze_AARemoval/10ccf0cc1234d069_00000000000003c9_ps.txt diff --git a/Enhancement/TropicalFreeze_0AARemoval/bafe6c9c37bfca4d_00000000000003c9_ps.txt b/Enhancements/!TropicalFreeze_AARemoval/bafe6c9c37bfca4d_00000000000003c9_ps.txt similarity index 100% rename from Enhancement/TropicalFreeze_0AARemoval/bafe6c9c37bfca4d_00000000000003c9_ps.txt rename to Enhancements/!TropicalFreeze_AARemoval/bafe6c9c37bfca4d_00000000000003c9_ps.txt diff --git a/Enhancements/!TropicalFreeze_AARemoval/rules.txt b/Enhancements/!TropicalFreeze_AARemoval/rules.txt new file mode 100644 index 00000000..3e052ee5 --- /dev/null +++ b/Enhancements/!TropicalFreeze_AARemoval/rules.txt @@ -0,0 +1,6 @@ +[Definition] +titleIds = 0005000010137F00,0005000010138300,0005000010144800 +name = Resolution +path = "Donkey Kong Country: Tropical Freeze/Graphics/AA Removal" +description = Removes AA, no performance gain. Used for clean look or injecting external AA. +version = 3 diff --git a/Source/MarioKart8/f5274bda2b5e1e9f_0000000000000000_vs.txt b/Enhancements/!XenobladeX_AARemoval/497a209b49886520_0000000000000000_vs.txt similarity index 65% rename from Source/MarioKart8/f5274bda2b5e1e9f_0000000000000000_vs.txt rename to Enhancements/!XenobladeX_AARemoval/497a209b49886520_0000000000000000_vs.txt index d4d38372..37421fae 100644 --- a/Source/MarioKart8/f5274bda2b5e1e9f_0000000000000000_vs.txt +++ b/Enhancements/!XenobladeX_AARemoval/497a209b49886520_0000000000000000_vs.txt @@ -1,21 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable -// shader f5274bda2b5e1e9f -// bloom blur texture coordinates -const float resXScale = ; -const float resYScale = ; - +// shader 497a209b49886520 //depth? uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; +layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf545c000 res 1x1x1 dim 1 tm: 2 format 081e compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler18 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in uvec4 attrDataSem0; layout(location = 1) in uvec4 attrDataSem1; out gl_PerVertex @@ -41,8 +31,6 @@ vec4 R0f = vec4(0.0); vec4 R1f = vec4(0.0); vec4 R2f = vec4(0.0); vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R127f = vec4(0.0); uvec4 attrDecoder; float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); @@ -65,35 +53,30 @@ attrDecoder.z = 0; attrDecoder.w = 0; R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); // 0 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -R1f.x = backupReg0f; -R1f.x *= 2.0; -R1f.y = backupReg1f; -R1f.y *= 2.0; -R1f.z = 0.0; -R1f.w = 1.0; -R127f.x = R2f.y + intBitsToFloat(uf_remappedVS[0].w) / resYScale; -PS0f = R127f.x; -// 1 -R0f.x = R2f.x + intBitsToFloat(uf_remappedVS[0].z) / resXScale; -R0f.y = PS0f; -PV1f.z = R2f.y + -(intBitsToFloat(uf_remappedVS[0].w) / resYScale); -R4f.w = R2f.x; -R3f.x = R2f.x + -(intBitsToFloat(uf_remappedVS[0].z) / resXScale); -PS1f = R3f.x; -// 2 -R4f.x = R2f.y; -R3f.y = R127f.x; -R3f.z = PV1f.z; -R0f.w = PV1f.z; +backupReg0f = R2f.x; +backupReg1f = R2f.y; +backupReg0f = R2f.x; +backupReg1f = R2f.y; +R2f.x = backupReg0f; +R2f.y = backupReg1f; +R0f.z = intBitsToFloat(0x3f000000); +R0f.w = (mul_nonIEEE(backupReg0f,intBitsToFloat(uf_remappedVS[0].x)) + intBitsToFloat(uf_remappedVS[0].z)); +R0f.y = (mul_nonIEEE(backupReg1f,intBitsToFloat(uf_remappedVS[0].y)) + intBitsToFloat(uf_remappedVS[0].w)); +PS0f = R0f.y; +R3f.xy = (textureLod(textureUnitVS0, R0f.zz,0.0).xy)*0.33335; // export gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export -passParameterSem1 = vec4(R0f.x, R0f.y, R0f.x, R0f.w); +passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.z); // export -passParameterSem2 = vec4(R3f.x, R3f.y, R3f.x, R3f.z); // export -passParameterSem0 = vec4(R4f.w, R4f.x, R4f.z, R4f.z); +passParameterSem2 = vec4(R0f.w, R0f.y, R0f.z, R0f.z); +// 0 +backupReg0f = R3f.x; +backupReg1f = R3f.y; +R3f.x = backupReg0f; +R3f.y = backupReg1f; +// export +passParameterSem0 = vec4(R3f.x, R3f.y, R3f.z, R3f.z); // 0 } diff --git a/Enhancement/XenobladeX_0AARemoval/59df1c7e1806366c_00000000000003c9_ps.txt b/Enhancements/!XenobladeX_AARemoval/59df1c7e1806366c_00000000000003c9_ps.txt similarity index 100% rename from Enhancement/XenobladeX_0AARemoval/59df1c7e1806366c_00000000000003c9_ps.txt rename to Enhancements/!XenobladeX_AARemoval/59df1c7e1806366c_00000000000003c9_ps.txt diff --git a/Enhancements/!XenobladeX_AARemoval/rules.txt b/Enhancements/!XenobladeX_AARemoval/rules.txt new file mode 100644 index 00000000..256ed959 --- /dev/null +++ b/Enhancements/!XenobladeX_AARemoval/rules.txt @@ -0,0 +1,6 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = AA removal +path = "Xenoblade Chronicles X/Graphics/AA removal" +description = Removes AA, no performance gain. Used for clean look or injecting external AA +version = 3 \ No newline at end of file diff --git a/Enhancements/Bayonetta2_Shadows/rules.txt b/Enhancements/Bayonetta2_Shadows/rules.txt new file mode 100644 index 00000000..2637b4aa --- /dev/null +++ b/Enhancements/Bayonetta2_Shadows/rules.txt @@ -0,0 +1,33 @@ +[Definition] +titleIds = 0005000010172600,0005000010172700,000500001011B900 +name = Shadow Resolution +path = "Bayonetta 2/Graphics/Shadow Resolution" +description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this might give you a good boost in performance if you're limited on VRAM but makes shadows blockier. Medium is the original resolution. +version = 3 + +[Preset] +name = Medium (1.00x, Default) +$shadowRes = 1 + +[Preset] +name = Low (0.50x) +$shadowRes = 0.5 + +[Preset] +name = High (2.00x) +$shadowRes = 2 + +[Preset] +name = Ultra (4.00x) +$shadowRes = 4 + +[Preset] +name = Extreme (8.00x) +$shadowRes = 8 + +[TextureRedefine] # Shadows +width = 1024 +height = 2048 +formats = 0x5 +overwriteWidth = $shadowRes * 1024 +overwriteHeight = $shadowRes * 2048 diff --git a/Enhancement/BreathOfTheWild_Clarity/37040a485a29d54e_00000000000003c9_ps.txt b/Enhancements/BreathOfTheWild_Clarity/37040a485a29d54e_00000000000003c9_ps.txt similarity index 95% rename from Enhancement/BreathOfTheWild_Clarity/37040a485a29d54e_00000000000003c9_ps.txt rename to Enhancements/BreathOfTheWild_Clarity/37040a485a29d54e_00000000000003c9_ps.txt index f4dc4858..e4277802 100644 --- a/Enhancement/BreathOfTheWild_Clarity/37040a485a29d54e_00000000000003c9_ps.txt +++ b/Enhancements/BreathOfTheWild_Clarity/37040a485a29d54e_00000000000003c9_ps.txt @@ -2,21 +2,28 @@ #extension GL_ARB_texture_gather : enable // shader 37040a485a29d54e //########################################################## -#define Preset 3 - // User Defined 0 - // Bruz Option 1 - // BSOD Option 2 - // Clarity Option 3 (Jamie Default) - // Contrasty Option 4 - // Serfrost Option 5 - // Sharpen Only Option 6 - // The Complaning Gamer Option 7 - // Filmic Preset Option 8 - // CellHunter Option 9 + +#define Preset $preset + + // User Defined Preset 0 + // Bruz Preset 1 + // BSOD Gaming Preset 2 + // Jamie Preset 3 + // Contrasty Preset 4 + // The Complaining Gamer Preset 5 + // Filmic Preset Preset 6 + // CellHunter Preset 7 + // Serfrost Preset (Bright Display) 8 + // Serfrost Preset (Dim Display) 9 + //########################################################## + #if (Preset == 0) -// User Defined + +// User Defined, values to change are below. + //########################################################## + #define adjust_bloom 1 // 0: disable, 1: enable. //BloomFactor const float bloomFactor = 0.020; // Default is 0.020 (rough estimate based on Switch) @@ -129,9 +136,13 @@ float Colorfulness = 2.5; float DPX_Strength = 0.20; //########################################################### -//Do not edit under this line. + +//Do not edit under this line, unless explicitly desired. Keep backups! + //Presets -#elif (Preset == 1) + +#elif (Preset == 1) //Bruz + #define adjust_bloom 1 const float bloomFactor = 0.30; #define HDRpassing 0 @@ -197,7 +208,9 @@ float DPX_Strength = 0.20; float DPX_Saturation = 3.0; float Colorfulness = 2.5; float DPX_Strength = 0.20; -#elif (Preset == 2) + +#elif (Preset == 2) //BSoD Gaming + #define adjust_bloom 1 const float bloomFactor = 0.010; #define HDRpassing 1 @@ -263,7 +276,9 @@ float DPX_Strength = 0.20; float DPX_Saturation = 3.0; float Colorfulness = 2.5; float DPX_Strength = 0.20; -#elif (Preset == 3) + +#elif (Preset == 3) //Jamie + #define adjust_bloom 1 const float bloomFactor = 0.020; #define HDRpassing 1 @@ -329,7 +344,9 @@ float DPX_Strength = 0.20; float DPX_Saturation = 0.0; float Colorfulness = 1.0; float DPX_Strength = 0.20; -#elif (Preset == 4) + +#elif (Preset == 4) //Contrasty + #define adjust_bloom 1 const float bloomFactor = 0.020; #define HDRpassing 0 @@ -395,139 +412,9 @@ float DPX_Strength = 0.20; float DPX_Saturation = 3.0; float Colorfulness = 2.5; float DPX_Strength = 0.20; -#elif (Preset == 5) - #define adjust_bloom 1 - const float bloomFactor = 0.40; - #define HDRpassing 1 - const float HDRPower = 1.20; - const float radius1 = 0.793; - const float radius2 = 0.87; - #define lumapassing 0 - const float sharp_strength = 0.45; - const float sharp_clamp = 0.85; - const float offset_bias = 1.0; - #define Tone_map 8 - const float Exposure = 1.17; - const float Bleach = 0.0; - const float Gamma = 0.98; - const float defog = 1.00; - vec3 FogColor = vec3(1.0, 1.0, 1.0); - const float sat = 0.00; - const float crushContrast = 0.00; - #define post_process 0 - const float satFactor = 0.07; - #define blacknwhitepass 1 - const int BlackPoint = 2; - const int WhitePoint = 300; - #define lggpass 1 - vec3 RGB_Lift = vec3(1.027, 1.027, 1.027); - vec3 RGB_Gamma = vec3(0.83, 0.83, 0.83); - vec3 RGB_Gain = vec3(1.10, 1.10, 1.10); - #define vibpass 1 - const float Vibrance = 0.15; - vec3 VibranceRGBBalance = vec3(1.0, 1.0, 1.0); - #define Tech 0 - const float Power = 5.0; - vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); - float Strength = 0.10; - #define Techine 1 - float Technicolor2_Red_Strength = -0.09; - float Technicolor2_Green_Strength = -0.09; - float Technicolor2_Blue_Strength = -0.00; - float Technicolor2_Brightness = 0.4; - float Technicolor2_Strength = 1.2; - float Technicolor2_Saturation = 1.1; - #define cmatrix 0 - vec3 ColorMatrix_Red = vec3(0.817, 0.183, 0.000); - vec3 ColorMatrix_Green = vec3(0.333, 0.667, 0.000); - vec3 ColorMatrix_Blue = vec3(0.000, 0.125, 0.875); - float CM_Strength = 1.0; - #define CurvesPss 0 - const float Contrast = 0.0; - #define Filmicpass 1 - const float Filmic_Contrast = 1.0; - const float Filmic_Bleach = 0.0; - const float Saturation = -0.17; - const float Filmic_Strength = 0.48; - const float Fade = 0.08; - const float Linearization = 1.0; - const float BaseCurve = 1.0; - const float BaseGamma = 1.0; - const float EffectGamma = 1.68; - #define dpxpass 0 - vec3 RGB_Curve = vec3(8.0, 8.0, 8.0); - vec3 RGB_C = vec3(0.36, 0.36, 0.34); - float DPX_Contrast = 0.1; - float DPX_Saturation = 3.0; - float Colorfulness = 1.0; - float DPX_Strength = 0.20; -#elif (Preset == 6) - #define adjust_bloom 0 - const float bloomFactor = 0.20; - #define HDRpassing 0 - const float HDRPower = 1.00; - const float radius1 = 1.00; - const float radius2 = 0.80; - #define lumapassing 1 - const float sharp_strength = 1.70; - const float sharp_clamp = 0.35; - const float offset_bias = 1.0; - #define Tone_map 0 - const float Exposure = 1.17; - const float Bleach = 0.4; - const float Gamma = 1.00; - const float defog = 0.00; - vec3 FogColor = vec3(1.0, 1.0, 1.0); - const float sat = 0.000; - const float crushContrast = 0.000; - #define post_process 0 - const float satFactor = 0.25; - #define blacknwhitepass 0 - const int BlackPoint = 16; - const int WhitePoint = 235; - #define lggpass 0 - vec3 RGB_Lift = vec3(1.000, 1.000, 1.000); - vec3 RGB_Gamma = vec3(1.000, 1.000, 1.000); - vec3 RGB_Gain = vec3(1.000, 1.000, 1.000); - #define vibpass 0 - const float Vibrance = 0.150; - vec3 VibranceRGBBalance = vec3(1.0, 1.0, 1.0); - #define Tech 0 - const float Power = 4.0; - vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); - float Strength = 0.20; - #define Techine 0 - const float Technicolor2_Red_Strength = 0.02; - const float Technicolor2_Green_Strength = 0.02; - const float Technicolor2_Blue_Strength = 0.02; - const float Technicolor2_Brightness = 1.00; - const float Technicolor2_Strength = 1.00; - const float Technicolor2_Saturation = 1.00; - #define cmatrix 0 - vec3 ColorMatrix_Red = vec3(0.817, 0.183, 0.000); - vec3 ColorMatrix_Green = vec3(0.333, 0.667, 0.000); - vec3 ColorMatrix_Blue = vec3(0.000, 0.125, 0.875); - float CM_Strength = 1.0; - #define CurvesPss 0 - const float Contrast = 0.65; - #define Filmicpass 0 - const float Filmic_Contrast = 1.0; - const float Filmic_Bleach = 0.0; - const float Saturation = -0.15; - const float Filmic_Strength = 0.85; - const float Fade = 0.4; - const float Linearization = 0.5; - const float BaseCurve = 1.5; - const float BaseGamma = 1.00; - const float EffectGamma = 0.68; - #define dpxpass 0 - vec3 RGB_Curve = vec3(8.0, 8.0, 8.0); - vec3 RGB_C = vec3(0.36, 0.36, 0.34); - float DPX_Contrast = 0.1; - float DPX_Saturation = 3.0; - float Colorfulness = 2.5; - float DPX_Strength = 0.20; -#elif (Preset == 7) + +#elif (Preset == 5) //The Complaining Gamer + #define adjust_bloom 1 const float bloomFactor = 0.33; #define HDRpassing 1 @@ -593,7 +480,9 @@ float DPX_Strength = 0.20; float DPX_Saturation = 3.0; float Colorfulness = 2.5; float DPX_Strength = 0.20; -#elif (Preset == 8) + +#elif (Preset == 6) //Filmic + #define adjust_bloom 1 const float bloomFactor = 0.020; #define HDRpassing 1 @@ -659,7 +548,8 @@ float DPX_Strength = 0.20; float DPX_Saturation = 2.0; float Colorfulness = 1.5; float DPX_Strength = 0.20; -#elif (Preset == 9) + +#elif (Preset == 7) //CellHunter #define adjust_bloom 1 const float bloomFactor = 0.445; #define HDRpassing 1 @@ -725,7 +615,144 @@ float DPX_Strength = 0.20; float DPX_Saturation = 3.0; float Colorfulness = 2.5; float DPX_Strength = 0.20; + +#elif (Preset == 8) //Serfrost (Bright Display) + + #define adjust_bloom 1 + const float bloomFactor = 0.40; + #define HDRpassing 1 + const float HDRPower = 1.20; + const float radius1 = 0.793; + const float radius2 = 0.87; + #define lumapassing 0 + const float sharp_strength = 0.45; + const float sharp_clamp = 0.85; + const float offset_bias = 1.0; + #define Tone_map 8 + const float Exposure = 1.17; + const float Bleach = 0.0; + const float Gamma = 0.98; + const float defog = 1.00; + vec3 FogColor = vec3(1.0, 1.0, 1.0); + const float sat = 0.00; + const float crushContrast = 0.00; + #define post_process 0 + const float satFactor = 0.07; + #define blacknwhitepass 1 + const int BlackPoint = 2; + const int WhitePoint = 300; + #define lggpass 1 + vec3 RGB_Lift = vec3(1.027, 1.027, 1.027); + vec3 RGB_Gamma = vec3(0.83, 0.83, 0.83); + vec3 RGB_Gain = vec3(1.10, 1.10, 1.10); + #define vibpass 1 + const float Vibrance = 0.15; + vec3 VibranceRGBBalance = vec3(1.0, 1.0, 1.0); + #define Tech 0 + const float Power = 5.0; + vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); + float Strength = 0.10; + #define Techine 1 + float Technicolor2_Red_Strength = -0.09; + float Technicolor2_Green_Strength = -0.09; + float Technicolor2_Blue_Strength = -0.00; + float Technicolor2_Brightness = 0.4; + float Technicolor2_Strength = 1.2; + float Technicolor2_Saturation = 1.1; + #define cmatrix 0 + vec3 ColorMatrix_Red = vec3(0.817, 0.183, 0.000); + vec3 ColorMatrix_Green = vec3(0.333, 0.667, 0.000); + vec3 ColorMatrix_Blue = vec3(0.000, 0.125, 0.875); + float CM_Strength = 1.0; + #define CurvesPss 0 + const float Contrast = 0.0; + #define Filmicpass 1 + const float Filmic_Contrast = 1.0; + const float Filmic_Bleach = 0.0; + const float Saturation = -0.17; + const float Filmic_Strength = 0.48; + const float Fade = 0.08; + const float Linearization = 1.0; + const float BaseCurve = 1.0; + const float BaseGamma = 1.0; + const float EffectGamma = 1.68; + #define dpxpass 0 + vec3 RGB_Curve = vec3(8.0, 8.0, 8.0); + vec3 RGB_C = vec3(0.36, 0.36, 0.34); + float DPX_Contrast = 0.1; + float DPX_Saturation = 3.0; + float Colorfulness = 1.0; + float DPX_Strength = 0.20; + +#elif (Preset == 9) //Serfrost (Dim Display) + #define adjust_bloom 1 + const float bloomFactor = 0.7; + #define HDRpassing 1 + const float HDRPower = 1.20; + const float radius1 = 0.793; + const float radius2 = 0.87; + #define lumapassing 0 + const float sharp_strength = 0.45; + const float sharp_clamp = 0.85; + const float offset_bias = 1.0; + #define Tone_map 8 + const float Exposure = 1.17; + const float Bleach = 0.0; + const float Gamma = 1.05; + const float defog = 1.00; + vec3 FogColor = vec3(1.0, 1.0, 1.0); + const float sat = 0.0; + const float crushContrast = 0.00; + #define post_process 0 + const float satFactor = 0.07; + #define blacknwhitepass 1 + const int BlackPoint = 1; + const int WhitePoint = 235; + #define lggpass 1 + vec3 RGB_Lift = vec3(1.027, 1.027, 1.027); + vec3 RGB_Gamma = vec3(0.83, 0.83, 0.83); + vec3 RGB_Gain = vec3(1.10, 1.10, 1.10); + #define vibpass 1 + const float Vibrance = 0.45; + vec3 VibranceRGBBalance = vec3(1.0, 1.0, 1.0); + #define Tech 0 + const float Power = 5.0; + vec3 RGBNegativeAmount = vec3(0.88, 0.88, 0.88); + float Strength = 0.10; + #define Techine 1 + float Technicolor2_Red_Strength = -0.09; + float Technicolor2_Green_Strength = -0.09; + float Technicolor2_Blue_Strength = -0.00; + float Technicolor2_Brightness = 0.4; + float Technicolor2_Strength = 1.2; + float Technicolor2_Saturation = 1.15; + #define cmatrix 0 + vec3 ColorMatrix_Red = vec3(0.817, 0.183, 0.000); + vec3 ColorMatrix_Green = vec3(0.333, 0.667, 0.000); + vec3 ColorMatrix_Blue = vec3(0.000, 0.125, 0.875); + float CM_Strength = 1.0; + #define CurvesPss 0 + const float Contrast = 0.0; + #define Filmicpass 1 + const float Filmic_Contrast = 1.0; + const float Filmic_Bleach = 0.0; + const float Saturation = -0.17; + const float Filmic_Strength = 0.48; + const float Fade = 0.08; + const float Linearization = 1.0; + const float BaseCurve = 1.0; + const float BaseGamma = 1.0; + const float EffectGamma = 1.68; + #define dpxpass 0 + vec3 RGB_Curve = vec3(8.0, 8.0, 8.0); + vec3 RGB_C = vec3(0.36, 0.36, 0.34); + float DPX_Contrast = 0.1; + float DPX_Saturation = 3.0; + float Colorfulness = 1.0; + float DPX_Strength = 0.20; + #endif + //########################################################### uniform ivec4 uf_remappedPS[1]; layout(binding = 0) uniform sampler2D textureUnitPS0; // Bloom diff --git a/Enhancements/BreathOfTheWild_Clarity/how_to_make_your_own_preset.txt b/Enhancements/BreathOfTheWild_Clarity/how_to_make_your_own_preset.txt new file mode 100644 index 00000000..912e70f1 --- /dev/null +++ b/Enhancements/BreathOfTheWild_Clarity/how_to_make_your_own_preset.txt @@ -0,0 +1,53 @@ + + -- How to set up your own Clarity Preset -- + +=================================================================== + + Hey, it's Serfrost. I'm writing this out because it's come to our attention that no matter what we really do for presets, it won't really matter in the long run. Every user has a unique monitor / display they use with their PC, yeah? A lot of them are calibrated differently, and they often come with numerous presets that alter colors, brightness, contrast, you name it. Because of this, the presets that look good to me might not look good to you--the presets that look good to Jamie might not look good to you; you get the idea. So I'm writing this hoping you'll take the time to do a few short steps to get you on your way to making the game look the way YOU want it to look on YOUR display! + + Jamie has coded this faithfully and diligently, and he's added a lot of different functions that were previously unavailable with these newer updates. We hope you enjoy this and use it to it's fullest potential. + + This tutorial has been shortened by Slash in order to make use of the new graphic pack to its full potential. + +=================================================================== + + There are 6 steps total. Please read very carefully and with your full attention. As long as you do that, it's relatively just "point and click" and the rest is changing the numbers on your own and testing them to see what they do. + +=================================================================== + + +1) Open up Cemu that's at least version 1.13.0. + + +2) After Cemu opens itself, load the game and your save file. + + +3) Open up the graphic pack menu and select Clarity under Breath of the Wild. + + +4) Open up 37040a485a29d54e_00000000000003c9_ps.txt in the Clarity graphic pack folder. + + +5) You may now edit all the variables in realtime. To view your changes hit "Reload shaders" + + +===============\ + + Note: "Realtime", as in, you can view your changes by using the button. You do not have to stop the game, etc. + + Pro Tip: If time changes too fast for you, you can use Cemuhook's custom timer option (Debug > Custom Timer) to slow down time to 0.125x! + + MAKE SURE YOU CHECK VARIOUS AREAS IN THE GAME TO MAKE SURE YOUR COLOR / SHADOW BALANCING IS CORRECT. + +===============/ + + +6) When you have your variables for your preset where you want them, you don't have to do anything! The file with your preset is already saved. + + -- Make backups of files before making changes. Keep track of your work! -- + + === + + MAKE SURE YOU CHECK VARIOUS AREAS IN THE GAME TO MAKE SURE YOUR COLOR / SHADOW BALANCING IS CORRECT. + + === \ No newline at end of file diff --git a/Enhancements/BreathOfTheWild_Clarity/rules.txt b/Enhancements/BreathOfTheWild_Clarity/rules.txt new file mode 100644 index 00000000..02e6452a --- /dev/null +++ b/Enhancements/BreathOfTheWild_Clarity/rules.txt @@ -0,0 +1,46 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = "Clarity (NOT COMPATIBLE WITH MONOCHROMIA)" +path = "The Legend of Zelda: Breath of the Wild/Enhancements/Clarity" +description = "NOT COMPATIBLE WITH MONOCHROMIA! Select the visual look of the game that you'll like with these hand-made presets that adjusts saturation, vibrance, colors and more. You can select a preset. Selecting "User Defined" requires having made your own preset, check the "BreathOfTheWild_Clarity/37040a485a29d54e_00000000000003c9_ps.txt" file in your graphicPack folder to create one." +version = 3 + +[Preset] +name = Serfrost Preset (Bright Display) +$preset:int = 8 + +[Preset] +name = Serfrost Preset (Dim Display) +$preset:int = 9 + +[Preset] +name = Bruz Preset +$preset:int = 1 + +[Preset] +name = CellHunter Preset +$preset:int = 7 + +[Preset] +name = Jamie Preset +$preset:int = 3 + +[Preset] +name = BSoD Gaming Preset +$preset:int = 2 + +[Preset] +name = The Complaining Gamer Preset +$preset:int = 5 + +[Preset] +name = Contrasty Preset +$preset:int = 4 + +[Preset] +name = Filmic Preset Preset +$preset:int = 6 + +[Preset] +name = User Defined Preset +$preset:int = 0 diff --git a/Enhancement/BreathOfTheWild_ReflExtra/49ce4bf04a654e80_00000003c9249749_ps.txt b/Enhancements/BreathOfTheWild_ReflExtra/49ce4bf04a654e80_00000003c9249749_ps.txt similarity index 100% rename from Enhancement/BreathOfTheWild_ReflExtra/49ce4bf04a654e80_00000003c9249749_ps.txt rename to Enhancements/BreathOfTheWild_ReflExtra/49ce4bf04a654e80_00000003c9249749_ps.txt diff --git a/Enhancement/BreathOfTheWild_ReflExtra/8ff2cf86e789335f_00000003c9249749_ps.txt b/Enhancements/BreathOfTheWild_ReflExtra/8ff2cf86e789335f_00000003c9249749_ps.txt similarity index 100% rename from Enhancement/BreathOfTheWild_ReflExtra/8ff2cf86e789335f_00000003c9249749_ps.txt rename to Enhancements/BreathOfTheWild_ReflExtra/8ff2cf86e789335f_00000003c9249749_ps.txt diff --git a/Enhancements/BreathOfTheWild_ReflExtra/rules.txt b/Enhancements/BreathOfTheWild_ReflExtra/rules.txt new file mode 100644 index 00000000..e8c4e4ca --- /dev/null +++ b/Enhancements/BreathOfTheWild_ReflExtra/rules.txt @@ -0,0 +1,6 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = "Enhanced Reflections" +path = "The Legend of Zelda: Breath of the Wild/Enhancements/Enhanced Reflections" +description = "Extends the reflections in shrines and some other surfaces." +version = 3 diff --git a/Source/BreathOfTheWild/22c410044398c7af_0000000000000000_vs.txt b/Enhancements/BreathOfTheWild_Shadows/22c410044398c7af_0000000000000000_vs.txt similarity index 89% rename from Source/BreathOfTheWild/22c410044398c7af_0000000000000000_vs.txt rename to Enhancements/BreathOfTheWild_Shadows/22c410044398c7af_0000000000000000_vs.txt index cc62840f..7c009ba7 100644 --- a/Source/BreathOfTheWild/22c410044398c7af_0000000000000000_vs.txt +++ b/Enhancements/BreathOfTheWild_Shadows/22c410044398c7af_0000000000000000_vs.txt @@ -1,18 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 22c410044398c7af // Fixed radius blur // shadow pass blur v -const float resXScale = ; -const float resYScale = ; +const float resXScale = $shadowRes; +const float resYScale = $shadowRes; uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/2a2f55a2b2d64474_0000000000000000_vs.txt b/Enhancements/BreathOfTheWild_Shadows/2a2f55a2b2d64474_0000000000000000_vs.txt similarity index 89% rename from Source/BreathOfTheWild/2a2f55a2b2d64474_0000000000000000_vs.txt rename to Enhancements/BreathOfTheWild_Shadows/2a2f55a2b2d64474_0000000000000000_vs.txt index 1b2578da..3a958e5d 100644 --- a/Source/BreathOfTheWild/2a2f55a2b2d64474_0000000000000000_vs.txt +++ b/Enhancements/BreathOfTheWild_Shadows/2a2f55a2b2d64474_0000000000000000_vs.txt @@ -1,18 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 2a2f55a2b2d64474 // Fixed radius blur // shadow pass blur h -const float resXScale = ; -const float resYScale = ; +const float resXScale = $shadowRes; +const float resYScale = $shadowRes; uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/88133ee405eaae28_000003c000009269_ps.txt b/Enhancements/BreathOfTheWild_Shadows/88133ee405eaae28_000003c000009269_ps.txt similarity index 99% rename from Source/BreathOfTheWild/88133ee405eaae28_000003c000009269_ps.txt rename to Enhancements/BreathOfTheWild_Shadows/88133ee405eaae28_000003c000009269_ps.txt index fecc24da..0505a443 100644 --- a/Source/BreathOfTheWild/88133ee405eaae28_000003c000009269_ps.txt +++ b/Enhancements/BreathOfTheWild_Shadows/88133ee405eaae28_000003c000009269_ps.txt @@ -1,17 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader 88133ee405eaae28 // Shadow 2x2 box blur fix // shader dumped from BotW v1.4.0, using Cemu 1.11.1 -const float resXScale = ; -const float resYScale = ; +const float resXScale = $shadowRes; +const float resYScale = $shadowRes; + layout(binding = 33, std140) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; diff --git a/Source/BreathOfTheWild/ffe0e8c84f6e8da9_000003c000009269_ps.txt b/Enhancements/BreathOfTheWild_Shadows/ffe0e8c84f6e8da9_000003c000009269_ps.txt similarity index 99% rename from Source/BreathOfTheWild/ffe0e8c84f6e8da9_000003c000009269_ps.txt rename to Enhancements/BreathOfTheWild_Shadows/ffe0e8c84f6e8da9_000003c000009269_ps.txt index 05da3e2d..c3fba029 100644 --- a/Source/BreathOfTheWild/ffe0e8c84f6e8da9_000003c000009269_ps.txt +++ b/Enhancements/BreathOfTheWild_Shadows/ffe0e8c84f6e8da9_000003c000009269_ps.txt @@ -1,17 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader ffe0e8c84f6e8da9 // Shadow 2x2 box blur fix // shader dumped from BotW v1.3.1, using Cemu 1.10.0 -const float resXScale = ; -const float resYScale = ; +const float resXScale = $shadowRes; +const float resYScale = $shadowRes; + layout(binding = 33, std140) uniform uniformBlockPS1 { vec4 uf_blockPS1[1024]; diff --git a/Enhancements/BreathOfTheWild_Shadows/rules.txt b/Enhancements/BreathOfTheWild_Shadows/rules.txt new file mode 100644 index 00000000..d8f7d272 --- /dev/null +++ b/Enhancements/BreathOfTheWild_Shadows/rules.txt @@ -0,0 +1,63 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Shadow Resolution +path = "The Legend of Zelda: Breath of the Wild/Graphics/Shadow Resolution" +description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this might give you a good boost in performance if you're limited on VRAM but makes shadows blockier. Medium is the original resolution. +version = 3 + +[Preset] +name = Medium (1.00x, Default) +$shadowRes = 1 + +[Preset] +name = Low (0.50x) +$shadowRes = 0.5 + +[Preset] +name = High (2.00x) +$shadowRes = 2 + +[Preset] +name = Ultra (4.00x) +$shadowRes = 4 + +[Preset] +name = Extreme (8.00x) +$shadowRes = 8 + +# Uniform shadow maps + +[TextureRedefine] +width = 768 +height = 720 +formats = 0x005 +overwriteWidth = $shadowRes * 768 +overwriteHeight = $shadowRes * 720 + +[TextureRedefine] +width = 720 +height = 720 +formats = 0x005 +overwriteWidth = $shadowRes * 720 +overwriteHeight = $shadowRes * 720 + +[TextureRedefine] +width = 384 +height = 368 +formats = 0x005 +overwriteWidth = $shadowRes * 384 +overwriteHeight = $shadowRes * 368 + +[TextureRedefine] +width = 384 +height = 360 +formats = 0x005 +overwriteWidth = $shadowRes * 384 +overwriteHeight = $shadowRes * 360 + +[TextureRedefine] +width = 360 +height = 360 +formats = 0x005 +overwriteWidth = $shadowRes * 360 +overwriteHeight = $shadowRes * 360 diff --git a/Enhancements/M&SRio2016_NoHUD/0535e0f9e37cf612_0000000000000000_vs.txt b/Enhancements/M&SRio2016_NoHUD/0535e0f9e37cf612_0000000000000000_vs.txt new file mode 100644 index 00000000..db01600d --- /dev/null +++ b/Enhancements/M&SRio2016_NoHUD/0535e0f9e37cf612_0000000000000000_vs.txt @@ -0,0 +1,132 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#extension GL_ARB_shading_language_packing : enable +// shader 0535e0f9e37cf612 +#define enabled $enabled +uniform ivec4 uf_remappedVS[8]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +layout(location = 0) in uvec4 attrDataSem0; +layout(location = 1) in uvec4 attrDataSem3; +layout(location = 2) in uvec4 attrDataSem4; +layout(location = 3) in uvec4 attrDataSem8; +layout(location = 4) in uvec4 attrDataSem9; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem131; +layout(location = 1) out vec4 passParameterSem136; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem4.xyzw)/255.0); +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem8.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// skipped unused attribute for r5 +// 0 +R123f.x = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedVS[0].w)) + intBitsToFloat(uf_remappedVS[1].w)); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedVS[0].z)) + intBitsToFloat(uf_remappedVS[1].z)); +PV0f.y = R123f.y; +R4f.z = 0.0; +// 1 +R127f.x = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedVS[2].w)) + PV0f.x); +R127f.y = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedVS[2].z)) + PV0f.y); +// 2 +R123f.z = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedVS[0].x)) + intBitsToFloat(uf_remappedVS[1].x)); +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedVS[0].y)) + intBitsToFloat(uf_remappedVS[1].y)); +PV0f.w = R123f.w; +// 3 +R123f.x = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedVS[3].w)) + R127f.x); +PV1f.x = R123f.x; +R126f.y = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedVS[3].z)) + R127f.y); +R127f.z = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedVS[2].x)) + PV0f.z); +R127f.w = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedVS[2].y)) + PV0f.w); +// 4 +R127f.x = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[4].w)); +R127f.y = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[4].z)); +PV0f.z = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[4].x)); +PV0f.w = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedVS[4].y)); +// 5 +backupReg0f = R127f.w; +R123f.x = (mul_nonIEEE(R126f.y,intBitsToFloat(uf_remappedVS[5].y)) + PV0f.w); +PV1f.x = R123f.x; +R125f.y = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedVS[3].x)) + R127f.z); +R123f.z = (mul_nonIEEE(R126f.y,intBitsToFloat(uf_remappedVS[5].x)) + PV0f.z); +PV1f.z = R123f.z; +R127f.w = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedVS[3].y)) + backupReg0f); +PV1f.w = R127f.w; +// 6 +R123f.x = (mul_nonIEEE(R126f.y,intBitsToFloat(uf_remappedVS[5].w)) + R127f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(R126f.y,intBitsToFloat(uf_remappedVS[5].z)) + R127f.y); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(PV1f.w,intBitsToFloat(uf_remappedVS[6].x)) + PV1f.z); +PV0f.z = R123f.z; +R126f.w = (mul_nonIEEE(PV1f.w,intBitsToFloat(uf_remappedVS[6].y)) + PV1f.x); +// 7 +R123f.x = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedVS[6].w)) + PV0f.x); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(R127f.w,intBitsToFloat(uf_remappedVS[6].z)) + PV0f.y); +PV1f.y = R123f.y; +R3f.x = (mul_nonIEEE(R125f.y,intBitsToFloat(uf_remappedVS[7].x)) + PV0f.z); +PS1f = R3f.x; +// 8 +R3f.y = (mul_nonIEEE(R125f.y,intBitsToFloat(uf_remappedVS[7].y)) + R126f.w); +R3f.z = (mul_nonIEEE(R125f.y,intBitsToFloat(uf_remappedVS[7].z)) + PV1f.y); +R3f.w = (mul_nonIEEE(R125f.y,intBitsToFloat(uf_remappedVS[7].w)) + PV1f.x); +// export +#if (enabled == 0) +gl_Position = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +#endif +#if (enabled == 1) +#endif +// export +passParameterSem131 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +// skipped export to semanticId 255 +// export +passParameterSem136 = vec4(R4f.x, R4f.y, R4f.z, R4f.z); +} diff --git a/Enhancements/M&SRio2016_NoHUD/c7a21597bd595a25_0000000000000000_vs.txt b/Enhancements/M&SRio2016_NoHUD/c7a21597bd595a25_0000000000000000_vs.txt new file mode 100644 index 00000000..1b634240 --- /dev/null +++ b/Enhancements/M&SRio2016_NoHUD/c7a21597bd595a25_0000000000000000_vs.txt @@ -0,0 +1,110 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#extension GL_ARB_shading_language_packing : enable +// shader c7a21597bd595a25 +#define enabled $enabled +uniform ivec4 uf_remappedVS[4]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +layout(location = 0) in uvec4 attrDataSem0; +layout(location = 1) in uvec4 attrDataSem3; +layout(location = 2) in uvec4 attrDataSem4; +layout(location = 3) in uvec4 attrDataSem8; +layout(location = 4) in uvec4 attrDataSem9; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem131; +layout(location = 1) out vec4 passParameterSem132; +layout(location = 2) out vec4 passParameterSem136; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R5f = vec4(0.0); +vec4 R6f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem4.xyzw)/255.0); +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); +attrDecoder.xy = attrDataSem8.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xy = attrDataSem9.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R5f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.x = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedVS[0].y)) + intBitsToFloat(uf_remappedVS[1].y)); +R127f.y = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedVS[0].x)) + intBitsToFloat(uf_remappedVS[1].x)); +R0f.z = intBitsToFloat(0x3f000000); +R6f.w = 0.0; +R6f.x = mul_nonIEEE(R2f.x, R2f.w); +PS0f = R6f.x; +// 1 +R6f.y = mul_nonIEEE(R2f.y, R2f.w); +R6f.z = mul_nonIEEE(R2f.z, R2f.w); +R123f.w = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedVS[0].w)) + intBitsToFloat(uf_remappedVS[1].w)); +PV1f.w = R123f.w; +R4f.z = R5f.x; +PS1f = R4f.z; +// 2 +R123f.x = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedVS[2].w)) + PV1f.w); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedVS[2].y)) + R127f.x); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedVS[2].x)) + R127f.y); +PV0f.z = R123f.z; +R4f.w = R5f.y; +// 3 +R0f.x = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedVS[3].x)) + PV0f.z); +R0f.y = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedVS[3].y)) + PV0f.y); +R0f.w = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedVS[3].w)) + PV0f.x); +// export +#if (enabled == 0) +gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +#endif +#if (enabled == 1) +#endif +// export +passParameterSem131 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +passParameterSem132 = vec4(R6f.x, R6f.y, R6f.z, R6f.w); +// export +passParameterSem136 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +} diff --git a/Enhancements/M&SRio2016_NoHUD/rules.txt b/Enhancements/M&SRio2016_NoHUD/rules.txt new file mode 100644 index 00000000..bca70e05 --- /dev/null +++ b/Enhancements/M&SRio2016_NoHUD/rules.txt @@ -0,0 +1,14 @@ +[Definition] +titleIds = 0005000010190300,00050000101E5300,00050000101E5400 +name = No HUD +path = "Mario & Sonic at the Rio 2016 Olympic Games/Enhancements/No HUD" +description = Removes the HUD of the game. +version = 3 + +[Preset] +name = Disabled (Default) +$enabled:int = 0 + +[Preset] +name = Enabled +$enabled:int = 1 diff --git a/Enhancement/MarioKart8_AdjustableBloom/e90feef2bca6cb2e_00000000000003c9_ps.txt b/Enhancements/MarioKart8_Bloom/e90feef2bca6cb2e_00000000000003c9_ps.txt similarity index 98% rename from Enhancement/MarioKart8_AdjustableBloom/e90feef2bca6cb2e_00000000000003c9_ps.txt rename to Enhancements/MarioKart8_Bloom/e90feef2bca6cb2e_00000000000003c9_ps.txt index 0d8e4013..d5b2c0c7 100644 --- a/Enhancement/MarioKart8_AdjustableBloom/e90feef2bca6cb2e_00000000000003c9_ps.txt +++ b/Enhancements/MarioKart8_Bloom/e90feef2bca6cb2e_00000000000003c9_ps.txt @@ -1,7 +1,8 @@ #version 420 #extension GL_ARB_texture_gather : enable -const float bloomFactor = 0.4; // shader e90feef2bca6cb2e +const float bloomFactor = $bloom; + uniform ivec4 uf_remappedPS[4]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf50cf800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Enhancements/MarioKart8_Bloom/rules.txt b/Enhancements/MarioKart8_Bloom/rules.txt new file mode 100644 index 00000000..e5e65877 --- /dev/null +++ b/Enhancements/MarioKart8_Bloom/rules.txt @@ -0,0 +1,22 @@ +[Definition] +titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 +name = Bloom Adjustment +path = "Mario Kart 8/Enhancements/Bloom Adjustment" +description = Allows you to adjust how strong the bloom is. Full amount is the default intensity of bloom. +version = 3 + +[Preset] +name = (Default)Full Amount +$bloom = 1 + +[Preset] +name = Disabled +$bloom = 0 + +[Preset] +name = Quarter Amount +$bloom = 0.25 + +[Preset] +name = Half Amount +$bloom = 0.5 diff --git a/Enhancements/MarioKart8_Shadows/rules.txt b/Enhancements/MarioKart8_Shadows/rules.txt new file mode 100644 index 00000000..62d015fc --- /dev/null +++ b/Enhancements/MarioKart8_Shadows/rules.txt @@ -0,0 +1,33 @@ +[Definition] +titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 +name = Shadow Resolution +path = "Mario Kart 8/Graphics/Shadow Resolution" +description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this might give you a good boost in performance if you're limited on VRAM but makes shadows blockier. Medium is the original resolution. +version = 3 + +[Preset] +name = Medium (1.00x, Default) +$shadowRes = 1 + +[Preset] +name = Low (0.50x) +$shadowRes = 0.5 + +[Preset] +name = High (2.00x) +$shadowRes = 2 + +[Preset] +name = Ultra (4.00x) +$shadowRes = 4 + +[Preset] +name = Extreme (8.00x) +$shadowRes = 8 + +[TextureRedefine] # Shadows +width = 1024 +height = 1024 +formats = 0x005 +overwriteWidth = $shadowRes * 1024 +overwriteHeight = $shadowRes * 1024 diff --git a/Enhancements/NintendoLand_Shadows/rules.txt b/Enhancements/NintendoLand_Shadows/rules.txt new file mode 100644 index 00000000..b1e55e44 --- /dev/null +++ b/Enhancements/NintendoLand_Shadows/rules.txt @@ -0,0 +1,47 @@ +[Definition] +titleIds = 0005000010101F00,0005000010102000,0005000010102100 +name = Shadow Resolution +path = "Nintendo Land/Graphics/Shadow Resolution" +description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this might give you a good boost in performance if you're limited on VRAM but makes shadows blockier. Medium is the original resolution. +version = 3 + +[Preset] +name = Medium (1.00x, Default) +$shadowRes = 1 + +[Preset] +name = Low (0.50x) +$shadowRes = 0.5 + +[Preset] +name = High (2.00x) +$shadowRes = 2 + +[Preset] +name = Ultra (4.00x) +$shadowRes = 4 + +[Preset] +name = Extreme (8.00x) +$shadowRes = 8 + +[TextureRedefine] # Shadows +width = 2048 +height = 2048 +formats = 0x5 +overwriteWidth = $shadowRes * 2048 +overwriteHeight = $shadowRes * 2048 + +[TextureRedefine] # Performance Shadows +width = 896 +height = 864 +formats = 0x5 +overwriteWidth = $shadowRes * 896 +overwriteHeight = $shadowRes * 864 + +[TextureRedefine] # Performance Shadows +width = 856 +height = 856 +formats = 0x5 +overwriteWidth = $shadowRes * 856 +overwriteHeight = $shadowRes * 856 diff --git a/Enhancements/PokkenTournament_Shadows/rules.txt b/Enhancements/PokkenTournament_Shadows/rules.txt new file mode 100644 index 00000000..14cf453d --- /dev/null +++ b/Enhancements/PokkenTournament_Shadows/rules.txt @@ -0,0 +1,33 @@ +[Definition] +titleIds = 00050000101DF400,00050002101DF401,00050000101DF500 +name = Shadow Resolution +path = "Pokken Tournament/Graphics/Shadow Resolution" +description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this might give you a good boost in performance if you're limited on VRAM but makes shadows blockier. Medium is the original resolution. +version = 3 + +[Preset] +name = Medium (1.00x, Default) +$shadowRes = 1 + +[Preset] +name = Low (0.50x) +$shadowRes = 0.5 + +[Preset] +name = High (2.00x) +$shadowRes = 2 + +[Preset] +name = Ultra (4.00x) +$shadowRes = 4 + +[Preset] +name = Extreme (8.00x) +$shadowRes = 8 + +[TextureRedefine] # Shadows +width = 512 +height = 512 +formats = 0x5 +overwriteWidth = $shadowRes * 512 +overwriteHeight = $shadowRes * 512 diff --git a/Enhancements/RiseOfLyric_Shadows/rules.txt b/Enhancements/RiseOfLyric_Shadows/rules.txt new file mode 100644 index 00000000..966febd0 --- /dev/null +++ b/Enhancements/RiseOfLyric_Shadows/rules.txt @@ -0,0 +1,33 @@ +[Definition] +titleIds = 0005000010175B00,0005000010177800,0005000010191F00 +name = Shadow Resolution +path = "Sonic Boom: Rise of Lyric/Graphics/Shadow Resolution" +description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this might give you a good boost in performance if you're limited on VRAM but makes shadows blockier. Medium is the original resolution. +version = 3 + +[Preset] +name = Medium (1.00x, Default) +$shadowRes = 1 + +[Preset] +name = Low (0.50x) +$shadowRes = 0.5 + +[Preset] +name = High (2.00x) +$shadowRes = 2 + +[Preset] +name = Ultra (4.00x) +$shadowRes = 4 + +[Preset] +name = Extreme (8.00x) +$shadowRes = 8 + +[TextureRedefine] # Shadows; it needs shader edits which I will look into later +width = 256 +height = 256 +formats = 0x80e,0x11 +overwriteWidth = $shadowRes * 256 +overwriteHeight = $shadowRes * 256 diff --git a/Enhancement/Splatoon_AdjustableBloom/34eaf9e211e76379_00000000000003c9_ps.txt b/Enhancements/Splatoon_Bloom/34eaf9e211e76379_00000000000003c9_ps.txt similarity index 99% rename from Enhancement/Splatoon_AdjustableBloom/34eaf9e211e76379_00000000000003c9_ps.txt rename to Enhancements/Splatoon_Bloom/34eaf9e211e76379_00000000000003c9_ps.txt index 7f0f6219..c1399008 100644 --- a/Enhancement/Splatoon_AdjustableBloom/34eaf9e211e76379_00000000000003c9_ps.txt +++ b/Enhancements/Splatoon_Bloom/34eaf9e211e76379_00000000000003c9_ps.txt @@ -1,7 +1,8 @@ #version 420 #extension GL_ARB_texture_gather : enable -const float bloomFactor = 0.4; // shader 34eaf9e211e76379 +const float bloomFactor = $bloom; + uniform ivec4 uf_remappedPS[4]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x16466800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Enhancements/Splatoon_Bloom/rules.txt b/Enhancements/Splatoon_Bloom/rules.txt new file mode 100644 index 00000000..92afeee9 --- /dev/null +++ b/Enhancements/Splatoon_Bloom/rules.txt @@ -0,0 +1,22 @@ +[Definition] +titleIds = 0005000010176900,0005000010176A00,0005000010162B00 +name = Bloom Adjustment +path = "Splatoon/Enhancements/Bloom Adjustment" +description = Allows you to adjust how strong the bloom is. Full amount is the default intensity of bloom. +version = 3 + +[Preset] +name = (Default)Full Amount +$bloom = 1 + +[Preset] +name = Disabled +$bloom = 0 + +[Preset] +name = Quarter Amount +$bloom = 0.25 + +[Preset] +name = Half Amount +$bloom = 0.5 diff --git a/Source/Splatoon/b4196905d6fff2bb_0000000000001e69_ps.txt b/Enhancements/Splatoon_Shadows/b4196905d6fff2bb_0000000000001e69_ps.txt similarity index 96% rename from Source/Splatoon/b4196905d6fff2bb_0000000000001e69_ps.txt rename to Enhancements/Splatoon_Shadows/b4196905d6fff2bb_0000000000001e69_ps.txt index 61b59e99..15b65649 100644 --- a/Source/Splatoon/b4196905d6fff2bb_0000000000001e69_ps.txt +++ b/Enhancements/Splatoon_Shadows/b4196905d6fff2bb_0000000000001e69_ps.txt @@ -1,17 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader b4196905d6fff2bb // Used for: Fixing high-res shadows on models at end-screen of campaign/matches -const float resScale = ; - +const float resScale = $shadowRes; uniform ivec4 uf_remappedPS[12]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Enhancements/Splatoon_Shadows/rules.txt b/Enhancements/Splatoon_Shadows/rules.txt new file mode 100644 index 00000000..cd5e81df --- /dev/null +++ b/Enhancements/Splatoon_Shadows/rules.txt @@ -0,0 +1,40 @@ +[Definition] +titleIds = 0005000010176900,0005000010176A00,0005000010162B00 +name = Shadow Resolution +path = "Splatoon/Graphics/Shadow Resolution" +description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this might give you a good boost in performance if you're limited on VRAM but makes shadows blockier. Medium is the original resolution. +version = 3 + +[Preset] +name = Medium (1.00x, Default) +$shadowRes = 1 + +[Preset] +name = Low (0.50x) +$shadowRes = 0.5 + +[Preset] +name = High (2.00x) +$shadowRes = 2 + +[Preset] +name = Ultra (4.00x) +$shadowRes = 4 + +[Preset] +name = Extreme (8.00x) +$shadowRes = 8 + +[TextureRedefine] # Shadows +width = 2048 +height = 2048 +formats = 0x5 +overwriteWidth = $shadowRes * 2048 +overwriteHeight = $shadowRes * 2048 + +[TextureRedefine] # Performance Shadows +width = 1024 +height = 1024 +formats = 0x5 +overwriteWidth = $shadowRes * 1024 +overwriteHeight = $shadowRes * 1024 diff --git a/Enhancement/Splatoon_FX/4a377a50eda82af8_0000000000001e51_ps.txt b/Enhancements/Splatoon_SplatFX/4a377a50eda82af8_0000000000001e51_ps.txt similarity index 99% rename from Enhancement/Splatoon_FX/4a377a50eda82af8_0000000000001e51_ps.txt rename to Enhancements/Splatoon_SplatFX/4a377a50eda82af8_0000000000001e51_ps.txt index 3cfb4d57..91195ab3 100644 --- a/Enhancement/Splatoon_FX/4a377a50eda82af8_0000000000001e51_ps.txt +++ b/Enhancements/Splatoon_SplatFX/4a377a50eda82af8_0000000000001e51_ps.txt @@ -2,11 +2,11 @@ #extension GL_ARB_texture_gather : enable // shader 4a377a50eda82af8 //########################################################## -#define Preset 3 +#define Preset $preset // User Defined 0 // Bruz Option 1 // BSOD Option 2 - // Clarity Option 3 + // Jamie Option 3 // Contrasty Option 4 // Serfrost Option 5 // Sharpen Only Option 6 diff --git a/Enhancement/Splatoon_FX/f502868a515bbfb4_00000000000003c9_ps.txt b/Enhancements/Splatoon_SplatFX/f502868a515bbfb4_00000000000003c9_ps.txt similarity index 99% rename from Enhancement/Splatoon_FX/f502868a515bbfb4_00000000000003c9_ps.txt rename to Enhancements/Splatoon_SplatFX/f502868a515bbfb4_00000000000003c9_ps.txt index 98513a1f..348e8798 100644 --- a/Enhancement/Splatoon_FX/f502868a515bbfb4_00000000000003c9_ps.txt +++ b/Enhancements/Splatoon_SplatFX/f502868a515bbfb4_00000000000003c9_ps.txt @@ -2,11 +2,11 @@ #extension GL_ARB_texture_gather : enable // shader f502868a515bbfb4 //########################################################## -#define Preset 3 +#define Preset $preset // User Defined 0 // Bruz Option 1 // BSOD Option 2 - // Clarity Option 3 + // Jamie Option 3 // Contrasty Option 4 // Serfrost Option 5 // Sharpen Only Option 6 diff --git a/Enhancements/Splatoon_SplatFX/rules.txt b/Enhancements/Splatoon_SplatFX/rules.txt new file mode 100644 index 00000000..85c331bc --- /dev/null +++ b/Enhancements/Splatoon_SplatFX/rules.txt @@ -0,0 +1,46 @@ +[Definition] +titleIds = 0005000010176900,0005000010176A00,0005000010162B00 +name = SplatFX +path = "Splatoon/Enhancements/SplatFX" +description = Select the visual look of the game that you'll like with these hand-made presets that adjusts saturation, vibrance, colors and more. You can select a preset. Selecting "User Defined" requires having made your own preset, check the "Splatoon_SplatFX/4a377a50eda82af8_0000000000001e51_ps.txt" and the "Splatoon_SplatFX/f502868a515bbfb4_00000000000003c9_ps.txt" file in your graphicPack folder to create one. +version = 3 + +[Preset] +name = User Defined +$preset:int = 0 + +[Preset] +name = Bruz Option (BotW) +$preset:int = 1 + +[Preset] +name = BSoD Option (BotW) +$preset:int = 2 + +[Preset] +name = Jamie Option (BotW) +$preset:int = 3 + +[Preset] +name = Contrasty Option (BotW) +$preset:int = 4 + +[Preset] +name = Serfrost Option (BotW) +$preset:int = 5 + +[Preset] +name = Sharpen Only Option (BotW) +$preset:int = 6 + +[Preset] +name = The Complaining Gamer Option (BotW) +$preset:int = 7 + +[Preset] +name = Filmic Preset Option (BotW) +$preset:int = 8 + +[Preset] +name = CellHunter Option (BotW) +$preset:int = 9 diff --git a/Enhancements/SuperMario3DWorld_Shadows/rules.txt b/Enhancements/SuperMario3DWorld_Shadows/rules.txt new file mode 100644 index 00000000..84e8c3db --- /dev/null +++ b/Enhancements/SuperMario3DWorld_Shadows/rules.txt @@ -0,0 +1,33 @@ +[Definition] +titleIds = 0005000010145D00,0005000010145C00,0005000010106100 +name = Shadow Resolution +path = "Super Mario 3D World/Graphics/Shadow Resolution" +description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this might give you a good boost in performance if you're limited on VRAM but makes shadows blockier. Medium is the original resolution. +version = 3 + +[Preset] +name = Medium (1.00x, Default) +$shadowRes = 1 + +[Preset] +name = Low (0.50x) +$shadowRes = 0.5 + +[Preset] +name = High (2.00x) +$shadowRes = 2 + +[Preset] +name = Ultra (4.00x) +$shadowRes = 4 + +[Preset] +name = Extreme (8.00x) +$shadowRes = 8 + +[TextureRedefine] # Shadows +width = 1024 +height = 1024 +formats = 0x005 +overwriteWidth = $shadowRes * 1024 +overwriteHeight = $shadowRes * 1024 diff --git a/Source/TokyoMirage/04d0827b9471eb22_0000000000000000_vs.txt b/Enhancements/SuperSmashBros_Shadows/7613a0515b67d8b4_0000000000000000_vs.txt similarity index 56% rename from Source/TokyoMirage/04d0827b9471eb22_0000000000000000_vs.txt rename to Enhancements/SuperSmashBros_Shadows/7613a0515b67d8b4_0000000000000000_vs.txt index 461618a2..c27fa61b 100644 --- a/Source/TokyoMirage/04d0827b9471eb22_0000000000000000_vs.txt +++ b/Enhancements/SuperSmashBros_Shadows/7613a0515b67d8b4_0000000000000000_vs.txt @@ -1,28 +1,20 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable -// shader 04d0827b9471eb22 -const float resXScale = ; -const float resYScale = ; +// shader 7613a0515b67d8b4 +const float shadowRes = $shadowRes; uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; +layout(location = 1) in uvec4 attrDataSem2; out gl_PerVertex { vec4 gl_Position; float gl_PointSize; }; -layout(location = 1) out vec4 passParameterSem137; -layout(location = 0) out vec4 passParameterSem136; +layout(location = 0) out vec4 passParameterSem130; +layout(location = 1) out vec4 passParameterSem131; int clampFI32(int v) { if( v == 0x7FFFFFFF ) @@ -31,7 +23,7 @@ else if( v == 0xFFFFFFFF ) return floatBitsToInt(0.0); return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); } -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } void main() { vec4 R0f = vec4(0.0); @@ -54,32 +46,33 @@ R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); attrDecoder = attrDataSem0; attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.xy = attrDataSem2.xy; +attrDecoder.xy = ((attrDecoder.xy>>8)&0xFF)|((attrDecoder.xy<<8)&0xFF00); attrDecoder.z = 0; attrDecoder.w = 0; +attrDecoder.xy = floatBitsToUint(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16))); +attrDecoder.zw = uvec2(0); R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); // 0 -R3f.x = R2f.x; -R3f.y = R2f.y; -PV0f.z = intBitsToFloat(uf_remappedVS[0].z) + 0.5; +PV0f.x = intBitsToFloat(uf_remappedVS[0].y)/shadowRes; +PV0f.x /= 2.0; +PV0f.y = -(intBitsToFloat(uf_remappedVS[0].y))/shadowRes; +PV0f.y /= 2.0; +R127f.w = intBitsToFloat(uf_remappedVS[0].y)/shadowRes; +R127f.w /= 2.0; +PV0f.w = R127f.w; // 1 -R127f.z = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y) / resYScale, PV0f.z); -PV1f.z = R127f.z; -PV1f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x) / resXScale, PV0f.z); +R0f.xyz = vec3(R2f.x,R2f.y,R2f.x) + vec3(PV0f.y,PV0f.y,PV0f.x); +R3f.w = R2f.x + PV0f.y; +R3f.y = R2f.y + PV0f.w; +PS1f = R3f.y; // 2 -PV0f.x = R2f.y + PV1f.z; -PV0f.y = R2f.x + PV1f.w; -R0f.x = R2f.x + -(PV1f.w); -PS0f = R0f.x; -// 3 -R0f.y = R2f.y + -(R127f.z); -R0f.z = PV0f.y; -R0f.w = PV0f.x; +R3f.z = R2f.x + R127f.w; // export gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); // export -passParameterSem137 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +passParameterSem130 = vec4(R0f.x, R0f.y, R0f.z, R0f.y); // export -passParameterSem136 = vec4(R3f.x, R3f.y, R3f.z, R3f.z); +passParameterSem131 = vec4(R3f.w, R3f.y, R3f.z, R3f.y); +// 0 } diff --git a/Enhancements/SuperSmashBros_Shadows/rules.txt b/Enhancements/SuperSmashBros_Shadows/rules.txt new file mode 100644 index 00000000..a19ff6d0 --- /dev/null +++ b/Enhancements/SuperSmashBros_Shadows/rules.txt @@ -0,0 +1,40 @@ +[Definition] +titleIds = 0005000010110E00,0005000010145000,0005000010144F00 +name = Shadow Resolution +path = "Super Smash Bros. for Wii U/Graphics/Shadow Resolution" +description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this increases performance but makes shadows blockier. Medium is the original resolution. +version = 3 + +[Preset] +name = Medium (1.00x, Default) +$shadowRes = 1 + +[Preset] +name = Low (0.50x) +$shadowRes = 0.5 + +[Preset] +name = High (2.00x) +$shadowRes = 2 + +[Preset] +name = Ultra (4.00x) +$shadowRes = 4 + +[Preset] +name = Extreme (8.00x) +$shadowRes = 8 + +[TextureRedefine] # Shadows +width = 1024 +height = 1024 +formats = 0x5 +overwriteWidth = $shadowRes * 1024 +overwriteHeight = $shadowRes * 1024 + +[TextureRedefine] # Performance Shadows, Blur Pass +width = 512 +height = 512 +formats = 0xb,0xf +overwriteWidth = $shadowRes * 512 +overwriteHeight = $shadowRes * 512 diff --git a/Enhancements/TokyoMirage_NegLod/rules.txt b/Enhancements/TokyoMirage_NegLod/rules.txt new file mode 100644 index 00000000..bd171d98 --- /dev/null +++ b/Enhancements/TokyoMirage_NegLod/rules.txt @@ -0,0 +1,40 @@ +[Definition] +titleIds = 00050000101ED700,00050000101ED800,0005000010131D00 +name = Negative texture LOD bias +path = "Tokyo Mirage Sessions FE/Graphics/Negative Texture LOD" +description = Texture LOD override, possible shimmer but sharper textures +version = 3 + +[Preset] +name = LOD -4 +$LOD = 4 + +[Preset] +name = LOD -1 +$LOD = 1 + +[Preset] +name = LOD -2 +$LOD = 2 + +[Preset] +name = LOD -3 +$LOD = 3 + +[Preset] +name = LOD -4 +$LOD = 4 + +[Preset] +name = LOD -8 +$LOD = 8 + +[Preset] +name = LOD -16 +$LOD = 16 + + +[TextureRedefine] +formats = 0x01a,0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435 +overwriteRelativeLodBias = - $LOD + diff --git a/Enhancement/WindWakerHD-GC_colour/04dcbf2655f94e03_00000000000007f9_ps.txt b/Enhancements/WindWakerHD_GameCubeColor/04dcbf2655f94e03_00000000000007f9_ps.txt similarity index 100% rename from Enhancement/WindWakerHD-GC_colour/04dcbf2655f94e03_00000000000007f9_ps.txt rename to Enhancements/WindWakerHD_GameCubeColor/04dcbf2655f94e03_00000000000007f9_ps.txt diff --git a/Enhancement/WindWakerHD-GC_colour/53141a02b3f78921_00000000000000ff_ps.txt b/Enhancements/WindWakerHD_GameCubeColor/53141a02b3f78921_00000000000000ff_ps.txt similarity index 100% rename from Enhancement/WindWakerHD-GC_colour/53141a02b3f78921_00000000000000ff_ps.txt rename to Enhancements/WindWakerHD_GameCubeColor/53141a02b3f78921_00000000000000ff_ps.txt diff --git a/Enhancement/WindWakerHD-GC_colour/8a763b05908ba4e8_00000000000000ff_ps.txt b/Enhancements/WindWakerHD_GameCubeColor/8a763b05908ba4e8_00000000000000ff_ps.txt similarity index 100% rename from Enhancement/WindWakerHD-GC_colour/8a763b05908ba4e8_00000000000000ff_ps.txt rename to Enhancements/WindWakerHD_GameCubeColor/8a763b05908ba4e8_00000000000000ff_ps.txt diff --git a/Enhancement/WindWakerHD-GC_colour/90ed656e9c17616b_00000000000000ff_ps.txt b/Enhancements/WindWakerHD_GameCubeColor/90ed656e9c17616b_00000000000000ff_ps.txt similarity index 100% rename from Enhancement/WindWakerHD-GC_colour/90ed656e9c17616b_00000000000000ff_ps.txt rename to Enhancements/WindWakerHD_GameCubeColor/90ed656e9c17616b_00000000000000ff_ps.txt diff --git a/Enhancement/WindWakerHD-GC_colour/960d3ef6662043c7_0000000000000079_ps.txt b/Enhancements/WindWakerHD_GameCubeColor/960d3ef6662043c7_0000000000000079_ps.txt similarity index 100% rename from Enhancement/WindWakerHD-GC_colour/960d3ef6662043c7_0000000000000079_ps.txt rename to Enhancements/WindWakerHD_GameCubeColor/960d3ef6662043c7_0000000000000079_ps.txt diff --git a/Enhancement/WindWakerHD-GC_colour/b77c717f243c0b08_00000000007f9249_ps.txt b/Enhancements/WindWakerHD_GameCubeColor/b77c717f243c0b08_00000000007f9249_ps.txt similarity index 100% rename from Enhancement/WindWakerHD-GC_colour/b77c717f243c0b08_00000000007f9249_ps.txt rename to Enhancements/WindWakerHD_GameCubeColor/b77c717f243c0b08_00000000007f9249_ps.txt diff --git a/Enhancement/WindWakerHD-GC_colour/e1ea1127489fd281_0000000000003fc9_ps.txt b/Enhancements/WindWakerHD_GameCubeColor/e1ea1127489fd281_0000000000003fc9_ps.txt similarity index 100% rename from Enhancement/WindWakerHD-GC_colour/e1ea1127489fd281_0000000000003fc9_ps.txt rename to Enhancements/WindWakerHD_GameCubeColor/e1ea1127489fd281_0000000000003fc9_ps.txt diff --git a/Enhancement/WindWakerHD-GC_colour/f1a49f43d95bec30_00000000000000ff_ps.txt b/Enhancements/WindWakerHD_GameCubeColor/f1a49f43d95bec30_00000000000000ff_ps.txt similarity index 95% rename from Enhancement/WindWakerHD-GC_colour/f1a49f43d95bec30_00000000000000ff_ps.txt rename to Enhancements/WindWakerHD_GameCubeColor/f1a49f43d95bec30_00000000000000ff_ps.txt index 1a0e1f2c..e1840804 100644 --- a/Enhancement/WindWakerHD-GC_colour/f1a49f43d95bec30_00000000000000ff_ps.txt +++ b/Enhancements/WindWakerHD_GameCubeColor/f1a49f43d95bec30_00000000000000ff_ps.txt @@ -47,6 +47,6 @@ R2f.w = R0f.w; R3f.xyz = vec3(R1f.x,R1f.y,R1f.y); R3f.w = R1f.z; // export -passPixelColor0 = vec4(R2f.x*0.9, R2f.y*0.9, R2f.z*1.2, R2f.w)*0.75; +passPixelColor0 = vec4(R2f.x*0.92, R2f.y*0.9, R2f.z*1.1, R2f.w)*0.75; passPixelColor1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); } diff --git a/Enhancement/WindWakerHD-GC_colour/ff71dcd2ad4defdc_00000000000003c9_ps.txt b/Enhancements/WindWakerHD_GameCubeColor/ff71dcd2ad4defdc_00000000000003c9_ps.txt similarity index 99% rename from Enhancement/WindWakerHD-GC_colour/ff71dcd2ad4defdc_00000000000003c9_ps.txt rename to Enhancements/WindWakerHD_GameCubeColor/ff71dcd2ad4defdc_00000000000003c9_ps.txt index d80cffd6..0e66983d 100644 --- a/Enhancement/WindWakerHD-GC_colour/ff71dcd2ad4defdc_00000000000003c9_ps.txt +++ b/Enhancements/WindWakerHD_GameCubeColor/ff71dcd2ad4defdc_00000000000003c9_ps.txt @@ -2,7 +2,7 @@ #extension GL_ARB_texture_gather : enable // shader ff71dcd2ad4defdc //AA ps -const float resScale = 4.0; +const float resScale = 2.0; //old contrasty, or just copy paste clarity const float gamma = 0.85; // 1.0 is neutral Botw is already colour graded at this stage diff --git a/Enhancements/WindWakerHD_GameCubeColor/rules.txt b/Enhancements/WindWakerHD_GameCubeColor/rules.txt new file mode 100644 index 00000000..4e15d6c4 --- /dev/null +++ b/Enhancements/WindWakerHD_GameCubeColor/rules.txt @@ -0,0 +1,6 @@ +[Definition] +titleIds = 0005000010143400,0005000010143600,0005000010143500 +name = "GC colour grading" +path = "The Legend of Zelda: The Wind Waker HD/Graphics/Colour Tweaks" +description = More blue instead of teal, slight contrast increase +version = 3 \ No newline at end of file diff --git a/Enhancements/YoshisWoollyWorld_Shadows/rules.txt b/Enhancements/YoshisWoollyWorld_Shadows/rules.txt new file mode 100644 index 00000000..7b2eb49e --- /dev/null +++ b/Enhancements/YoshisWoollyWorld_Shadows/rules.txt @@ -0,0 +1,33 @@ +[Definition] +titleIds = 0005000010131F00,0005000010184E00,0005000010184D00 +name = Shadow Resolution +path = "Yoshi's Woolly World/Graphics/Shadow Resolution" +description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this increases performance but makes shadows blockier. Medium is the original resolution. +version = 3 + +[Preset] +name = Medium (1.00x, Default) +$shadowRes = 1 + +[Preset] +name = Low (0.50x) +$shadowRes = 0.5 + +[Preset] +name = High (2.00x) +$shadowRes = 2 + +[Preset] +name = Ultra (4.00x) +$shadowRes = 4 + +[Preset] +name = Extreme (8.00x) +$shadowRes = 8 + +[TextureRedefine] # Shadows +width = 1024 +height = 1024 +formats = 0x5 +overwriteWidth = $shadowRes * 1024 +overwriteHeight = $shadowRes * 1024 diff --git a/Modifications/BreathOfTheWild_!Monochromia/069a6cb3b78b94dd_00003cd249549249_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/069a6cb3b78b94dd_00003cd249549249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/069a6cb3b78b94dd_00003cd249549249_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/069a6cb3b78b94dd_00003cd249549249_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/07d4d8363600f2d4_0000000079249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/07d4d8363600f2d4_0000000079249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/07d4d8363600f2d4_0000000079249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/07d4d8363600f2d4_0000000079249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/0831c7ebf9279cdb_0000001e6924aa49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/0831c7ebf9279cdb_0000001e6924aa49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/0831c7ebf9279cdb_0000001e6924aa49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/0831c7ebf9279cdb_0000001e6924aa49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/0a042cc751c546b2_0000001e6924aa49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/0a042cc751c546b2_0000001e6924aa49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/0a042cc751c546b2_0000001e6924aa49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/0a042cc751c546b2_0000001e6924aa49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/10a2a18d2a9a02d8_000000007924d249_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/10a2a18d2a9a02d8_000000007924d249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/10a2a18d2a9a02d8_000000007924d249_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/10a2a18d2a9a02d8_000000007924d249_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/1bd1c50969e7e4ac_000000000f249a49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/1bd1c50969e7e4ac_000000000f249a49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/1bd1c50969e7e4ac_000000000f249a49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/1bd1c50969e7e4ac_000000000f249a49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/1cf7d93fabd9e8e3_000000007924d249_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/1cf7d93fabd9e8e3_000000007924d249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/1cf7d93fabd9e8e3_000000007924d249_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/1cf7d93fabd9e8e3_000000007924d249_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/1f8a651427ddb2a8_000000000f249a49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/1f8a651427ddb2a8_000000000f249a49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/1f8a651427ddb2a8_000000000f249a49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/1f8a651427ddb2a8_000000000f249a49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/235ae454992c4a92_00003cd249549249_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/235ae454992c4a92_00003cd249549249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/235ae454992c4a92_00003cd249549249_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/235ae454992c4a92_00003cd249549249_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/2e2543216c04766d_0000000079249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/2e2543216c04766d_0000000079249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/2e2543216c04766d_0000000079249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/2e2543216c04766d_0000000079249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/3179b85d41bfb80d_0000000079249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/3179b85d41bfb80d_0000000079249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/3179b85d41bfb80d_0000000079249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/3179b85d41bfb80d_0000000079249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/32b2c2ae76175d0d_0000001e6924aa49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/32b2c2ae76175d0d_0000001e6924aa49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/32b2c2ae76175d0d_0000001e6924aa49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/32b2c2ae76175d0d_0000001e6924aa49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/3c49f88069390494_0000000079249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/3c49f88069390494_0000000079249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/3c49f88069390494_0000000079249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/3c49f88069390494_0000000079249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/49ce4bf04a654e80_00000003c9249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/49ce4bf04a654e80_00000003c9249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/49ce4bf04a654e80_00000003c9249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/49ce4bf04a654e80_00000003c9249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/4a5e64d284788a47_0000001e6924aa49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/4a5e64d284788a47_0000001e6924aa49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/4a5e64d284788a47_0000001e6924aa49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/4a5e64d284788a47_0000001e6924aa49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/4c324d20f5b6de3b_000000007924d249_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/4c324d20f5b6de3b_000000007924d249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/4c324d20f5b6de3b_000000007924d249_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/4c324d20f5b6de3b_000000007924d249_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/53422d4f43914447_0000000000000079_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/53422d4f43914447_0000000000000079_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/53422d4f43914447_0000000000000079_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/53422d4f43914447_0000000000000079_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/5648500869d5db39_0000000079249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/5648500869d5db39_0000000079249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/5648500869d5db39_0000000079249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/5648500869d5db39_0000000079249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/5dc89e690f6b0726_0000001e6924aa49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/5dc89e690f6b0726_0000001e6924aa49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/5dc89e690f6b0726_0000001e6924aa49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/5dc89e690f6b0726_0000001e6924aa49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/7c6e02daf538f23e_000000000f249a49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/7c6e02daf538f23e_000000000f249a49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/7c6e02daf538f23e_000000000f249a49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/7c6e02daf538f23e_000000000f249a49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/7f33027db819f935_0000000079249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/7f33027db819f935_0000000079249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/7f33027db819f935_0000000079249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/7f33027db819f935_0000000079249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/81bbc347eb4b6dbc_0000000079249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/81bbc347eb4b6dbc_0000000079249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/81bbc347eb4b6dbc_0000000079249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/81bbc347eb4b6dbc_0000000079249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/8d24f32f18e6de47_0000000079249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/8d24f32f18e6de47_0000000079249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/8d24f32f18e6de47_0000000079249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/8d24f32f18e6de47_0000000079249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/8daf3642d5942233_000000007924d249_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/8daf3642d5942233_000000007924d249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/8daf3642d5942233_000000007924d249_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/8daf3642d5942233_000000007924d249_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/8ff2cf86e789335f_00000003c9249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/8ff2cf86e789335f_00000003c9249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/8ff2cf86e789335f_00000003c9249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/8ff2cf86e789335f_00000003c9249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/910884d799c555ff_0000001e6924aa49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/910884d799c555ff_0000001e6924aa49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/910884d799c555ff_0000001e6924aa49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/910884d799c555ff_0000001e6924aa49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/9a39c7a4d12c3b4e_00003cd249549249_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/9a39c7a4d12c3b4e_00003cd249549249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/9a39c7a4d12c3b4e_00003cd249549249_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/9a39c7a4d12c3b4e_00003cd249549249_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/a2986482c342660f_000000007924d249_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/a2986482c342660f_000000007924d249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/a2986482c342660f_000000007924d249_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/a2986482c342660f_000000007924d249_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/a5b3a5e5ab2938bc_0000000000001e49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/a5b3a5e5ab2938bc_0000000000001e49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/a5b3a5e5ab2938bc_0000000000001e49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/a5b3a5e5ab2938bc_0000000000001e49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/a84b5bc90f635eb4_0000001e6924aa49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/a84b5bc90f635eb4_0000001e6924aa49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/a84b5bc90f635eb4_0000001e6924aa49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/a84b5bc90f635eb4_0000001e6924aa49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/ac099496a4733213_000000007924d249_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/ac099496a4733213_000000007924d249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/ac099496a4733213_000000007924d249_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/ac099496a4733213_000000007924d249_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/accb5c78c5e346b5_0000001e6924aa49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/accb5c78c5e346b5_0000001e6924aa49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/accb5c78c5e346b5_0000001e6924aa49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/accb5c78c5e346b5_0000001e6924aa49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/ad50629df039e45f_0000001e6924aa49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/ad50629df039e45f_0000001e6924aa49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/ad50629df039e45f_0000001e6924aa49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/ad50629df039e45f_0000001e6924aa49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/b2e61dfb5275f27d_000000000f249a49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/b2e61dfb5275f27d_000000000f249a49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/b2e61dfb5275f27d_000000000f249a49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/b2e61dfb5275f27d_000000000f249a49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/bd8bba59e2149449_00000000000003c9_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/bd8bba59e2149449_00000000000003c9_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/bd8bba59e2149449_00000000000003c9_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/bd8bba59e2149449_00000000000003c9_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/bdc96b6928e88c78_0000000079249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/bdc96b6928e88c78_0000000079249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/bdc96b6928e88c78_0000000079249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/bdc96b6928e88c78_0000000079249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/bff17056bfac28dd_0000000079249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/bff17056bfac28dd_0000000079249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/bff17056bfac28dd_0000000079249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/bff17056bfac28dd_0000000079249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/c580a12764680547_000000000f249a49_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/c580a12764680547_000000000f249a49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/c580a12764680547_000000000f249a49_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/c580a12764680547_000000000f249a49_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/de2bafbeb363afb3_0000000079249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/de2bafbeb363afb3_0000000079249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/de2bafbeb363afb3_0000000079249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/de2bafbeb363afb3_0000000079249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/dee484f174698fba_000000007924d249_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/dee484f174698fba_000000007924d249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/dee484f174698fba_000000007924d249_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/dee484f174698fba_000000007924d249_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/eabf1e8268c0acf2_0000000079249749_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/eabf1e8268c0acf2_0000000079249749_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/eabf1e8268c0acf2_0000000079249749_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/eabf1e8268c0acf2_0000000079249749_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/ead71c09d523378c_000000f349255249_ps.txt b/Modifications/!BreathOfTheWild_Monochromia/ead71c09d523378c_000000f349255249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/ead71c09d523378c_000000f349255249_ps.txt rename to Modifications/!BreathOfTheWild_Monochromia/ead71c09d523378c_000000f349255249_ps.txt diff --git a/Modifications/BreathOfTheWild_!Monochromia/readMe.txt b/Modifications/!BreathOfTheWild_Monochromia/readme.txt similarity index 100% rename from Modifications/BreathOfTheWild_!Monochromia/readMe.txt rename to Modifications/!BreathOfTheWild_Monochromia/readme.txt diff --git a/Modifications/!BreathOfTheWild_Monochromia/rules.txt b/Modifications/!BreathOfTheWild_Monochromia/rules.txt new file mode 100644 index 00000000..8f462e4a --- /dev/null +++ b/Modifications/!BreathOfTheWild_Monochromia/rules.txt @@ -0,0 +1,11 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = "Monochromia (NOT COMPATIBLE WITH CLARITY)" +path = "The Legend of Zelda: Breath of the Wild/Modifications/Monochromia (Incompatible with Clarity)" +description = "NOT COMPATIBLE WITH CLARITY! Inspired by Sin City, this turns the game black and white." +version = 3 + +# Shaders dumped from Cemu 1.11.0b and BotW 1.3.1 +# Pack made by Kiri +# Check the readMe file for info on how to customize +# Have fun with it diff --git a/Modifications/BreathOfTheWild_!Monochromia/rules.txt b/Modifications/BreathOfTheWild_!Monochromia/rules.txt deleted file mode 100644 index 89f94301..00000000 --- a/Modifications/BreathOfTheWild_!Monochromia/rules.txt +++ /dev/null @@ -1,9 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - Monochromia - Sin City inspired Mod" -version = 2 - -# Shaders dumped from Cemu 1.11.0b and BotW 1.3.1 -# Pack made by Kiri -# Check the readMe file for info on how to customize -# Have fun with it \ No newline at end of file diff --git a/Modifications/BreathOfTheWild_Cheats/rules.txt b/Modifications/BreathOfTheWild_Cheats/rules.txt index 5ae8eaf5..eae1f4a7 100644 --- a/Modifications/BreathOfTheWild_Cheats/rules.txt +++ b/Modifications/BreathOfTheWild_Cheats/rules.txt @@ -1,4 +1,6 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - Cheats (view readme)" -version = 2 +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Cheats +path = "The Legend of Zelda: Breath of the Wild/Modifications/Cheats" +description = "By default, every cheat is enabled. To specify the cheat you want and look at the specifics, please read the readme.txt in the "BreathOftheWild_Cheats" folder." +version = 3 \ No newline at end of file diff --git a/Modifications/BreathOfTheWild_DivineLaserBeamCustomizer/6fa2baef8a4ece42_0000000000000709_ps.txt b/Modifications/BreathOfTheWild_DivineLaserBeamCustomizer/6fa2baef8a4ece42_0000000000000709_ps.txt index c42a3920..f3aa0ad7 100644 --- a/Modifications/BreathOfTheWild_DivineLaserBeamCustomizer/6fa2baef8a4ece42_0000000000000709_ps.txt +++ b/Modifications/BreathOfTheWild_DivineLaserBeamCustomizer/6fa2baef8a4ece42_0000000000000709_ps.txt @@ -5,10 +5,10 @@ // Credit for hsv functions below // http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl -#define RAINBOW_EFFECT 0 // [0 or 1] set it to 1 to enable rainbow beams effect. in that case, HUE_ROTATION is ignored -#define DISABLE_BEAMS 1 // [0 or 1] set it to 1 to hide the lasers completely -#define HUE_ROTATION 0 //[0, 360] where 0 and 360 is unchanged Hue and 180 is completely opposite Hue. Check http://dba.med.sc.edu/price/irf/Adobe_tg/models/images/hsl_top.JPG -#define SATURATION_FACTOR 1.1 //[0.0, 1.0] 1.0 means unchanged Saturation, 0.0 means completely desaturated. Values above 1.0 are accepted, but they may cause clipping +#define RAINBOW_EFFECT $rainbow // [0 or 1] set it to 1 to enable rainbow beams effect. in that case, HUE_ROTATION is ignored +#define DISABLE_BEAMS $disableBeams // [0 or 1] set it to 1 to hide the lasers completely +#define HUE_ROTATION $hue //[0, 360] where 0 and 360 is unchanged Hue and 180 is completely opposite Hue. Check http://i.imgur.com/5UpyIGh.png +#define SATURATION_FACTOR 1.0 //[0.0, 1.0] 1.0 means unchanged Saturation, 0.0 means completely desaturated. Values above 1.0 are accepted, but they may cause clipping #define VALUE_FACTOR 1.0 //same as above; applies to Value #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency diff --git a/Modifications/BreathOfTheWild_DivineLaserBeamCustomizer/de960d36a997b34d_0000000000000709_ps.txt b/Modifications/BreathOfTheWild_DivineLaserBeamCustomizer/de960d36a997b34d_0000000000000709_ps.txt index 80b5a661..85310437 100644 --- a/Modifications/BreathOfTheWild_DivineLaserBeamCustomizer/de960d36a997b34d_0000000000000709_ps.txt +++ b/Modifications/BreathOfTheWild_DivineLaserBeamCustomizer/de960d36a997b34d_0000000000000709_ps.txt @@ -5,10 +5,10 @@ // Credit for hsv functions below // http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl -#define RAINBOW_EFFECT 0 // [0 or 1] set it to 1 to enable rainbow beams effect. in that case, HUE_ROTATION is ignored -#define DISABLE_BEAMS 1 // [0 or 1] set it to 1 to hide the lasers completely -#define HUE_ROTATION 0 //[0, 360] where 0 and 360 is unchanged Hue and 180 is completely opposite Hue. Check http://dba.med.sc.edu/price/irf/Adobe_tg/models/images/hsl_top.JPG -#define SATURATION_FACTOR 1.1 //[0.0, 1.0] 1.0 means unchanged Saturation, 0.0 means completely desaturated. Values above 1.0 are accepted, but they may cause clipping +#define RAINBOW_EFFECT $rainbow // [0 or 1] set it to 1 to enable rainbow beams effect. in that case, HUE_ROTATION is ignored +#define DISABLE_BEAMS $disableBeams // [0 or 1] set it to 1 to hide the lasers completely +#define HUE_ROTATION $hue //[0, 360] where 0 and 360 is unchanged Hue and 180 is completely opposite Hue. Check http://i.imgur.com/5UpyIGh.png +#define SATURATION_FACTOR 1.0 //[0.0, 1.0] 1.0 means unchanged Saturation, 0.0 means completely desaturated. Values above 1.0 are accepted, but they may cause clipping #define VALUE_FACTOR 1.0 //same as above; applies to Value #define ALPHA_FACTOR 1.0 //same as above; applies to Transparency diff --git a/Modifications/BreathOfTheWild_DivineLaserBeamCustomizer/rules.txt b/Modifications/BreathOfTheWild_DivineLaserBeamCustomizer/rules.txt index 1ab90b9f..345136b2 100644 --- a/Modifications/BreathOfTheWild_DivineLaserBeamCustomizer/rules.txt +++ b/Modifications/BreathOfTheWild_DivineLaserBeamCustomizer/rules.txt @@ -1,6 +1,48 @@ [Definition] titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - Divine Laser Beam Customizer" -version = 2 -# Allows customization of the color of the Divine Beasts's Laser Beam -# Laser Beams can also be completely hidden +name = Divine Laser Beams Customizer +path = "The Legend of Zelda: Breath of the Wild/Modifications/Divine Laser Beams Customizer" +description = Allows customization of the color of the Divine Beasts's Laser Beams. They can also be completely hidden. Inside the shader you can find other options like saturation and transparency. +version = 3 + +[Preset] +name = Red (Default) +$hue:int = 0 +$rainbow:int = 0 +$disableBeams:int = 0 + +[Preset] +name = Blue +$hue:int = 225 +$rainbow:int = 0 +$disableBeams:int = 0 + +[Preset] +name = Green +$hue:int = 120 +$rainbow:int = 0 +$disableBeams:int = 0 + +[Preset] +name = Yellow +$hue:int = 45 +$rainbow:int = 0 +$disableBeams:int = 0 + +[Preset] +name = Purple +$hue:int = 300 +$rainbow:int = 0 +$disableBeams:int = 0 + +[Preset] +name = Disabled +$hue:int = 0 +$rainbow:int = 0 +$disableBeams:int = 1 + +[Preset] +name = Rainbow +$hue:int = 0 +$rainbow:int = 1 +$disableBeams:int = 0 diff --git a/Modifications/BreathOfTheWild_FPS++/patches.txt b/Modifications/BreathOfTheWild_FPS++/patches.txt index 5c56e076..f75de1f3 100644 --- a/Modifications/BreathOfTheWild_FPS++/patches.txt +++ b/Modifications/BreathOfTheWild_FPS++/patches.txt @@ -1,398 +1,398 @@ -[BotwFPSV208] -moduleMatches = 0x6267BFD0 - -#rodata constants -_float1 = 0x10000670 -_float30 = 0x101E7964 -_convSub = 0x10000BB0 - -#TestCave -codeCaveSize = 0x9C - -_fpsCalc = 0x00000010 -0x00000000 = .float 3 ; Don't edit me! -_lowlimit = 0x00000000 -0x00000004 = .float 62156250 -_busSpeed = 0x00000004 -_currentFPS = 0x00000008 -_speedDiv = 0x0000000C - -0x00000010 = stw r0, 0x78(r30) -0x00000014 = xoris r12, r12, 0x8000 -0x00000018 = stw r12, 0x12C(r30) -0x0000001C = lis r12, 0x4330 -0x00000020 = stw r12, 0x128(r30) -0x00000024 = lfd f10, 0x128(r30) -0x00000028 = lis r12, _convSub@ha -0x0000002C = lfd f12, _convSub@l(r12) -0x00000030 = fsub f10, f10, f12 -0x00000034 = frsp f10, f10 -0x00000038 = lis r12, _float1@ha -0x0000003C = lfs f12, _float1@l(r12) -0x00000040 = fdivs f10, f12, f10 -0x00000044 = lis r12, _busSpeed@ha -0x00000048 = lfs f12, _busSpeed@l(r12) -0x0000004C = fmuls f10, f12, f10 -0x00000050 = lis r12, _currentFPS@ha -0x00000054 = stfs f10, _currentFPS@l(r12) - -0x00000058 = lis r12, _float30@ha -0x0000005C = lfs f12, _float30@l(r12) -0x00000060 = fdivs f7, f12, f10 -0x00000064 = lis r12, _lowlimit@ha -0x00000068 = lfs f12, _lowlimit@l(r12) -0x0000006C = lis r12, _speedDiv@ha -0x00000070 = fcmpu cr0, f7, f12 -0x00000074 = bge .+0x0C - -0x00000078 = stfs f7, _speedDiv@l(r12) -0x0000007C = blr -0x00000080 = stfs f12, _speedDiv@l(r12) -0x00000084 = blr - -_fenceNeg1 = 0x00000084 -0x00000088 = add r6, r12, r0 #orig instruction we are replacing -0x0000008C = cmpwi r6, 500 #check if less than 500 (full sync on those first frames to prevent milk water) -0x00000090 = blt .+0x08 #skip subtract if less than -0x00000094 = subi r6, r6, 1 #do the subtract -0x00000098 = blr #return - -#codeChanges -0x031FA97C = bla _fpsCalc -0x03793328 = nop -0x03793334 = nop -0x03793378 = lis r29, _speedDiv@ha -0x03793380 = lfs f0, _speedDiv@L(r29) -0x0379338C = nop -0x03415C1C = lis r12, _speedDiv@ha -0x03415C24 = lfs f0, _speedDiv@l(r12) -0x03415C2C = nop -0x02D90D2C = lis r10, _currentFPS@ha -0x02D90D30 = lfs f11, _currentFPS@l(r10) -0x02D90D88 = lis r10, _currentFPS@ha -0x02D90D8C = lfs f11, _currentFPS@l(r10) - - -#break all forms of frame limiting -0x031FAAFC = bla _fenceNeg1 ;Best fence (make sure GPU is never more than 1 frame ahead) -;0x031FAAE8 = li r0, 1 ;Better fence (make sure GPU is never more than 1 second? ahead) -;0x031FAB00 = nop ; skip fence (no waiting on GPU) -0x031FACD0 = nop ; disable vsync -0x031FACF4 = nop ; disable vsync loop - -#Cheats -;0x02D90CC0 = fmr f29, f1 ;inf stamina -;0x02D452A4 = nop ;inf hearts -;0x02EB6758 = nop ;inf arrows - -[BotwFPSv176V192] -moduleMatches = 0xFD091F9F,0xD472D8A5 - -#rodata constants -_float1 = 0x10000670 -_float30 = 0x101E78F4 -_convSub = 0x10000BB0 - -#TestCave -codeCaveSize = 0x9C - -_fpsCalc = 0x00000010 -0x00000000 = .float 3 ; Don't edit me! -_lowlimit = 0x00000000 -0x00000004 = .float 62156250 -_busSpeed = 0x00000004 -_currentFPS = 0x00000008 -_speedDiv = 0x0000000C - -0x00000010 = stw r0, 0x78(r30) -0x00000014 = xoris r12, r12, 0x8000 -0x00000018 = stw r12, 0x12C(r30) -0x0000001C = lis r12, 0x4330 -0x00000020 = stw r12, 0x128(r30) -0x00000024 = lfd f10, 0x128(r30) -0x00000028 = lis r12, _convSub@ha -0x0000002C = lfd f12, _convSub@l(r12) -0x00000030 = fsub f10, f10, f12 -0x00000034 = frsp f10, f10 -0x00000038 = lis r12, _float1@ha -0x0000003C = lfs f12, _float1@l(r12) -0x00000040 = fdivs f10, f12, f10 -0x00000044 = lis r12, _busSpeed@ha -0x00000048 = lfs f12, _busSpeed@l(r12) -0x0000004C = fmuls f10, f12, f10 -0x00000050 = lis r12, _currentFPS@ha -0x00000054 = stfs f10, _currentFPS@l(r12) - -0x00000058 = lis r12, _float30@ha -0x0000005C = lfs f12, _float30@l(r12) -0x00000060 = fdivs f7, f12, f10 -0x00000064 = lis r12, _lowlimit@ha -0x00000068 = lfs f12, _lowlimit@l(r12) -0x0000006C = lis r12, _speedDiv@ha -0x00000070 = fcmpu cr0, f7, f12 -0x00000074 = bge .+0x0C - -0x00000078 = stfs f7, _speedDiv@l(r12) -0x0000007C = blr -0x00000080 = stfs f12, _speedDiv@l(r12) -0x00000084 = blr - -_fenceNeg1 = 0x00000084 -0x00000088 = add r6, r12, r0 #orig instruction we are replacing -0x0000008C = cmpwi r6, 500 #check if less than 500 (full sync on those first frames to prevent milk water) -0x00000090 = blt .+0x08 #skip subtract if less than -0x00000094 = subi r6, r6, 1 #do the subtract -0x00000098 = blr #return - -#codeChanges -0x031F9E80 = bla _fpsCalc -0x03792620 = nop -0x0379262C = nop -0x03792670 = lis r29, _speedDiv@ha -0x03792678 = lfs f0, _speedDiv@L(r29) -0x03792684 = nop -0x03414EF8 = lis r12, _speedDiv@ha -0x03414F00 = lfs f0, _speedDiv@l(r12) -0x03414F08 = nop -0x02D90790 = lis r10, _currentFPS@ha -0x02D90794 = lfs f11, _currentFPS@l(r10) -0x02D907EC = lis r10, _currentFPS@ha -0x02D907F0 = lfs f11, _currentFPS@l(r10) - - -#break all forms of frame limiting -0x031FA000 = bla _fenceNeg1 ;Best fence (make sure GPU is never more than 1 frame ahead) -;0x031F9FEC = li r0, 1 ;Better fence (make sure GPU is never more than 1 second? ahead) -;0x031FA004 = nop ; skip fence (no waiting on GPU) -0x031FA1D4 = nop ; disable vsync -0x031FA1F8 = nop ; disable vsync loop - -#Cheats -;0x02D90724 = fmr f29, f1 ;inf stamina -;0x02D44D44 = nop ;inf hearts -;0x02EB61BC = nop ;inf arrows - -[Botw60fpsv144] -moduleMatches = 0x9A2CA0C7 - -#rodata constants - -_float1 = 0x1027AB80 -_float3 = 0x100005DC - -#TestCave -codeCaveSize = 0x9C - -_fpsCalc = 0x00000008 -0x00000000 = .float 3 ;edit me -_lowlimit = 0x00000000 -0x00000004 = .float 6294724 -_busSpeed = 0x00000004 -0x00000008 = stw r0, 0x78(r30) -0x0000000C = xoris r12, r12, 0x8000 -0x00000010 = stw r12, 0x12C(r30) -0x00000014 = lis r12, 0x4330 -0x00000018 = stw r12, 0x128(r30) -0x0000001C = lfd f10, 0x128(r30) -0x00000020 = stw r12, 0x138(r30) -0x00000024 = lis r12, 0x8000 -0x00000028 = stw r12, 0x13C(r30) -0x0000002C = lfd f12, 0x138(r30) -0x00000030 = fsub f10, f10, f12 -0x00000034 = frsp f10, f10 -0x00000038 = lis r12, _float1@ha -0x0000003C = lfs f12, _float1@l(r12) -0x00000040 = fdivs f10, f12, f10 -0x00000048 = lis r12, _busSpeed@ha -0x0000004C = lfs f12, _busSpeed@l(r12) -0x00000050 = fmuls f10, f12, f10 -0x00000054 = lis r12, _float3@ha -0x00000058 = lfs f12, _float3@l(r12) -0x0000005C = fdivs f7, f12, f10 -0x00000060 = lis r12, _lowlimit@ha -0x00000064 = lfs f12, _lowlimit@l(r12) -0x00000068 = fcmpu cr0, f7, f12 -0x0000006C = bge .+0x0C -0x00000070 = stfs f7, 0x130(r30) -0x00000074 = blr -0x00000078 = stfs f12, 0x130(r30) -0x0000007C = blr - -_fullspeed = 0x00000080 -0x00000080 = lis r3, 0x112A -0x00000084 = lis r12, 0xF634 -0x00000088 = srawi r12, r12, 0x10 -0x0000008c = xoris r12, r12, 0xFFFF -0x00000090 = or r3, r3, r12 -0x00000094 = lfs f0, 0x0(r3) -0x00000098 = blr - -#Branch -0x03102688 = bla _fpsCalc -0x03686FA0 = nop -0x03686FAC = nop -0x03686FF0 = bla _fullspeed -0x03313C4C = bla _fullspeed - -#break all forms of frame limiting -0x03102808 = nop ;disables gx2 fence -0x031029DC = nop ;disables wait for vsync -0x03102A00 = nop ;same -0x03102E10 = li r0, 1;the original 60FPS hack -0x03102DCC = li r0, 1; same - -#experimental -;0x02FAA8E4 = li r3, 0 ;sets swap interval to 0 -;0x02FAA98C = li r3, 0 ;same -;0x02FB2E50 = li r7, 1 ;sets GX2SetTVBuffer to 1 -;0x02FB30A0 = li r7, 1 ;same - -[Botw60fpsv112] -moduleMatches = 0x6FD41A61 - -#rodata constants - -_float1 = 0x1026E518 -_float3 = 0x100005D4 - -#TestCave -codeCaveSize = 0x9C - -_fpsCalc = 0x00000008 -0x00000000 = .float 3 ;edit me -_lowlimit = 0x00000000 -0x00000004 = .float 6294724 -_busSpeed = 0x00000004 -0x00000008 = stw r0, 0x78(r30) -0x0000000C = xoris r12, r12, 0x8000 -0x00000010 = stw r12, 0x12C(r30) -0x00000014 = lis r12, 0x4330 -0x00000018 = stw r12, 0x128(r30) -0x0000001C = lfd f10, 0x128(r30) -0x00000020 = stw r12, 0x138(r30) -0x00000024 = lis r12, 0x8000 -0x00000028 = stw r12, 0x13C(r30) -0x0000002C = lfd f12, 0x138(r30) -0x00000030 = fsub f10, f10, f12 -0x00000034 = frsp f10, f10 -0x00000038 = lis r12, _float1@ha -0x0000003C = lfs f12, _float1@l(r12) -0x00000040 = fdivs f10, f12, f10 -0x00000048 = lis r12, _busSpeed@ha -0x0000004C = lfs f12, _busSpeed@l(r12) -0x00000050 = fmuls f10, f12, f10 -0x00000054 = lis r12, _float3@ha -0x00000058 = lfs f12, _float3@l(r12) -0x0000005C = fdivs f7, f12, f10 -0x00000060 = lis r12, _lowlimit@ha -0x00000064 = lfs f12, _lowlimit@l(r12) -0x00000068 = fcmpu cr0, f7, f12 -0x0000006C = bge .+0x0C -0x00000070 = stfs f7, 0x130(r30) -0x00000074 = blr -0x00000078 = stfs f12, 0x130(r30) -0x0000007C = blr - -_fullspeed = 0x00000080 -0x00000080 = lis r3, 0x1126 -0x00000084 = lis r12, 0xB42C -0x00000088 = srawi r12, r12, 0x10 -0x0000008c = xoris r12, r12, 0xFFFF -0x00000090 = or r3, r3, r12 -0x00000094 = lfs f0, 0x0(r3) -0x00000098 = blr - -#Branch -0x030D5080 = bla _fpsCalc -0x03653634 = nop -0x03653640 = nop -0x03653684 = bla _fullspeed -0x032E4130 = bla _fullspeed - -#break all forms of frame limiting -0x030D5200 = nop ;comment out this line with ';' at the beginning to disable gpufenceskip -0x030D53D4 = nop -0x030D53f8 = nop -0x030D5808 = li r0, 1 -0x030D57C4 = li r0, 1 - -#experimental -;0x02F7ECB8 = li r3, 0 -;0x02F7ED60 = li r3, 0 -;0x02F87224 = li r7, 1 -;0x02F87474 = li r7, 1 - -[Botw60fpsv97] -moduleMatches = 0xD71D859D - -#rodata constants - -_float1 = 0x10000660 -_float3 = 0x100031fC - -#TestCave -codeCaveSize = 0x9C - -_fpsCalc = 0x00000008 -0x00000000 = .float 3 ;edit me -_lowlimit = 0x00000000 -0x00000004 = .float 6294724 -_busSpeed = 0x00000004 -0x00000008 = stw r0, 0x78(r30) -0x0000000C = xoris r12, r12, 0x8000 -0x00000010 = stw r12, 0x12C(r30) -0x00000014 = lis r12, 0x4330 -0x00000018 = stw r12, 0x128(r30) -0x0000001C = lfd f10, 0x128(r30) -0x00000020 = stw r12, 0x138(r30) -0x00000024 = lis r12, 0x8000 -0x00000028 = stw r12, 0x13C(r30) -0x0000002C = lfd f12, 0x138(r30) -0x00000030 = fsub f10, f10, f12 -0x00000034 = frsp f10, f10 -0x00000038 = lis r12, _float1@ha -0x0000003C = lfs f12, _float1@l(r12) -0x00000040 = fdivs f10, f12, f10 -0x00000048 = lis r12, _busSpeed@ha -0x0000004C = lfs f12, _busSpeed@l(r12) -0x00000050 = fmuls f10, f12, f10 -0x00000054 = lis r12, _float3@ha -0x00000058 = lfs f12, _float3@l(r12) -0x0000005C = fdivs f7, f12, f10 -0x00000060 = lis r12, _lowlimit@ha -0x00000064 = lfs f12, _lowlimit@l(r12) -0x00000068 = fcmpu cr0, f7, f12 -0x0000006C = bge .+0x0C -0x00000070 = stfs f7, 0x130(r30) -0x00000074 = blr -0x00000078 = stfs f12, 0x130(r30) -0x0000007C = blr - -_fullspeed = 0x00000080 -0x00000080 = lis r3, 0x1126 -0x00000084 = lis r12, 0xA824 -0x00000088 = srawi r12, r12, 0x10 -0x0000008c = xoris r12, r12, 0xFFFF -0x00000090 = or r3, r3, r12 -0x00000094 = lfs f0, 0x0(r3) -0x00000098 = blr - -#Branch -0x030D4120 = bla _fpsCalc -0x03652620 = nop -0x0365262C = nop -0x03652670 = bla _fullspeed -0x032E31D0 = bla _fullspeed - -#break all forms of frame limiting -0x030D42A0 = nop ;comment out this line with ';' at the beginning to disable gpufenceskip -0x030D4474 = nop -0x030D4498 = nop -0x030D48A8 = li r0, 1 -0x030D4864 = li r0, 1 - -#experimental -;0x02F7DD58 = li r3, 0 -;0x02F7DE00 = li r3, 0 -;0x02F862C4 = li r7, 1 -;0x02F86514 = li r7, 1 +[BotwFPSV208] +moduleMatches = 0x6267BFD0 + +#rodata constants +_float1 = 0x10000670 +_float30 = 0x101E7964 +_convSub = 0x10000BB0 + +#TestCave +codeCaveSize = 0x9C + +_fpsCalc = 0x00000010 +0x00000000 = .float 3 ; Don't edit me! +_lowlimit = 0x00000000 +0x00000004 = .float 62156250 +_busSpeed = 0x00000004 +_currentFPS = 0x00000008 +_speedDiv = 0x0000000C + +0x00000010 = stw r0, 0x78(r30) +0x00000014 = xoris r12, r12, 0x8000 +0x00000018 = stw r12, 0x12C(r30) +0x0000001C = lis r12, 0x4330 +0x00000020 = stw r12, 0x128(r30) +0x00000024 = lfd f10, 0x128(r30) +0x00000028 = lis r12, _convSub@ha +0x0000002C = lfd f12, _convSub@l(r12) +0x00000030 = fsub f10, f10, f12 +0x00000034 = frsp f10, f10 +0x00000038 = lis r12, _float1@ha +0x0000003C = lfs f12, _float1@l(r12) +0x00000040 = fdivs f10, f12, f10 +0x00000044 = lis r12, _busSpeed@ha +0x00000048 = lfs f12, _busSpeed@l(r12) +0x0000004C = fmuls f10, f12, f10 +0x00000050 = lis r12, _currentFPS@ha +0x00000054 = stfs f10, _currentFPS@l(r12) + +0x00000058 = lis r12, _float30@ha +0x0000005C = lfs f12, _float30@l(r12) +0x00000060 = fdivs f7, f12, f10 +0x00000064 = lis r12, _lowlimit@ha +0x00000068 = lfs f12, _lowlimit@l(r12) +0x0000006C = lis r12, _speedDiv@ha +0x00000070 = fcmpu cr0, f7, f12 +0x00000074 = bge .+0x0C + +0x00000078 = stfs f7, _speedDiv@l(r12) +0x0000007C = blr +0x00000080 = stfs f12, _speedDiv@l(r12) +0x00000084 = blr + +_fenceNeg1 = 0x00000084 +0x00000088 = add r6, r12, r0 #orig instruction we are replacing +0x0000008C = cmpwi r6, 500 #check if less than 500 (full sync on those first frames to prevent milk water) +0x00000090 = blt .+0x08 #skip subtract if less than +0x00000094 = subi r6, r6, 1 #do the subtract +0x00000098 = blr #return + +#codeChanges +0x031FA97C = bla _fpsCalc +0x03793328 = nop +0x03793334 = nop +0x03793378 = lis r29, _speedDiv@ha +0x03793380 = lfs f0, _speedDiv@L(r29) +0x0379338C = nop +0x03415C1C = lis r12, _speedDiv@ha +0x03415C24 = lfs f0, _speedDiv@l(r12) +0x03415C2C = nop +0x02D90D2C = lis r10, _currentFPS@ha +0x02D90D30 = lfs f11, _currentFPS@l(r10) +0x02D90D88 = lis r10, _currentFPS@ha +0x02D90D8C = lfs f11, _currentFPS@l(r10) + + +#break all forms of frame limiting +0x031FAAFC = bla _fenceNeg1 ;Best fence (make sure GPU is never more than 1 frame ahead) +;0x031FAAE8 = li r0, 1 ;Better fence (make sure GPU is never more than 1 second? ahead) +;0x031FAB00 = nop ; skip fence (no waiting on GPU) +0x031FACD0 = nop ; disable vsync +0x031FACF4 = nop ; disable vsync loop + +#Cheats +;0x02D90CC0 = fmr f29, f1 ;inf stamina +;0x02D452A4 = nop ;inf hearts +;0x02EB6758 = nop ;inf arrows + +[BotwFPSv176V192] +moduleMatches = 0xFD091F9F,0xD472D8A5 + +#rodata constants +_float1 = 0x10000670 +_float30 = 0x101E78F4 +_convSub = 0x10000BB0 + +#TestCave +codeCaveSize = 0x9C + +_fpsCalc = 0x00000010 +0x00000000 = .float 3 ; Don't edit me! +_lowlimit = 0x00000000 +0x00000004 = .float 62156250 +_busSpeed = 0x00000004 +_currentFPS = 0x00000008 +_speedDiv = 0x0000000C + +0x00000010 = stw r0, 0x78(r30) +0x00000014 = xoris r12, r12, 0x8000 +0x00000018 = stw r12, 0x12C(r30) +0x0000001C = lis r12, 0x4330 +0x00000020 = stw r12, 0x128(r30) +0x00000024 = lfd f10, 0x128(r30) +0x00000028 = lis r12, _convSub@ha +0x0000002C = lfd f12, _convSub@l(r12) +0x00000030 = fsub f10, f10, f12 +0x00000034 = frsp f10, f10 +0x00000038 = lis r12, _float1@ha +0x0000003C = lfs f12, _float1@l(r12) +0x00000040 = fdivs f10, f12, f10 +0x00000044 = lis r12, _busSpeed@ha +0x00000048 = lfs f12, _busSpeed@l(r12) +0x0000004C = fmuls f10, f12, f10 +0x00000050 = lis r12, _currentFPS@ha +0x00000054 = stfs f10, _currentFPS@l(r12) + +0x00000058 = lis r12, _float30@ha +0x0000005C = lfs f12, _float30@l(r12) +0x00000060 = fdivs f7, f12, f10 +0x00000064 = lis r12, _lowlimit@ha +0x00000068 = lfs f12, _lowlimit@l(r12) +0x0000006C = lis r12, _speedDiv@ha +0x00000070 = fcmpu cr0, f7, f12 +0x00000074 = bge .+0x0C + +0x00000078 = stfs f7, _speedDiv@l(r12) +0x0000007C = blr +0x00000080 = stfs f12, _speedDiv@l(r12) +0x00000084 = blr + +_fenceNeg1 = 0x00000084 +0x00000088 = add r6, r12, r0 #orig instruction we are replacing +0x0000008C = cmpwi r6, 500 #check if less than 500 (full sync on those first frames to prevent milk water) +0x00000090 = blt .+0x08 #skip subtract if less than +0x00000094 = subi r6, r6, 1 #do the subtract +0x00000098 = blr #return + +#codeChanges +0x031F9E80 = bla _fpsCalc +0x03792620 = nop +0x0379262C = nop +0x03792670 = lis r29, _speedDiv@ha +0x03792678 = lfs f0, _speedDiv@L(r29) +0x03792684 = nop +0x03414EF8 = lis r12, _speedDiv@ha +0x03414F00 = lfs f0, _speedDiv@l(r12) +0x03414F08 = nop +0x02D90790 = lis r10, _currentFPS@ha +0x02D90794 = lfs f11, _currentFPS@l(r10) +0x02D907EC = lis r10, _currentFPS@ha +0x02D907F0 = lfs f11, _currentFPS@l(r10) + + +#break all forms of frame limiting +0x031FA000 = bla _fenceNeg1 ;Best fence (make sure GPU is never more than 1 frame ahead) +;0x031F9FEC = li r0, 1 ;Better fence (make sure GPU is never more than 1 second? ahead) +;0x031FA004 = nop ; skip fence (no waiting on GPU) +0x031FA1D4 = nop ; disable vsync +0x031FA1F8 = nop ; disable vsync loop + +#Cheats +;0x02D90724 = fmr f29, f1 ;inf stamina +;0x02D44D44 = nop ;inf hearts +;0x02EB61BC = nop ;inf arrows + +[Botw60fpsv144] +moduleMatches = 0x9A2CA0C7 + +#rodata constants + +_float1 = 0x1027AB80 +_float3 = 0x100005DC + +#TestCave +codeCaveSize = 0x9C + +_fpsCalc = 0x00000008 +0x00000000 = .float 3 ;edit me +_lowlimit = 0x00000000 +0x00000004 = .float 6294724 +_busSpeed = 0x00000004 +0x00000008 = stw r0, 0x78(r30) +0x0000000C = xoris r12, r12, 0x8000 +0x00000010 = stw r12, 0x12C(r30) +0x00000014 = lis r12, 0x4330 +0x00000018 = stw r12, 0x128(r30) +0x0000001C = lfd f10, 0x128(r30) +0x00000020 = stw r12, 0x138(r30) +0x00000024 = lis r12, 0x8000 +0x00000028 = stw r12, 0x13C(r30) +0x0000002C = lfd f12, 0x138(r30) +0x00000030 = fsub f10, f10, f12 +0x00000034 = frsp f10, f10 +0x00000038 = lis r12, _float1@ha +0x0000003C = lfs f12, _float1@l(r12) +0x00000040 = fdivs f10, f12, f10 +0x00000048 = lis r12, _busSpeed@ha +0x0000004C = lfs f12, _busSpeed@l(r12) +0x00000050 = fmuls f10, f12, f10 +0x00000054 = lis r12, _float3@ha +0x00000058 = lfs f12, _float3@l(r12) +0x0000005C = fdivs f7, f12, f10 +0x00000060 = lis r12, _lowlimit@ha +0x00000064 = lfs f12, _lowlimit@l(r12) +0x00000068 = fcmpu cr0, f7, f12 +0x0000006C = bge .+0x0C +0x00000070 = stfs f7, 0x130(r30) +0x00000074 = blr +0x00000078 = stfs f12, 0x130(r30) +0x0000007C = blr + +_fullspeed = 0x00000080 +0x00000080 = lis r3, 0x112A +0x00000084 = lis r12, 0xF634 +0x00000088 = srawi r12, r12, 0x10 +0x0000008c = xoris r12, r12, 0xFFFF +0x00000090 = or r3, r3, r12 +0x00000094 = lfs f0, 0x0(r3) +0x00000098 = blr + +#Branch +0x03102688 = bla _fpsCalc +0x03686FA0 = nop +0x03686FAC = nop +0x03686FF0 = bla _fullspeed +0x03313C4C = bla _fullspeed + +#break all forms of frame limiting +0x03102808 = nop ;disables gx2 fence +0x031029DC = nop ;disables wait for vsync +0x03102A00 = nop ;same +0x03102E10 = li r0, 1;the original 60FPS hack +0x03102DCC = li r0, 1; same + +#experimental +;0x02FAA8E4 = li r3, 0 ;sets swap interval to 0 +;0x02FAA98C = li r3, 0 ;same +;0x02FB2E50 = li r7, 1 ;sets GX2SetTVBuffer to 1 +;0x02FB30A0 = li r7, 1 ;same + +[Botw60fpsv112] +moduleMatches = 0x6FD41A61 + +#rodata constants + +_float1 = 0x1026E518 +_float3 = 0x100005D4 + +#TestCave +codeCaveSize = 0x9C + +_fpsCalc = 0x00000008 +0x00000000 = .float 3 ;edit me +_lowlimit = 0x00000000 +0x00000004 = .float 6294724 +_busSpeed = 0x00000004 +0x00000008 = stw r0, 0x78(r30) +0x0000000C = xoris r12, r12, 0x8000 +0x00000010 = stw r12, 0x12C(r30) +0x00000014 = lis r12, 0x4330 +0x00000018 = stw r12, 0x128(r30) +0x0000001C = lfd f10, 0x128(r30) +0x00000020 = stw r12, 0x138(r30) +0x00000024 = lis r12, 0x8000 +0x00000028 = stw r12, 0x13C(r30) +0x0000002C = lfd f12, 0x138(r30) +0x00000030 = fsub f10, f10, f12 +0x00000034 = frsp f10, f10 +0x00000038 = lis r12, _float1@ha +0x0000003C = lfs f12, _float1@l(r12) +0x00000040 = fdivs f10, f12, f10 +0x00000048 = lis r12, _busSpeed@ha +0x0000004C = lfs f12, _busSpeed@l(r12) +0x00000050 = fmuls f10, f12, f10 +0x00000054 = lis r12, _float3@ha +0x00000058 = lfs f12, _float3@l(r12) +0x0000005C = fdivs f7, f12, f10 +0x00000060 = lis r12, _lowlimit@ha +0x00000064 = lfs f12, _lowlimit@l(r12) +0x00000068 = fcmpu cr0, f7, f12 +0x0000006C = bge .+0x0C +0x00000070 = stfs f7, 0x130(r30) +0x00000074 = blr +0x00000078 = stfs f12, 0x130(r30) +0x0000007C = blr + +_fullspeed = 0x00000080 +0x00000080 = lis r3, 0x1126 +0x00000084 = lis r12, 0xB42C +0x00000088 = srawi r12, r12, 0x10 +0x0000008c = xoris r12, r12, 0xFFFF +0x00000090 = or r3, r3, r12 +0x00000094 = lfs f0, 0x0(r3) +0x00000098 = blr + +#Branch +0x030D5080 = bla _fpsCalc +0x03653634 = nop +0x03653640 = nop +0x03653684 = bla _fullspeed +0x032E4130 = bla _fullspeed + +#break all forms of frame limiting +0x030D5200 = nop ;comment out this line with ';' at the beginning to disable gpufenceskip +0x030D53D4 = nop +0x030D53f8 = nop +0x030D5808 = li r0, 1 +0x030D57C4 = li r0, 1 + +#experimental +;0x02F7ECB8 = li r3, 0 +;0x02F7ED60 = li r3, 0 +;0x02F87224 = li r7, 1 +;0x02F87474 = li r7, 1 + +[Botw60fpsv97] +moduleMatches = 0xD71D859D + +#rodata constants + +_float1 = 0x10000660 +_float3 = 0x100031fC + +#TestCave +codeCaveSize = 0x9C + +_fpsCalc = 0x00000008 +0x00000000 = .float 3 ;edit me +_lowlimit = 0x00000000 +0x00000004 = .float 6294724 +_busSpeed = 0x00000004 +0x00000008 = stw r0, 0x78(r30) +0x0000000C = xoris r12, r12, 0x8000 +0x00000010 = stw r12, 0x12C(r30) +0x00000014 = lis r12, 0x4330 +0x00000018 = stw r12, 0x128(r30) +0x0000001C = lfd f10, 0x128(r30) +0x00000020 = stw r12, 0x138(r30) +0x00000024 = lis r12, 0x8000 +0x00000028 = stw r12, 0x13C(r30) +0x0000002C = lfd f12, 0x138(r30) +0x00000030 = fsub f10, f10, f12 +0x00000034 = frsp f10, f10 +0x00000038 = lis r12, _float1@ha +0x0000003C = lfs f12, _float1@l(r12) +0x00000040 = fdivs f10, f12, f10 +0x00000048 = lis r12, _busSpeed@ha +0x0000004C = lfs f12, _busSpeed@l(r12) +0x00000050 = fmuls f10, f12, f10 +0x00000054 = lis r12, _float3@ha +0x00000058 = lfs f12, _float3@l(r12) +0x0000005C = fdivs f7, f12, f10 +0x00000060 = lis r12, _lowlimit@ha +0x00000064 = lfs f12, _lowlimit@l(r12) +0x00000068 = fcmpu cr0, f7, f12 +0x0000006C = bge .+0x0C +0x00000070 = stfs f7, 0x130(r30) +0x00000074 = blr +0x00000078 = stfs f12, 0x130(r30) +0x0000007C = blr + +_fullspeed = 0x00000080 +0x00000080 = lis r3, 0x1126 +0x00000084 = lis r12, 0xA824 +0x00000088 = srawi r12, r12, 0x10 +0x0000008c = xoris r12, r12, 0xFFFF +0x00000090 = or r3, r3, r12 +0x00000094 = lfs f0, 0x0(r3) +0x00000098 = blr + +#Branch +0x030D4120 = bla _fpsCalc +0x03652620 = nop +0x0365262C = nop +0x03652670 = bla _fullspeed +0x032E31D0 = bla _fullspeed + +#break all forms of frame limiting +0x030D42A0 = nop ;comment out this line with ';' at the beginning to disable gpufenceskip +0x030D4474 = nop +0x030D4498 = nop +0x030D48A8 = li r0, 1 +0x030D4864 = li r0, 1 + +#experimental +;0x02F7DD58 = li r3, 0 +;0x02F7DE00 = li r3, 0 +;0x02F862C4 = li r7, 1 +;0x02F86514 = li r7, 1 diff --git a/Modifications/BreathOfTheWild_FPS++/rules.txt b/Modifications/BreathOfTheWild_FPS++/rules.txt index 9f34e1dd..57866654 100644 --- a/Modifications/BreathOfTheWild_FPS++/rules.txt +++ b/Modifications/BreathOfTheWild_FPS++/rules.txt @@ -1,4 +1,6 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - FPS++" -version = 2 +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Dynamic (FPS++) +path = "The Legend of Zelda: Breath of the Wild/Modifications/Dynamic (FPS++)" +description = "Important: Don't enable Static FPS while having FPS++ also enabled! This pack won't work without Cemuhook, make sure to install that! This pack only works when you've properly updated your game (we always recommend the latest updates). Keep in mind that going above 30fps will bring game bugs. Use Static FPS if you've got a stable framerate and want to get rid of some FPS++ related bugs like arrow distance and some other animation issues." +version = 3 \ No newline at end of file diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/rules.txt b/Modifications/BreathOfTheWild_GlowLightsColorMod/rules.txt deleted file mode 100644 index 9736c2c3..00000000 --- a/Modifications/BreathOfTheWild_GlowLightsColorMod/rules.txt +++ /dev/null @@ -1,22 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - Glow Lights Color Mod" -version = 2 - -# This pack can be used to change the color of (most) glowing objects in the game, including the Sheikah Towers, Shrines (inside and outside), bombs, and others. -# The pack is designed to take advantage of the duality of the main colors. It is intended to be customizable. -# On each and every shader you will find values you can adjust. My suggestion is to use any tool that can search and replace in multiple files and use the same parameters in all files. -# Be aware that some shaders affect both the "On" and the "Off" color of some objects (ex: the open/closed chests in shrines) -# Also be aware that this pack changes the color of most lights as well, including orange lights that are not affiliated with the "Off" concept. This is unintended, but I can't do anything about it. -# The default configuration uses a red/green combination of colors. -# Here are some other example values for HUE_ROTATION, with the respective result -# 0 blue/orange -# 60 pink/lime -# 135 red/green -# 200 yellow/cyan -# 270 green/magenta -# 330 cyan/pink -# -# Shaders dumped from Cemu 1.11.0b and BotW 1.3.1 -# Pack made by Kiri -# Have fun with it \ No newline at end of file diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/0453fb7ad9cc0f79_0000000000003849_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/0453fb7ad9cc0f79_0000000000003849_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/0453fb7ad9cc0f79_0000000000003849_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/0453fb7ad9cc0f79_0000000000003849_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/097eac672c26b4a4_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/097eac672c26b4a4_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/097eac672c26b4a4_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/097eac672c26b4a4_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/0ce5fca5c70640d1_0000000000003849_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/0ce5fca5c70640d1_0000000000003849_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/0ce5fca5c70640d1_0000000000003849_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/0ce5fca5c70640d1_0000000000003849_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/12fe44a2273b452c_000000000000001c_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/12fe44a2273b452c_000000000000001c_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/12fe44a2273b452c_000000000000001c_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/12fe44a2273b452c_000000000000001c_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/146164991e2929e2_0000000000000709_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/146164991e2929e2_0000000000000709_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/146164991e2929e2_0000000000000709_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/146164991e2929e2_0000000000000709_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/14f5a7cf99f2904a_00000000000000f1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/14f5a7cf99f2904a_00000000000000f1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/14f5a7cf99f2904a_00000000000000f1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/14f5a7cf99f2904a_00000000000000f1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/15e2d4f74a5e8445_000000000000001c_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/15e2d4f74a5e8445_000000000000001c_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/15e2d4f74a5e8445_000000000000001c_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/15e2d4f74a5e8445_000000000000001c_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/1dd8be9054c94f4e_0000000000003849_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/1dd8be9054c94f4e_0000000000003849_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/1dd8be9054c94f4e_0000000000003849_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/1dd8be9054c94f4e_0000000000003849_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/233a000439032e75_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/233a000439032e75_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/233a000439032e75_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/233a000439032e75_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/266a0d760fe1ddfc_0000000000003849_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/266a0d760fe1ddfc_0000000000003849_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/266a0d760fe1ddfc_0000000000003849_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/266a0d760fe1ddfc_0000000000003849_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/2a045e62b99640b5_00000001e1e21c49_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/2a045e62b99640b5_00000001e1e21c49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/2a045e62b99640b5_00000001e1e21c49_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/2a045e62b99640b5_00000001e1e21c49_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/2a87149b7154c69d_000000000001c24b_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/2a87149b7154c69d_000000000001c24b_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/2a87149b7154c69d_000000000001c24b_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/2a87149b7154c69d_000000000001c24b_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/2f64af19b1835ab0_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/2f64af19b1835ab0_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/2f64af19b1835ab0_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/2f64af19b1835ab0_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/319e60116b59ceec_00000001e1e1fe49_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/319e60116b59ceec_00000001e1e1fe49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/319e60116b59ceec_00000001e1e1fe49_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/319e60116b59ceec_00000001e1e1fe49_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/38d70ed9280bb3bc_0000000000000079_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/38d70ed9280bb3bc_0000000000000079_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/38d70ed9280bb3bc_0000000000000079_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/38d70ed9280bb3bc_0000000000000079_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/3d383d2d61500c9c_0000000f0f0ff249_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/3d383d2d61500c9c_0000000f0f0ff249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/3d383d2d61500c9c_0000000f0f0ff249_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/3d383d2d61500c9c_0000000f0f0ff249_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/42c9208b54ad72ca_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/42c9208b54ad72ca_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/42c9208b54ad72ca_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/42c9208b54ad72ca_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/458dd826bd589332_0000000000000709_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/458dd826bd589332_0000000000000709_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/458dd826bd589332_0000000000000709_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/458dd826bd589332_0000000000000709_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/48a94cda336d2976_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/48a94cda336d2976_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/48a94cda336d2976_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/48a94cda336d2976_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/4af8a4670205be4c_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/4af8a4670205be4c_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/4af8a4670205be4c_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/4af8a4670205be4c_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/4bdac25bb98f5804_0000000000003849_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/4bdac25bb98f5804_0000000000003849_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/4bdac25bb98f5804_0000000000003849_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/4bdac25bb98f5804_0000000000003849_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/5219277e990fe5ba_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/5219277e990fe5ba_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/5219277e990fe5ba_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/5219277e990fe5ba_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/5b04d28f319a1d6d_0000000f0f0ff249_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/5b04d28f319a1d6d_0000000f0f0ff249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/5b04d28f319a1d6d_0000000f0f0ff249_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/5b04d28f319a1d6d_0000000f0f0ff249_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/5b9b7727ca24e22b_0000000000000709_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/5b9b7727ca24e22b_0000000000000709_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/5b9b7727ca24e22b_0000000000000709_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/5b9b7727ca24e22b_0000000000000709_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/5f4e60117b59cf65_00000001e1e1fe49_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/5f4e60117b59cf65_00000001e1e1fe49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/5f4e60117b59cf65_00000001e1e1fe49_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/5f4e60117b59cf65_00000001e1e1fe49_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/603d7ad06d86617e_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/603d7ad06d86617e_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/603d7ad06d86617e_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/603d7ad06d86617e_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/6240983542445009_00000001e1e21c49_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/6240983542445009_00000001e1e21c49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/6240983542445009_00000001e1e21c49_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/6240983542445009_00000001e1e21c49_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/64342503518ca97a_0000000000000709_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/64342503518ca97a_0000000000000709_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/64342503518ca97a_0000000000000709_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/64342503518ca97a_0000000000000709_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/6832b00344c32a71_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/6832b00344c32a71_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/6832b00344c32a71_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/6832b00344c32a71_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/687da8c1b555b262_0000000000003849_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/687da8c1b555b262_0000000000003849_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/687da8c1b555b262_0000000000003849_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/687da8c1b555b262_0000000000003849_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/68aa37ce58db094d_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/68aa37ce58db094d_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/68aa37ce58db094d_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/68aa37ce58db094d_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/70a79265ab7d498a_0000000f0f10e249_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/70a79265ab7d498a_0000000f0f10e249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/70a79265ab7d498a_0000000f0f10e249_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/70a79265ab7d498a_0000000f0f10e249_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/70d96b85a0ce93ef_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/70d96b85a0ce93ef_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/70d96b85a0ce93ef_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/70d96b85a0ce93ef_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/751393d6cbcd0c76_000003c3c3fc9249_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/751393d6cbcd0c76_000003c3c3fc9249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/751393d6cbcd0c76_000003c3c3fc9249_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/751393d6cbcd0c76_000003c3c3fc9249_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/80b87385a0d2942f_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/80b87385a0d2942f_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/80b87385a0d2942f_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/80b87385a0d2942f_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/81adf9797e4661a7_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/81adf9797e4661a7_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/81adf9797e4661a7_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/81adf9797e4661a7_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/8438998c284fe428_000000000000001c_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/8438998c284fe428_000000000000001c_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/8438998c284fe428_000000000000001c_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/8438998c284fe428_000000000000001c_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/87790fa17c847fea_0000000000000709_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/87790fa17c847fea_0000000000000709_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/87790fa17c847fea_0000000000000709_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/87790fa17c847fea_0000000000000709_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/8798144a6f066e7c_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/8798144a6f066e7c_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/8798144a6f066e7c_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/8798144a6f066e7c_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/87babe7569572ff5_0000000000003849_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/87babe7569572ff5_0000000000003849_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/87babe7569572ff5_0000000000003849_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/87babe7569572ff5_0000000000003849_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/8836c3a20b053cf0_000000000000001c_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/8836c3a20b053cf0_000000000000001c_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/8836c3a20b053cf0_000000000000001c_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/8836c3a20b053cf0_000000000000001c_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/8d0a18894dd0c9cb_0000000000000709_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/8d0a18894dd0c9cb_0000000000000709_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/8d0a18894dd0c9cb_0000000000000709_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/8d0a18894dd0c9cb_0000000000000709_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/8e9e804a3cd384c3_00000000000ff259_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/8e9e804a3cd384c3_00000000000ff259_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/8e9e804a3cd384c3_00000000000ff259_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/8e9e804a3cd384c3_00000000000ff259_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/8fe014235f134ac1_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/8fe014235f134ac1_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/8fe014235f134ac1_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/8fe014235f134ac1_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/99122c964b6a1a19_000000000001fe49_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/99122c964b6a1a19_000000000001fe49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/99122c964b6a1a19_000000000001fe49_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/99122c964b6a1a19_000000000001fe49_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/99fc7f42b65ca284_0000000000000709_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/99fc7f42b65ca284_0000000000000709_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/99fc7f42b65ca284_0000000000000709_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/99fc7f42b65ca284_0000000000000709_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/9aacad682248145f_0000000000000709_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/9aacad682248145f_0000000000000709_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/9aacad682248145f_0000000000000709_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/9aacad682248145f_0000000000000709_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/9c9c75d87bb9b4ef_0000000f0f10e249_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/9c9c75d87bb9b4ef_0000000f0f10e249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/9c9c75d87bb9b4ef_0000000f0f10e249_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/9c9c75d87bb9b4ef_0000000f0f10e249_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColors/Readme.txt b/Modifications/BreathOfTheWild_GlowLightsColors/Readme.txt new file mode 100644 index 00000000..16256a88 --- /dev/null +++ b/Modifications/BreathOfTheWild_GlowLightsColors/Readme.txt @@ -0,0 +1,17 @@ +This pack can be used to change the color of (most) glowing objects in the game, including the Sheikah Towers, Shrines (inside and outside), bombs, and others. +The pack is designed to take advantage of the duality of the main colors. It is intended to be customizable. +On each and every shader you will find values you can adjust. My suggestion is to use any tool that can search and replace in multiple files and use the same parameters in all files. +Be aware that some shaders affect both the "On" and the "Off" color of some objects (ex: the open/closed chests in shrines) +Also be aware that this pack changes the color of most lights as well, including orange lights that are not affiliated with the "Off" concept. This is unintended, but I can't do anything about it. +The default configuration uses a red/green combination of colors. +Here are some other example values for HUE_ROTATION, with the respective result + 0 blue/orange + 60 pink/lime + 135 red/green + 200 yellow/cyan + 270 green/magenta + 330 cyan/pink + +Shaders dumped from Cemu 1.11.0b and BotW 1.3.1 +Pack made by Kiri +Have fun with it \ No newline at end of file diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/a02a462f9ba59f2e_000000003c3c4389_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/a02a462f9ba59f2e_000000003c3c4389_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/a02a462f9ba59f2e_000000003c3c4389_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/a02a462f9ba59f2e_000000003c3c4389_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/a11251f0bffe8631_000000000000001c_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/a11251f0bffe8631_000000000000001c_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/a11251f0bffe8631_000000000000001c_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/a11251f0bffe8631_000000000000001c_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/a54bdb88a57b9be9_0000000000003849_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/a54bdb88a57b9be9_0000000000003849_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/a54bdb88a57b9be9_0000000000003849_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/a54bdb88a57b9be9_0000000000003849_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/a6ea718e4c60e157_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/a6ea718e4c60e157_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/a6ea718e4c60e157_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/a6ea718e4c60e157_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/a6eb708e4b616557_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/a6eb708e4b616557_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/a6eb708e4b616557_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/a6eb708e4b616557_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/a95fbb49ae2c8f46_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/a95fbb49ae2c8f46_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/a95fbb49ae2c8f46_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/a95fbb49ae2c8f46_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/b2cf5924b04ea6a4_0000000f0f0ff249_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/b2cf5924b04ea6a4_0000000f0f0ff249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/b2cf5924b04ea6a4_0000000f0f0ff249_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/b2cf5924b04ea6a4_0000000f0f0ff249_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/b2e1c9ce2f160aab_000000003c3c4389_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/b2e1c9ce2f160aab_000000003c3c4389_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/b2e1c9ce2f160aab_000000003c3c4389_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/b2e1c9ce2f160aab_000000003c3c4389_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/b5b53042daaad65c_00000001e1e21c49_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/b5b53042daaad65c_00000001e1e21c49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/b5b53042daaad65c_00000001e1e21c49_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/b5b53042daaad65c_00000001e1e21c49_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/bc9529a682410603_00000001e1e1fe49_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/bc9529a682410603_00000001e1e1fe49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/bc9529a682410603_00000001e1e1fe49_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/bc9529a682410603_00000001e1e1fe49_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/beb15cab79e5ca5d_000000000000001c_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/beb15cab79e5ca5d_000000000000001c_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/beb15cab79e5ca5d_000000000000001c_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/beb15cab79e5ca5d_000000000000001c_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/bee298edc2f7e315_00000001e1e1fe49_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/bee298edc2f7e315_00000001e1e1fe49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/bee298edc2f7e315_00000001e1e1fe49_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/bee298edc2f7e315_00000001e1e1fe49_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/bf72a1fd35401be2_0000079749255249_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/bf72a1fd35401be2_0000079749255249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/bf72a1fd35401be2_0000079749255249_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/bf72a1fd35401be2_0000079749255249_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/c36b10f0e410def8_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/c36b10f0e410def8_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/c36b10f0e410def8_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/c36b10f0e410def8_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/cb27783c5e10df0e_000000000000001c_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/cb27783c5e10df0e_000000000000001c_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/cb27783c5e10df0e_000000000000001c_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/cb27783c5e10df0e_000000000000001c_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/cc9529ae1a492d03_00000001e1e1fe49_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/cc9529ae1a492d03_00000001e1e1fe49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/cc9529ae1a492d03_00000001e1e1fe49_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/cc9529ae1a492d03_00000001e1e1fe49_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/cd1eba6802df67f7_0000000f0f0ff249_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/cd1eba6802df67f7_0000000f0f0ff249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/cd1eba6802df67f7_0000000f0f0ff249_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/cd1eba6802df67f7_0000000f0f0ff249_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/ce76f7a67517c0b2_000000003c3c4389_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/ce76f7a67517c0b2_000000003c3c4389_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/ce76f7a67517c0b2_000000003c3c4389_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/ce76f7a67517c0b2_000000003c3c4389_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/cf2e9b7aab93e342_000000000001fe49_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/cf2e9b7aab93e342_000000000001fe49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/cf2e9b7aab93e342_000000000001fe49_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/cf2e9b7aab93e342_000000000001fe49_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/d178de668517df1e_000000003c3c4389_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/d178de668517df1e_000000003c3c4389_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/d178de668517df1e_000000003c3c4389_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/d178de668517df1e_000000003c3c4389_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/d3ac3a61f7749326_000000000000001c_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/d3ac3a61f7749326_000000000000001c_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/d3ac3a61f7749326_000000000000001c_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/d3ac3a61f7749326_000000000000001c_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/d48de6ada1e9ad03_00000001e1e1fe49_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/d48de6ada1e9ad03_00000001e1e1fe49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/d48de6ada1e9ad03_00000001e1e1fe49_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/d48de6ada1e9ad03_00000001e1e1fe49_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/db8bc69330c08206_0000000000003849_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/db8bc69330c08206_0000000000003849_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/db8bc69330c08206_0000000000003849_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/db8bc69330c08206_0000000000003849_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/e53233e53de8434f_0000000000000709_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/e53233e53de8434f_0000000000000709_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/e53233e53de8434f_0000000000000709_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/e53233e53de8434f_0000000000000709_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/e95d54571be1c0a9_000000000001fe49_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/e95d54571be1c0a9_000000000001fe49_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/e95d54571be1c0a9_000000000001fe49_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/e95d54571be1c0a9_000000000001fe49_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/f62be0d03546ec39_00000000000000e1_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/f62be0d03546ec39_00000000000000e1_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/f62be0d03546ec39_00000000000000e1_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/f62be0d03546ec39_00000000000000e1_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColorMod/fb135efcb4540fb1_00000078787f9249_ps.txt b/Modifications/BreathOfTheWild_GlowLightsColors/fb135efcb4540fb1_00000078787f9249_ps.txt similarity index 100% rename from Modifications/BreathOfTheWild_GlowLightsColorMod/fb135efcb4540fb1_00000078787f9249_ps.txt rename to Modifications/BreathOfTheWild_GlowLightsColors/fb135efcb4540fb1_00000078787f9249_ps.txt diff --git a/Modifications/BreathOfTheWild_GlowLightsColors/rules.txt b/Modifications/BreathOfTheWild_GlowLightsColors/rules.txt new file mode 100644 index 00000000..d8e327d0 --- /dev/null +++ b/Modifications/BreathOfTheWild_GlowLightsColors/rules.txt @@ -0,0 +1,6 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = "Glow Lights Colors" +path = "The Legend of Zelda: Breath of the Wild/Modifications/Glow Lights Colors" +description = "Changes the color of objects that glow in game, view the readme for more info." +version = 3 diff --git a/Source/BreathOfTheWild_StaticFPS/patches.txt b/Modifications/BreathOfTheWild_StaticFPS/patches.txt similarity index 79% rename from Source/BreathOfTheWild_StaticFPS/patches.txt rename to Modifications/BreathOfTheWild_StaticFPS/patches.txt index 4d2b28fd..6f4f0891 100644 --- a/Source/BreathOfTheWild_StaticFPS/patches.txt +++ b/Modifications/BreathOfTheWild_StaticFPS/patches.txt @@ -1,23 +1,17 @@ - [BotwFPSV208] #i.e. v1.5.0 moduleMatches = 0x6267BFD0 #Cave codeCaveSize = 0x1C -_divisor = 0x0 # edit the next line to change the divisor -0x00000000 = .float # = 30FPS / TARGET FPS, e.g. 30FPS / 18FPS = 1.66667 -_targetfps = 0x18 # edit the next line to change the target fps -0x18 = .float +_divisor = 0x0 # the divisor is set at the next line +0x0 = .float (30 / $targetFPS) # e.g. 30FPS / 18FPS = 1.66667 +_targetfps = 0x18 # the target fps is set at the next line +0x18 = .float $targetFPS #Arrows by Epigramx -0x1001CCAC = .float # = 30 * divisor -0x1001CB18 = .float # = 0.5 / divisor +0x1001CCAC = .float (30 * (30 / $targetFPS)) # = 30 * divisor +0x1001CB18 = .float (0.5 / (30 / $targetFPS)) # = 0.5 / divisor #"Best fence" by Rajkosto _fenceNeg1 = 0x00000004 @@ -69,14 +63,14 @@ moduleMatches = 0xFD091F9F,0xD472D8A5 #Cave codeCaveSize = 0x1C -_divisor = 0x0 # edit the next line to change the divisor -0x00000000 = .float # = 30FPS / TARGET FPS, e.g. 30FPS / 18FPS = 1.66667 -_targetfps = 0x18 # edit the next line to change the target fps -0x18 = .float +_divisor = 0x0 # the divisor is set at the next line +0x0 = .float (30 / $targetFPS) # e.g. 30FPS / 18FPS = 1.66667 +_targetfps = 0x18 # the target fps is set at the next line +0x18 = .float $targetFPS #Arrows by Epigramx -0x1001CCAC = .float # = 30 * divisor -0x1001CB18 = .float # = 0.5 / divisor +0x1001CCAC = .float (30 * (30 / $targetFPS)) # = 30 * divisor +0x1001CB18 = .float (0.5 / (30 / $targetFPS)) # = 0.5 / divisor #"Best fence" by Rajkosto _fenceNeg1 = 0x00000004 diff --git a/Modifications/BreathOfTheWild_StaticFPS/readme.txt b/Modifications/BreathOfTheWild_StaticFPS/readme.txt new file mode 100644 index 00000000..5235ef00 --- /dev/null +++ b/Modifications/BreathOfTheWild_StaticFPS/readme.txt @@ -0,0 +1,16 @@ +This mod is based on a simplification of the fps++ mod by Xalphenos; it drops +dynamic FPS to prevent graphics judder. The Rajkosto "best fence" method +is also included for performance and stability. Judder was easily noticeable +when Link paraglides; the caveat is that one must pick a target FPS which +they can maintain. + +It improves over previous static mods in that it allows ANY positive integer +as a static fps target and it includes the stamina fix. I've also figured out +a fix for the physics of arrow projectiles. + +To use it enable the graphic pack and choose a preset fps target, or edit +the rules.txt file to add a new preset. + +Original forum thread at https://forum.cemu.info/showthread.php/421 + + epigramx diff --git a/Modifications/BreathOfTheWild_StaticFPS/rules.txt b/Modifications/BreathOfTheWild_StaticFPS/rules.txt new file mode 100644 index 00000000..fbac53fe --- /dev/null +++ b/Modifications/BreathOfTheWild_StaticFPS/rules.txt @@ -0,0 +1,97 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = Static FPS +path = "The Legend of Zelda: Breath of the Wild/Modifications/Static FPS" +description = "Simplified FPS++ to prevent graphics judder and fixed arrow physics at non-30FPS; don't mix FPS++ with static; it requires updated Cemuhook and game; it requires that you can maintain the target FPS; more at readme.txt" +version = 3 + +[Preset] +name = Static 30FPS (most stable; ideal for 240/120/60Hz displays) +$targetFPS:int = 30 + +[Preset] +name = Static 60FPS (ideal for 240/120/60Hz displays) +$targetFPS:int = 60 + +[Preset] +name = Static 45FPS +$targetFPS:int = 45 + +[Preset] +name = Static 144FPS (ideal for 144Hz displays) +$targetFPS:int = 144 + +[Preset] +name = Static 120FPS (ideal for 240/120/60Hz displays) +$targetFPS:int = 120 + +[Preset] +name = Static 100FPS (ideal for 200/100Hz displays) +$targetFPS:int = 100 + +[Preset] +name = Static 85FPS (ideal for 85Hz displays) +$targetFPS:int = 85 + +[Preset] +name = Static 75FPS (ideal for 75Hz displays) +$targetFPS:int = 75 + +[Preset] +name = Static 72FPS (ideal for 144Hz displays) +$targetFPS:int = 72 + +[Preset] +name = Static 50FPS (ideal for 200/100Hz displays) +$targetFPS:int = 50 + +[Preset] +name = Static 48FPS (ideal for 144Hz displays) +$targetFPS:int = 48 + +[Preset] +name = Static 40FPS (ideal for 240/120/60Hz displays) +$targetFPS:int = 40 + +[Preset] +name = Static 36FPS (ideal for 144Hz displays) +$targetFPS:int = 36 + +[Preset] +name = Static 25FPS (ideal for 75Hz displays) +$targetFPS:int = 25 + +[Preset] +name = Static 24FPS (ideal for 144Hz displays) +$targetFPS:int = 24 + +[Preset] +name = Static 20FPS (ideal for 240/120/60Hz displays) +$targetFPS:int = 20 + +[Preset] +name = Static 18FPS (ideal for 144Hz displays) +$targetFPS:int = 18 + +[Preset] +name = Static 17FPS (ideal for 85Hz displays) +$targetFPS:int = 17 + +[Preset] +name = Static 16FPS (ideal for 144Hz displays) +$targetFPS:int = 16 + +[Preset] +name = Static 15FPS (ideal for 240/120/60Hz displays) +$targetFPS:int = 15 + +[Preset] +name = Static 12FPS (ideal for 144Hz displays) +$targetFPS:int = 12 + +[Preset] +name = Static 10FPS (ideal for 240/120/60Hz displays) +$targetFPS:int = 10 + +[Control] +vsyncFrequency = $targetFPS diff --git a/Modifications/HyruleWarriors_60FPS/rules.txt b/Modifications/HyruleWarriors_60FPS/rules.txt index d1d3fd35..877fd4ea 100644 --- a/Modifications/HyruleWarriors_60FPS/rules.txt +++ b/Modifications/HyruleWarriors_60FPS/rules.txt @@ -1,4 +1,6 @@ [Definition] titleIds = 000500001017D800,000500001017D900,000500001017CD00 -name = "Hyrule Warriors - 60FPS Fixes (requires stable 60FPS!)" -version = 2 +name = 60FPS Fix +path = "Hyrule Warriors/Modifications/60FPS Fix" +description = "Important: This patches the gameplay to be in 60fps. Getting under 60fps will slow down the game's speed." +version = 3 \ No newline at end of file diff --git a/Modifications/HyruleWarriors_CharacterSwap/patches.txt b/Modifications/HyruleWarriors_CharacterSwap/patches.txt new file mode 100644 index 00000000..c6e942fc --- /dev/null +++ b/Modifications/HyruleWarriors_CharacterSwap/patches.txt @@ -0,0 +1,5 @@ +[HWPlayAsCuccov208] +moduleMatches = 0xE159AE91 + +0x020EBF10 = li r11, $character; +0x020EBF10 = li r11, $character; diff --git a/Modifications/HyruleWarriors_CharacterSwap/rules.txt b/Modifications/HyruleWarriors_CharacterSwap/rules.txt new file mode 100644 index 00000000..e4d29043 --- /dev/null +++ b/Modifications/HyruleWarriors_CharacterSwap/rules.txt @@ -0,0 +1,45 @@ +[Definition] +titleIds = 000500001017D800,000500001017D900,000500001017CD00 +name = "Hyrule Warriors - Character Swap" +version = 3 + +[Preset] +name = Cucco +$character:int = 50 + +[Preset] +name = Ganon +$character:int = 51 + + +# Link = 0 +# Zelda = 1 +# Sheik = 2 +# Impa = 3 +# Ganondorf = 4 +# Darunia = 5 +# Ruto = 6 +# Agitha = 7 +# Midna = 8 +# Fi = 9 +# Ghirahim = 10 +# Zant = 11 +# Lana = 13 +# Cia = 44 +# Volga = 45 +# Wizzro = 46 +# Twilight Midna = 47 +# Young Link = 48 +# Tingle = 49 +# Linkle = 50 +# Skull Kid = 51 +# Toon Link = 52 +# Tetra = 53 +# King Daphnes 54 +# Medli = 55 +# Marin = 56 +# Toon Zelda = 57 +# Ravio = 58 +# Yuga = 59 + +https://github.com/Dekirai/HyruleWarriors-Trainer/blob/23a42b4ad580dfb847d6ef4ebcaa4c7a30df3eea/Hyrule%20Warriors/Form1.cs#L382 \ No newline at end of file diff --git a/Modifications/HyruleWarriors_PlayAsCucco/patches.txt b/Modifications/HyruleWarriors_PlayAsCucco/patches.txt deleted file mode 100644 index 1d353f70..00000000 --- a/Modifications/HyruleWarriors_PlayAsCucco/patches.txt +++ /dev/null @@ -1,4 +0,0 @@ -[HWPlayAsCuccov208] -moduleMatches = 0xE159AE91 - -0x020EBF10 = li r11, 51 ; diff --git a/Modifications/HyruleWarriors_PlayAsCucco/rules.txt b/Modifications/HyruleWarriors_PlayAsCucco/rules.txt deleted file mode 100644 index 03b7ac34..00000000 --- a/Modifications/HyruleWarriors_PlayAsCucco/rules.txt +++ /dev/null @@ -1,5 +0,0 @@ -#Huge thanks to Crementif for helping me! -[Definition] -titleIds = 000500001017D800,000500001017D900,000500001017CD00 -name = "Hyrule Warriors - Play as Cucco" -version = 2 diff --git a/Modifications/HyruleWarriors_PlayAsGanon/patches.txt b/Modifications/HyruleWarriors_PlayAsGanon/patches.txt deleted file mode 100644 index fdf22c40..00000000 --- a/Modifications/HyruleWarriors_PlayAsGanon/patches.txt +++ /dev/null @@ -1,4 +0,0 @@ -[HWPlayAsGanonv208] -moduleMatches = 0xE159AE91 - -0x020EBF10 = li r11, 50 ; diff --git a/Modifications/HyruleWarriors_PlayAsGanon/rules.txt b/Modifications/HyruleWarriors_PlayAsGanon/rules.txt deleted file mode 100644 index 5af487d2..00000000 --- a/Modifications/HyruleWarriors_PlayAsGanon/rules.txt +++ /dev/null @@ -1,5 +0,0 @@ -#Huge thanks to Crementif for helping me! -[Definition] -titleIds = 000500001017D800,000500001017D900,000500001017CD00 -name = "Hyrule Warriors - Play as Ganon" -version = 2 diff --git a/Modifications/MarioKart8_Speed/rules.txt b/Modifications/MarioKart8_Speed/rules.txt new file mode 100644 index 00000000..75997fe3 --- /dev/null +++ b/Modifications/MarioKart8_Speed/rules.txt @@ -0,0 +1,33 @@ +[Definition] +titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 +name = Speed Adjustment +path = "Mario Kart 8/Modifications/Speed Adjustment" +description = Allows you to adjust the game speed. Please note that the ability to consistently reach the speed will depend on your specs. +version = 3 + +[Preset] +name = 100% Speed (Default) +$FPS = 60 + +[Preset] +name = 59FPS (Online Compatability) +$FPS = 59 + +[Preset] +name = 125% Speed +$FPS = 75 + +[Preset] +name = 150% Speed +$FPS = 90 + +[Preset] +name = 200% Speed +$FPS = 120 + +[Preset] +name = Unlimited Speed +$FPS = 65535 + +[Control] +vsyncFrequency = $FPS diff --git a/Modifications/PokkenTournament_AprilFools/3e385c973f99f97f_0000000000000000_vs.txt b/Modifications/PokkenTournament_AprilFools/3e385c973f99f97f_0000000000000000_vs.txt deleted file mode 100644 index c39815f6..00000000 --- a/Modifications/PokkenTournament_AprilFools/3e385c973f99f97f_0000000000000000_vs.txt +++ /dev/null @@ -1,31 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 3e385c973f99f97f -uniform ivec4 uf_remappedVS[4]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem6; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/PokkenTournament_AprilFools/7caa82f23221199f_000000000000000f_ps.txt b/Modifications/PokkenTournament_AprilFools/7caa82f23221199f_000000000000000f_ps.txt deleted file mode 100644 index 0ce67fef..00000000 --- a/Modifications/PokkenTournament_AprilFools/7caa82f23221199f_000000000000000f_ps.txt +++ /dev/null @@ -1,19 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 7caa82f23221199f -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/PokkenTournament_AprilFools/7caa82f23221199f_6000000000000003_ps.txt b/Modifications/PokkenTournament_AprilFools/7caa82f23221199f_6000000000000003_ps.txt deleted file mode 100644 index a9897905..00000000 --- a/Modifications/PokkenTournament_AprilFools/7caa82f23221199f_6000000000000003_ps.txt +++ /dev/null @@ -1,20 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 7caa82f23221199f -uniform float uf_alphaTestRef; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/PokkenTournament_AprilFools/7caa82f23221199f_a000000000000003_ps.txt b/Modifications/PokkenTournament_AprilFools/7caa82f23221199f_a000000000000003_ps.txt deleted file mode 100644 index a9897905..00000000 --- a/Modifications/PokkenTournament_AprilFools/7caa82f23221199f_a000000000000003_ps.txt +++ /dev/null @@ -1,20 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 7caa82f23221199f -uniform float uf_alphaTestRef; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/PokkenTournament_AprilFools/826f5c3cbb703c6e_0000000000040309_ps.txt b/Modifications/PokkenTournament_AprilFools/826f5c3cbb703c6e_0000000000040309_ps.txt deleted file mode 100644 index 08eef630..00000000 --- a/Modifications/PokkenTournament_AprilFools/826f5c3cbb703c6e_0000000000040309_ps.txt +++ /dev/null @@ -1,30 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 826f5c3cbb703c6e -uniform ivec4 uf_remappedPS[2]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2fb8a000 res 256x128x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2fb98000 res 256x128x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x30844000 res 128x128x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(location = 0) in vec4 passParameterSem130; -layout(location = 1) in vec4 passParameterSem131; -layout(location = 2) in vec4 passParameterSem132; -layout(location = 3) in vec4 passParameterSem133; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/PokkenTournament_AprilFools/826f5c3cbb703c6e_0000000000040389_ps.txt b/Modifications/PokkenTournament_AprilFools/826f5c3cbb703c6e_0000000000040389_ps.txt deleted file mode 100644 index a06a9540..00000000 --- a/Modifications/PokkenTournament_AprilFools/826f5c3cbb703c6e_0000000000040389_ps.txt +++ /dev/null @@ -1,30 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 826f5c3cbb703c6e -uniform ivec4 uf_remappedPS[2]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1d6f8000 res 1024x1024x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x1d5f6000 res 1024x1024x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x2985f000 res 256x256x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(location = 0) in vec4 passParameterSem130; -layout(location = 1) in vec4 passParameterSem131; -layout(location = 2) in vec4 passParameterSem132; -layout(location = 3) in vec4 passParameterSem133; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/PokkenTournament_AprilFools/826f5c3cbb703c6e_00000000001ffe49_ps.txt b/Modifications/PokkenTournament_AprilFools/826f5c3cbb703c6e_00000000001ffe49_ps.txt deleted file mode 100644 index e776feb8..00000000 --- a/Modifications/PokkenTournament_AprilFools/826f5c3cbb703c6e_00000000001ffe49_ps.txt +++ /dev/null @@ -1,29 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 826f5c3cbb703c6e -uniform ivec4 uf_remappedPS[2]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30797000 res 1024x1024x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2e9dc000 res 1024x1024x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1d19f000 res 1024x1024x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem130; -layout(location = 1) in vec4 passParameterSem131; -layout(location = 2) in vec4 passParameterSem132; -layout(location = 3) in vec4 passParameterSem133; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/PokkenTournament_AprilFools/a76d3742c770ac3c_0000000000000000_vs.txt b/Modifications/PokkenTournament_AprilFools/a76d3742c770ac3c_0000000000000000_vs.txt deleted file mode 100644 index 100b2987..00000000 --- a/Modifications/PokkenTournament_AprilFools/a76d3742c770ac3c_0000000000000000_vs.txt +++ /dev/null @@ -1,35 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader a76d3742c770ac3c -uniform ivec4 uf_remappedVS[7]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem6; -layout(location = 5) in uvec4 attrDataSem7; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem130; -layout(location = 3) out vec4 passParameterSem133; -layout(location = 1) out vec4 passParameterSem131; -layout(location = 2) out vec4 passParameterSem132; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/PokkenTournament_AprilFools/rules.txt b/Modifications/PokkenTournament_AprilFools/rules.txt deleted file mode 100644 index 15f463b6..00000000 --- a/Modifications/PokkenTournament_AprilFools/rules.txt +++ /dev/null @@ -1,11 +0,0 @@ -[Definition] -titleIds = 00050000101DF400,00050002101DF401,00050000101DF500 -name = "Pokken Tournament - April Fools" -version = 2 - -#Characters-826f5c3cbb703c6e (VS: a76d3742c770ac3c) -#Shadows-7caa82f23221199f (VS: 3e385c973f99f97f) - -#What was done: -#-Removed shaders for arena and characters -#-Attempted to remove shadow shaders but that failed \ No newline at end of file diff --git a/Modifications/ProjectZero_NoFilmGrain/5e20002e68736ff6_0000000001e49249_ps.txt b/Modifications/ProjectZero_NoFilmGrain/5e20002e68736ff6_0000000001e49249_ps.txt deleted file mode 100644 index ee84d787..00000000 --- a/Modifications/ProjectZero_NoFilmGrain/5e20002e68736ff6_0000000001e49249_ps.txt +++ /dev/null @@ -1,296 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader 5e20002e68736ff6 -// disable film grain effect -uniform ivec4 uf_remappedPS[10]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x31705000 res 1x1x1 dim 1 tm: 2 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf47be800 res 160x90x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf5798800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf5b1c800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0xf4e13000 res 640x360x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf5196800 res 320x180x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 0 0 2 border: 0 -layout(location = 0) in vec4 passParameterSem128; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(passParameterSem128); -R3i.zw = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R0i.xy)).zw); -R2i.xyz = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R0i.xy)).xyz); -R1i.xyz = floatBitsToInt(texture(textureUnitPS4, intBitsToFloat(R0i.xy)).xyz); -R5i.xyzw = floatBitsToInt(texture(textureUnitPS6, intBitsToFloat(R0i.xy)).xyzw); -R6i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R0i.xy)).xyz); -// 0 -R3i.x = 0x3f000000; -PV0i.y = uf_remappedPS[0].y; -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = uf_remappedPS[0].x; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = ((intBitsToFloat(R3i.z) > 0.0)?int(0xFFFFFFFF):int(0x0)); -R0i.z = 0; -PS0i = R0i.z; -// 1 -R127i.x = ((PV0i.w == 0)?(R2i.x):(R1i.x)); -PV1i.x = R127i.x; -R3i.y = ((PV0i.w == 0)?(R2i.y):(R1i.y)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(PV0i.y)) + -(intBitsToFloat(uf_remappedPS[0].y)))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.z)) + -(intBitsToFloat(uf_remappedPS[0].x)))); -PV1i.w = R123i.w; -R4i.y = ((PV0i.w == 0)?(R2i.z):(R1i.z)); -PS1i = R4i.y; -// 2 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)) + vec3(intBitsToFloat(uf_remappedPS[1].x),intBitsToFloat(uf_remappedPS[1].y),0.5)); -R1i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + 0.5); -PS0i = floatBitsToInt(intBitsToFloat(R2i.x) + -(intBitsToFloat(PV1i.x))); -// 3 -backupReg0i = R2i.z; -backupReg1i = R2i.y; -R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) + -(0.5)); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R3i.w)) + intBitsToFloat(R127i.x))); -R2i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R4i.y))); -R0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + -(intBitsToFloat(R3i.y))); -R4i.w = 0x3f800000; -PS1i = R4i.w; -R7i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R3i.xx)).xxx); -//R2i.w = floatBitsToInt(textureLod(textureUnitPS7, intBitsToFloat(R1i.xy),0.0).x); -//R1i.x = floatBitsToInt(textureLod(textureUnitPS7, intBitsToFloat(R1i.zw),0.0).x); -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.y))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R1i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(R2i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.y))); -PV0i.w = R127i.w; -R124i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[2].x)) + 1.0); -R124i.y = floatBitsToInt(intBitsToFloat(R124i.y) * 2.0); -PS0i = R124i.y; -// 1 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.z) + -(intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(intBitsToFloat(R5i.y) + -(intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(0.5)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R5i.w)) + intBitsToFloat(R2i.y))); -PV1i.w = R123i.w; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[0].w)) + intBitsToFloat(uf_remappedPS[0].z))); -PS1i = R125i.y; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R5i.w)) + intBitsToFloat(R127i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R5i.w)) + intBitsToFloat(R127i.x))); -PV0i.z = R123i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedPS[4].z))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.z))); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(0xbb83126f))); -PV1i.y = R127i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -R124i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[2].y)) + 1.0); -R124i.x = floatBitsToInt(intBitsToFloat(R124i.x) * 2.0); -PS1i = R124i.x; -// 4 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R7i.z)) + intBitsToFloat(0xbb83126f))); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R2i.x)) + intBitsToFloat(PV1i.x))); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x40c66666) + intBitsToFloat(0x3fd9999a))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R7i.y)) + intBitsToFloat(0xbb83126f))); -PV0i.w = R126i.w; -R127i.w = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x40c66666) + 0.5)); -PS0i = R127i.w; -// 5 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(0x3d75c28f))); -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x40c66666) + intBitsToFloat(0x3fd9999a))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x40c66666) + 0.5)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c66666) + intBitsToFloat(0x3fd9999a))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c66666) + 0.5)); -PS1i = R122i.x; -// 6 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.w)) + intBitsToFloat(0x3d75c28f))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV1i.y)) + intBitsToFloat(0x3d75c28f))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.z))); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PS0i = R125i.x; -// 7 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[2].x)) * 2.0 + 1.0)); -R7i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[2].z)) * 2.0 + 1.0)); -R126i.z = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[2].y)) * 2.0 + 1.0)); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[2].z)) + 1.0); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 8 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -R127i.x = clampFI32(R127i.x); -R6i.y = uf_remappedPS[2].y; -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) * 2.0); -R125i.z = uf_remappedPS[2].x; -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -R5i.w = uf_remappedPS[2].z; -R5i.w = floatBitsToInt(intBitsToFloat(R5i.w) * 2.0); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -// 9 -backupReg0i = R127i.y; -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) * 2.0 + -(1.0))); -R127i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].z) * 2.0 + -(1.0))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); -R127i.z = clampFI32(R127i.z); -R124i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].y) * 2.0 + -(1.0))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 10 -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS1i))); -R127i.w = clampFI32(R127i.w); -PS0i = floatBitsToInt(sqrt(intBitsToFloat(R126i.y))); -// 11 -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PS0i)),intBitsToFloat(uf_remappedPS[5].w)) + intBitsToFloat(uf_remappedPS[5].z))); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 12 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.w))); -PV0i.x = R7i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.w))); -PV0i.y = R126i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.w))); -// 13 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].z), intBitsToFloat(PV0i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -// 14 -backupReg0i = R126i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(PV1i.w))); -R127i.x = clampFI32(R127i.x); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(PV1i.z))); -R126i.y = clampFI32(R126i.y); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(PV1i.y))); -R127i.z = clampFI32(R127i.z); -PV0i.z = R127i.z; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.x))); -PS0i = R6i.x; -// 15 -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),intBitsToFloat(uf_remappedPS[7].w)))); -PV1i.x = R5i.x; -PV1i.y = R5i.x; -PV1i.z = R5i.x; -PV1i.w = R5i.x; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(uf_remappedPS[8].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -PS0i = R125i.x; -// 17 -backupReg0i = R127i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(uf_remappedPS[9].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -// 18 -backupReg0i = R126i.x; -backupReg1i = R124i.y; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS1i))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R125i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg1i))); -PS0i = floatBitsToInt(sqrt(intBitsToFloat(R5i.x))); -// 19 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R124i.x))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R126i.w))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R2i.x)) + intBitsToFloat(PV0i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.z))); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(R125i.w))); -// 20 -backupReg0i = R126i.x; -backupReg1i = R125i.z; -backupReg2i = R124i.y; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R6i.y)) + intBitsToFloat(backupReg0i))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(R124i.w)) + intBitsToFloat(PV1i.x))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(backupReg1i)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R5i.w)) + intBitsToFloat(PV1i.w))); -PS0i = floatBitsToInt(sqrt(intBitsToFloat(R127i.z))); -// 21 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.y)) + intBitsToFloat(R126i.y))); -PV1i.x = R123i.x; -PV1i.y = ((intBitsToFloat(R127i.z) >= 0.5)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = ((intBitsToFloat(R125i.w) >= 0.5)?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(R5i.x) >= 0.5)?int(0xFFFFFFFF):int(0x0)); -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(R7i.x)) + intBitsToFloat(R6i.x))); -PS1i = R6i.w; -// 22 -R123i.x = ((PV1i.w == 0)?(R125i.z):(R126i.z)); -PV0i.x = R123i.x; -R123i.z = ((PV1i.y == 0)?(R124i.w):(PV1i.x)); -PV0i.z = R123i.z; -R123i.w = ((PV1i.z == 0)?(R126i.x):(R124i.y)); -PV0i.w = R123i.w; -// 23 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z)); -// 24 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[2].w)) + intBitsToFloat(R5i.x))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[2].w)) + intBitsToFloat(R125i.w))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedPS[2].w)) + intBitsToFloat(R127i.z))); -// export -passPixelColor0 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -} diff --git a/Modifications/ProjectZero_NoFilmGrain/rules.txt b/Modifications/ProjectZero_NoFilmGrain/rules.txt deleted file mode 100644 index 7498898c..00000000 --- a/Modifications/ProjectZero_NoFilmGrain/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 00050000101D0300,00050000101D0600,000500001014D200,00050000101D3F00 -name = "Project Zero Maiden of Black Water - No film grain" -version = 2 \ No newline at end of file diff --git a/Modifications/RiseOfLyric_60FPS/rules.txt b/Modifications/RiseOfLyric_60FPS/rules.txt deleted file mode 100644 index 7f036585..00000000 --- a/Modifications/RiseOfLyric_60FPS/rules.txt +++ /dev/null @@ -1,13 +0,0 @@ -[Definition] -titleIds = 0005000010175B00,0005000010177800,0005000010191F00 -name = "Sonic Boom: Rise of Lyric - 60FPS" -version = 2 - -#Windows 10 64-bit -#GeForce GTX 1060 6GB -#i5-7600k -#16GB RAM - -#I can get to 60fps on my PC using: -#Dual-core recompiler -#GPU buffer cache accuracy at low/2 \ No newline at end of file diff --git a/Modifications/RiseOfLyric_60FPS/patches.txt b/Modifications/RiseOfLyric_Uncapped/patches.txt similarity index 99% rename from Modifications/RiseOfLyric_60FPS/patches.txt rename to Modifications/RiseOfLyric_Uncapped/patches.txt index 8d9c325e..12d67d4c 100644 --- a/Modifications/RiseOfLyric_60FPS/patches.txt +++ b/Modifications/RiseOfLyric_Uncapped/patches.txt @@ -135,6 +135,5 @@ moduleMatches = 0x113CC316 [WiiULauncher0] moduleMatches = 0x90DAC5CE - 0x02E47174 = nop 0x02E471E0 = nop diff --git a/Modifications/RiseOfLyric_Uncapped/rules.txt b/Modifications/RiseOfLyric_Uncapped/rules.txt new file mode 100644 index 00000000..a6e4d6b9 --- /dev/null +++ b/Modifications/RiseOfLyric_Uncapped/rules.txt @@ -0,0 +1,15 @@ +[Definition] +titleIds = 0005000010175B00,0005000010177800,0005000010191F00 +name = "Uncapped Framerate" +path = "Sonic Boom: Rise of Lyric/Modifications/Uncapped Framerate" +description = "This patches out the framerate locker that the game has in place. For maximum performance, use dual-core recompiler and low GPU buffer cache. However, this can cause random flashing to appear." +version = 3 + +#Windows 10 64-bit +#GeForce GTX 1060 6GB +#i5-7600k +#16GB RAM + +#I can get to 60fps on my PC using: +#Dual-core recompiler +#GPU buffer cache accuracy at low/2 diff --git a/Modifications/Splatoon_AprilFools/5589940158f30db3_0000000000000079_ps.txt b/Modifications/Splatoon_AprilFools/5589940158f30db3_0000000000000079_ps.txt deleted file mode 100644 index 38a1a634..00000000 --- a/Modifications/Splatoon_AprilFools/5589940158f30db3_0000000000000079_ps.txt +++ /dev/null @@ -1,22 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 5589940158f30db3 -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x156f2000 res 256x256x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/Splatoon_AprilFools/62d887aeff99f5a3_0000000000000000_vs.txt b/Modifications/Splatoon_AprilFools/62d887aeff99f5a3_0000000000000000_vs.txt deleted file mode 100644 index 06c4021e..00000000 --- a/Modifications/Splatoon_AprilFools/62d887aeff99f5a3_0000000000000000_vs.txt +++ /dev/null @@ -1,51 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 62d887aeff99f5a3 -uniform ivec4 uf_remappedVS[78]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(binding = 42) uniform sampler2D textureUnitVS10;// Tex10 addr 0x1c997000 res 2048x2048x1 dim 1 tm: 4 format 081e compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler28 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 43) uniform sampler2DArrayShadow textureUnitVS11;// Tex11 addr 0xf494a800 res 1024x1024x2 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler29 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 44) uniform sampler1DShadow textureUnitVS12;layout(binding = 45) uniform sampler2D textureUnitVS13;// Tex13 addr 0x39c73000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler31 ClampX/Y/Z: 0 0 0 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; -layout(location = 12) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem4; -layout(location = 2) out vec4 passParameterSem5; -layout(location = 3) out vec4 passParameterSem6; -layout(location = 5) out vec4 passParameterSem8; -layout(location = 6) out vec4 passParameterSem9; -layout(location = 7) out vec4 passParameterSem11; -layout(location = 4) out vec4 passParameterSem7; -layout(location = 8) out vec4 passParameterSem12; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/Splatoon_AprilFools/68357a3eaf8b29a8_000000007bac9249_ps.txt b/Modifications/Splatoon_AprilFools/68357a3eaf8b29a8_000000007bac9249_ps.txt deleted file mode 100644 index 61ea6e26..00000000 --- a/Modifications/Splatoon_AprilFools/68357a3eaf8b29a8_000000007bac9249_ps.txt +++ /dev/null @@ -1,123 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 68357a3eaf8b29a8 -uniform ivec4 uf_remappedPS[18]; -layout(binding = 0) uniform samplerCubeArray textureUnitPS0;// Tex0 addr 0x17f2e800 res 4x4x1 dim 3 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2DArrayShadow textureUnitPS1;// Tex1 addr 0x17f2f800 res 4x4x1 dim 5 tm: 2 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform samplerCubeArray textureUnitPS2;// Tex2 addr 0x1c778800 res 32x32x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x6) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x17f2b000 res 4x4x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0x21e2e000 res 2048x1024x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 4 mipView: 0x0 (num 0xc) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x220da000 res 512x256x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 6) uniform sampler2D textureUnitPS6;// Tex6 addr 0x23f9c000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler6 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0x22e8e000 res 256x256x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x23fa0000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 2) in vec4 passParameterSem2; -layout(location = 3) in vec4 passParameterSem3; -layout(location = 4) in vec4 passParameterSem4; -layout(location = 5) in vec4 passParameterSem7; -layout(location = 6) in vec4 passParameterSem5; -layout(location = 7) in vec4 passParameterSem6; -layout(location = 8) in vec4 passParameterSem8; -layout(location = 9) in vec4 passParameterSem9; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/Splatoon_AprilFools/69b5b934d877bac0_0000000000000000_vs.txt b/Modifications/Splatoon_AprilFools/69b5b934d877bac0_0000000000000000_vs.txt deleted file mode 100644 index 42a2bded..00000000 --- a/Modifications/Splatoon_AprilFools/69b5b934d877bac0_0000000000000000_vs.txt +++ /dev/null @@ -1,48 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 69b5b934d877bac0 -uniform ivec4 uf_remappedVS[75]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(binding = 42) uniform sampler2D textureUnitVS10;// Tex10 addr 0x1c997000 res 2048x2048x1 dim 1 tm: 4 format 081e compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler28 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 43) uniform sampler2DArrayShadow textureUnitVS11;// Tex11 addr 0xf494a800 res 1024x1024x2 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler29 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 44) uniform sampler1DShadow textureUnitVS12;layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem4; -layout(location = 3) out vec4 passParameterSem5; -layout(location = 4) out vec4 passParameterSem6; -layout(location = 6) out vec4 passParameterSem8; -layout(location = 7) out vec4 passParameterSem9; -layout(location = 8) out vec4 passParameterSem11; -layout(location = 5) out vec4 passParameterSem7; -layout(location = 9) out vec4 passParameterSem12; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/Splatoon_AprilFools/71a7179980cfe114_000000000000007b_ps.txt b/Modifications/Splatoon_AprilFools/71a7179980cfe114_000000000000007b_ps.txt deleted file mode 100644 index 4a2d88d4..00000000 --- a/Modifications/Splatoon_AprilFools/71a7179980cfe114_000000000000007b_ps.txt +++ /dev/null @@ -1,108 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 71a7179980cfe114 -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform samplerCubeArray textureUnitPS0;// Tex0 addr 0xf4241000 res 256x256x1 dim 3 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x6) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 2) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/Splatoon_AprilFools/733ee69ec9dd5e30_0000000000001e69_ps.txt b/Modifications/Splatoon_AprilFools/733ee69ec9dd5e30_0000000000001e69_ps.txt deleted file mode 100644 index 2f5f73c7..00000000 --- a/Modifications/Splatoon_AprilFools/733ee69ec9dd5e30_0000000000001e69_ps.txt +++ /dev/null @@ -1,25 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 733ee69ec9dd5e30 - some kind of shading? -uniform ivec4 uf_remappedPS[21]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2DArrayShadow textureUnitPS1;// Tex1 addr 0xf494a800 res 1024x1024x2 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler1 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x1cb17000 res 2048x2048x1 dim 1 tm: 4 format 081e compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) noperspective in vec4 passParameterSem0; -layout(location = 1) noperspective in vec4 passParameterSem4; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/Splatoon_AprilFools/89371aa2435ecc7c_0000000000000000_vs.txt b/Modifications/Splatoon_AprilFools/89371aa2435ecc7c_0000000000000000_vs.txt deleted file mode 100644 index 2f90425f..00000000 --- a/Modifications/Splatoon_AprilFools/89371aa2435ecc7c_0000000000000000_vs.txt +++ /dev/null @@ -1,31 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 89371aa2435ecc7c -uniform ivec4 uf_remappedVS[17]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/Splatoon_AprilFools/acdc2cc298f22eed_0000000000000000_vs.txt b/Modifications/Splatoon_AprilFools/acdc2cc298f22eed_0000000000000000_vs.txt deleted file mode 100644 index a8056965..00000000 --- a/Modifications/Splatoon_AprilFools/acdc2cc298f22eed_0000000000000000_vs.txt +++ /dev/null @@ -1,41 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader acdc2cc298f22eed -uniform ivec4 uf_remappedVS[37]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem9; -layout(location = 5) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 6) out vec4 passParameterSem5; -layout(location = 7) out vec4 passParameterSem6; -layout(location = 8) out vec4 passParameterSem8; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 5) out vec4 passParameterSem7; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 4) out vec4 passParameterSem4; -layout(location = 9) out vec4 passParameterSem9; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/Splatoon_AprilFools/b1951b6b76aa5c84_0000000000000000_vs.txt b/Modifications/Splatoon_AprilFools/b1951b6b76aa5c84_0000000000000000_vs.txt deleted file mode 100644 index 6e13bd6b..00000000 --- a/Modifications/Splatoon_AprilFools/b1951b6b76aa5c84_0000000000000000_vs.txt +++ /dev/null @@ -1,28 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader b1951b6b76aa5c84 - some kind of shading? -uniform ivec4 uf_remappedVS[3]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) noperspective out vec4 passParameterSem0; -layout(location = 1) noperspective out vec4 passParameterSem4; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/Splatoon_AprilFools/b997476498552b16_0000000000000079_ps.txt b/Modifications/Splatoon_AprilFools/b997476498552b16_0000000000000079_ps.txt deleted file mode 100644 index 6099df6e..00000000 --- a/Modifications/Splatoon_AprilFools/b997476498552b16_0000000000000079_ps.txt +++ /dev/null @@ -1,22 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader b997476498552b16 -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x156f2000 res 64x64x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/Splatoon_AprilFools/d61363e0854c74ad_00000000000003d9_ps.txt b/Modifications/Splatoon_AprilFools/d61363e0854c74ad_00000000000003d9_ps.txt deleted file mode 100644 index c1f68182..00000000 --- a/Modifications/Splatoon_AprilFools/d61363e0854c74ad_00000000000003d9_ps.txt +++ /dev/null @@ -1,109 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader d61363e0854c74ad -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform samplerCubeArray textureUnitPS0;// Tex0 addr 0x1c778800 res 32x32x1 dim 3 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x2) sliceView: 0x0 (num 0x6) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x221ea000 res 2048x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xc) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 2) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/Splatoon_AprilFools/d92fe9087a495dcb_0000000000000000_vs.txt b/Modifications/Splatoon_AprilFools/d92fe9087a495dcb_0000000000000000_vs.txt deleted file mode 100644 index 705a408c..00000000 --- a/Modifications/Splatoon_AprilFools/d92fe9087a495dcb_0000000000000000_vs.txt +++ /dev/null @@ -1,45 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader d92fe9087a495dcb -uniform ivec4 uf_remappedVS[86]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(binding = 42) uniform sampler2D textureUnitVS10;// Tex10 addr 0x1cb21000 res 2048x2048x1 dim 1 tm: 4 format 081e compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler28 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 43) uniform sampler2DArrayShadow textureUnitVS11;// Tex11 addr 0xf494a800 res 1024x1024x2 dim 5 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x2) Sampler29 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 44) uniform sampler1DShadow textureUnitVS12;layout(binding = 45) uniform sampler2D textureUnitVS13;// Tex13 addr 0x39084000 res 1024x1024x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler31 ClampX/Y/Z: 0 0 0 border: 1 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem3; -layout(location = 3) out vec4 passParameterSem4; -layout(location = 4) out vec4 passParameterSem5; -layout(location = 5) out vec4 passParameterSem8; -layout(location = 6) out vec4 passParameterSem11; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -} diff --git a/Modifications/Splatoon_AprilFools/rules.txt b/Modifications/Splatoon_AprilFools/rules.txt deleted file mode 100644 index 3b0a061c..00000000 --- a/Modifications/Splatoon_AprilFools/rules.txt +++ /dev/null @@ -1,17 +0,0 @@ -[Definition] -titleIds = 0005000010176900,0005000010176A00,0005000010162B00 -name = "Splatoon - April Fools" -version = 2 - -#some kind of shading? -#733ee69ec9dd5e30 - b1951b6b76aa5c84 -#glass -#acdc2cc298f22eed - 68357a3eaf8b29a8 -#bg -#d61363e0854c74ad - 89371aa2435ecc7c - -#What was done: -#-Removed shadows -#-Removed some shading -#-Removed some background objects -#-Removed some glass shaders \ No newline at end of file diff --git a/Modifications/Splatoon_UltrawideFixes219/rules.txt b/Modifications/Splatoon_UltrawideFixes219/rules.txt deleted file mode 100644 index b3ee94c6..00000000 --- a/Modifications/Splatoon_UltrawideFixes219/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010176900,0005000010176A00,0005000010162B00 -name = "Splatoon - 21:9 Ultrawide fixes" -version = 2 \ No newline at end of file diff --git a/Modifications/SuperSmashBros_NoBoxingRingScreen/rules.txt b/Modifications/SuperSmashBros_NoBoxingRingScreen/rules.txt deleted file mode 100644 index 7a9cf33a..00000000 --- a/Modifications/SuperSmashBros_NoBoxingRingScreen/rules.txt +++ /dev/null @@ -1,10 +0,0 @@ -[Definition] -titleIds = 0005000010110E00,0005000010145000,0005000010144F00 -name = "Super Smash Bros. for Wii U - No Boxing Ring Screen" -version = 2 - -[TextureRedefine] # boxing ring screen -width = 220 -height = 124 -overwriteWidth = 1 -overwriteHeight = 1 \ No newline at end of file diff --git a/Modifications/TokyoMirage_21_9_Gui/61b51be479ffa5dc_0000000000000000_vs.txt b/Modifications/TokyoMirage_21_9_Gui/61b51be479ffa5dc_0000000000000000_vs.txt deleted file mode 100644 index 80226523..00000000 --- a/Modifications/TokyoMirage_21_9_Gui/61b51be479ffa5dc_0000000000000000_vs.txt +++ /dev/null @@ -1,110 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 61b51be479ffa5dc -uniform ivec4 uf_remappedVS[4]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem131; -layout(location = 1) out vec4 passParameterSem136; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem8.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R1i.w))); -R127i.y = ((0.0 > intBitsToFloat(R2i.z))?int(0xFFFFFFFF):int(0x0)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + -(1.0)); -R127i.w = 0x3f800000; -PV0i.w = R127i.w; -// 1 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w)))); -PV1i.x = R0i.x; -PV1i.y = R0i.x; -PV1i.z = R0i.x; -PV1i.w = R0i.x; -R4i.w = ((PV0i.y == 0)?(R1i.w):(PV0i.x)); -PS1i = R4i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.y = tempi.x; -R5i.z = ((R127i.y == 0)?(R2i.z):(R127i.z)); -PS0i = R5i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.z = tempi.x; -R4i.x = ((R127i.y == 0)?(R1i.x):(R1i.x)); -PS1i = R4i.x; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.w = tempi.x; -R4i.y = ((R127i.y == 0)?(R1i.y):(R1i.y)); -PS0i = R4i.y; -// 5 -R5i.x = ((R127i.y == 0)?(R2i.x):(R2i.x)); -R5i.y = ((R127i.y == 0)?(R2i.y):(R2i.y)); -R4i.z = ((R127i.y == 0)?(R1i.z):(R1i.z)); -// export -gl_Position = vec4(intBitsToFloat(R0i.x)*0.75, intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem136 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -} diff --git a/Modifications/TokyoMirage_21_9_Gui/94986f08df872394_0000000000000000_vs.txt b/Modifications/TokyoMirage_21_9_Gui/94986f08df872394_0000000000000000_vs.txt deleted file mode 100644 index 74338470..00000000 --- a/Modifications/TokyoMirage_21_9_Gui/94986f08df872394_0000000000000000_vs.txt +++ /dev/null @@ -1,131 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 94986f08df872394 -uniform ivec4 uf_remappedVS[9]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem131; -layout(location = 1) out vec4 passParameterSem136; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder = attrDataSem3; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R0f.x = R3f.x; -PS0f = R0f.x; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R0f.y = R3f.y; -PS1f = R0f.y; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.z = tempf.x; -// 3 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.w = tempf.x; -// 4 -R2f.x = dot(vec4(R127f.x,R127f.y,R127f.z,PV1f.x),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = R2f.x; -PV0f.y = R2f.x; -PV0f.z = R2f.x; -PV0f.w = R2f.x; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.y = tempf.x; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.z = tempf.x; -// 7 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.w = tempf.x; -// 8 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -backupReg2f = R1f.z; -backupReg3f = R1f.w; -R1f.x = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedVS[8].x)); -R1f.y = mul_nonIEEE(backupReg1f, intBitsToFloat(uf_remappedVS[8].y)); -R1f.z = mul_nonIEEE(backupReg2f, intBitsToFloat(uf_remappedVS[8].z)); -R1f.w = mul_nonIEEE(backupReg3f, intBitsToFloat(uf_remappedVS[8].w)); -// export -gl_Position = vec4(R2f.x*0.75, R2f.y, R2f.z, R2f.w); -// export -passParameterSem131 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem136 = vec4(R0f.x, R0f.y, R0f.z, R0f.z); -} diff --git a/Modifications/TokyoMirage_21_9_Gui/dda6656146476243_0000000000000000_vs.txt b/Modifications/TokyoMirage_21_9_Gui/dda6656146476243_0000000000000000_vs.txt deleted file mode 100644 index 2dd05f5b..00000000 --- a/Modifications/TokyoMirage_21_9_Gui/dda6656146476243_0000000000000000_vs.txt +++ /dev/null @@ -1,93 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader dda6656146476243 -uniform ivec4 uf_remappedVS[5]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem131; -layout(location = 1) out vec4 passParameterSem136; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R0f.x; -PV0f.y = R0f.x; -PV0f.z = R0f.x; -PV0f.w = R0f.x; -R3f.x = R2f.x; -PS0f = R3f.x; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.y = tempf.x; -R3f.y = R2f.y; -PS1f = R3f.y; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.z = tempf.x; -// 3 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.w = tempf.x; -// 4 -R1f.xyz = vec3(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z)); -R1f.w = intBitsToFloat(uf_remappedVS[4].w); -// export -gl_Position = vec4(R0f.x*0.75, R0f.y, R0f.z, R0f.w); -// export -passParameterSem131 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem136 = vec4(R3f.x, R3f.y, R3f.z, R3f.z); -} diff --git a/Modifications/TokyoMirage_21_9_Gui/rules.txt b/Modifications/TokyoMirage_21_9_Gui/rules.txt deleted file mode 100644 index e2754a6a..00000000 --- a/Modifications/TokyoMirage_21_9_Gui/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 00050000101ED700,00050000101ED800,0005000010131D00 -name = "Tokyo Mirage Sessions FE - 21:9 GUI" -version = 2 \ No newline at end of file diff --git a/Modifications/TokyoMirage_ScaleToonShader/7fc14eb425c76088_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/7fc14eb425c76088_0000000000000000_vs.txt deleted file mode 100644 index f9be679c..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/7fc14eb425c76088_0000000000000000_vs.txt +++ /dev/null @@ -1,262 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 7fc14eb425c76088 -uniform ivec4 uf_remappedVS[15]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem8; -layout(location = 5) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = R4f.x; -R126f.y = R4f.y; -R127f.z = R4f.z; -R0f.w = 1.0; -R127f.y = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedVS[0].z)); -PS0f = R127f.y; -// 1 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.z = 0.0; -PS1f = R0f.z; -// 2 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.x = PV1f.x; -PS0f = R2f.x; -// 3 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R4f.y = PV0f.x; -PS1f = R4f.y; -// 4 -backupReg0f = R0f.w; -R4f.x = dot(vec4(R127f.x,R126f.y,R127f.z,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = R4f.x; -PV0f.y = R4f.x; -PV0f.z = R4f.x; -PV0f.w = R4f.x; -R4f.z = PV1f.x; -PS0f = R4f.z; -// 5 -backupReg0f = R0f.w; -tempf.x = dot(vec4(R127f.x,R126f.y,R127f.z,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.y = tempf.x; -R126f.x = R127f.y * intBitsToFloat(0x447a0000) * toonScale; -PS1f = R126f.x; -// 6 -backupReg0f = R0f.w; -tempf.x = dot(vec4(R127f.x,R126f.y,R127f.z,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R5f.z = tempf.x; -R6f.z = intBitsToFloat(0x3b449ba6); -PS0f = R6f.z; -// 7 -tempf.x = dot(vec4(R127f.x,R126f.y,R127f.z,R0f.w),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.w = tempf.x; -tempResultf = log2(R1f.x); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1f = tempResultf; -// 8 -backupReg0f = R126f.x; -R126f.x = PS1f * intBitsToFloat(0x400ccccd); -R2f.z = intBitsToFloat(uf_remappedVS[0].w) + backupReg0f; -R3f.w = R1f.w; -tempResultf = log2(R1f.y); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0f = tempResultf; -// 9 -R127f.x = PS0f * intBitsToFloat(0x400ccccd); -tempResultf = log2(R1f.z); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1f = tempResultf; -// 10 -R127f.z = PS1f * intBitsToFloat(0x400ccccd); -R3f.x = exp2(R126f.x); -PS0f = R3f.x; -// 11 -R3f.y = exp2(R127f.x); -PS1f = R3f.y; -// 12 -R3f.z = exp2(R127f.z); -PS0f = R3f.z; -// export -passParameterSem131 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// 0 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R4f.x,backupReg0f,R5f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R3f.w = tempf.x; -// 1 -backupReg0f = R0f.w; -R127f.x = dot(vec4(R2f.x,R4f.y,R4f.z,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); -PV1f.x = R127f.x; -PV1f.y = R127f.x; -PV1f.z = R127f.x; -PV1f.w = R127f.x; -tempResultf = log2(PV0f.x); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1f = tempResultf; -// 2 -backupReg0f = R0f.w; -tempf.x = dot(vec4(R2f.x,R4f.y,R4f.z,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R126f.y = tempf.x; -R126f.x = PS1f * intBitsToFloat(0x3f400000); -PS0f = R126f.x; -// 3 -backupReg0f = R0f.z; -backupReg0f = R0f.z; -tempf.x = dot(vec4(R127f.x,PV0f.x,backupReg0f,-0.0),vec4(R127f.x,PV0f.x,backupReg0f,0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -PS1f = 1.0 / intBitsToFloat(uf_remappedVS[11].x); -// 4 -R127f.z = mul_nonIEEE(R2f.z, PS1f); -tempResultf = 1.0 / sqrt(PV1f.x); -PS0f = tempResultf; -// 5 -backupReg0f = R127f.x; -R127f.x = mul_nonIEEE(R126f.y, PS0f); -PV1f.y = mul_nonIEEE(backupReg0f, PS0f); -PS1f = 1.0 / intBitsToFloat(uf_remappedVS[11].y); -// 6 -R126f.y = mul_nonIEEE(PV1f.y, R127f.z); -PV0f.w = mul_nonIEEE(R2f.z, PS1f); -PS0f = exp2(R126f.x); -// 7 -PV1f.z = max(PS0f, 2.0); -R127f.w = mul_nonIEEE(R127f.x, PV0f.w); -// 8 -R127f.y = min(PV1f.z, intBitsToFloat(0x41f00000)); -PV0f.y = R127f.y; -// 9 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R4f.x,backupReg0f,R5f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.z = tempf.x; -R127f.x = mul_nonIEEE(R126f.y, PV0f.y); -PS1f = R127f.x; -// 10 -backupReg0f = R127f.w; -backupReg1f = R127f.y; -tempf.x = dot(vec4(R4f.x,R0f.y,R5f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = mul_nonIEEE(backupReg0f, backupReg1f); -PS0f = R127f.w; -// 11 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R4f.x,backupReg0f,R5f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.x = R127f.z + R127f.x; -PS1f = R3f.x; -// 12 -R3f.y = R127f.y + R127f.w; -R3f.z = PV1f.x + R6f.z; -// export -gl_Position = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/7fc256b425c76088_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/7fc256b425c76088_0000000000000000_vs.txt deleted file mode 100644 index 1e34bb86..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/7fc256b425c76088_0000000000000000_vs.txt +++ /dev/null @@ -1,262 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 7fc256b425c76088 -uniform ivec4 uf_remappedVS[15]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem8; -layout(location = 5) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = R4f.x; -R126f.y = R4f.y; -R127f.z = R4f.z; -R0f.w = 1.0; -R127f.y = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedVS[0].z)); -PS0f = R127f.y; -// 1 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.z = 0.0; -PS1f = R0f.z; -// 2 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.x = PV1f.x; -PS0f = R2f.x; -// 3 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R4f.y = PV0f.x; -PS1f = R4f.y; -// 4 -backupReg0f = R0f.w; -R4f.x = dot(vec4(R127f.x,R126f.y,R127f.z,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = R4f.x; -PV0f.y = R4f.x; -PV0f.z = R4f.x; -PV0f.w = R4f.x; -R4f.z = PV1f.x; -PS0f = R4f.z; -// 5 -backupReg0f = R0f.w; -tempf.x = dot(vec4(R127f.x,R126f.y,R127f.z,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.y = tempf.x; -R126f.x = R127f.y * intBitsToFloat(0x447a0000) * toonScale; -PS1f = R126f.x; -// 6 -backupReg0f = R0f.w; -tempf.x = dot(vec4(R127f.x,R126f.y,R127f.z,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R5f.z = tempf.x; -R6f.z = intBitsToFloat(0x3b449ba6); -PS0f = R6f.z; -// 7 -tempf.x = dot(vec4(R127f.x,R126f.y,R127f.z,R0f.w),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R2f.w = tempf.x; -tempResultf = log2(R1f.x); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1f = tempResultf; -// 8 -backupReg0f = R126f.x; -R126f.x = PS1f * intBitsToFloat(0x400ccccd); -R2f.z = intBitsToFloat(uf_remappedVS[0].w) + backupReg0f; -R3f.w = R1f.w; -tempResultf = log2(R1f.y); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0f = tempResultf; -// 9 -R127f.x = PS0f * intBitsToFloat(0x400ccccd); -tempResultf = log2(R1f.z); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1f = tempResultf; -// 10 -R127f.z = PS1f * intBitsToFloat(0x400ccccd); -R3f.x = exp2(R126f.x); -PS0f = R3f.x; -// 11 -R3f.y = exp2(R127f.x); -PS1f = R3f.y; -// 12 -R3f.z = exp2(R127f.z); -PS0f = R3f.z; -// export -passParameterSem131 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// 0 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R4f.x,backupReg0f,R5f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R3f.w = tempf.x; -// 1 -backupReg0f = R0f.w; -R127f.x = dot(vec4(R2f.x,R4f.y,R4f.z,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); -PV1f.x = R127f.x; -PV1f.y = R127f.x; -PV1f.z = R127f.x; -PV1f.w = R127f.x; -tempResultf = log2(PV0f.x); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1f = tempResultf; -// 2 -backupReg0f = R0f.w; -tempf.x = dot(vec4(R2f.x,R4f.y,R4f.z,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R126f.y = tempf.x; -R126f.x = PS1f * intBitsToFloat(0x3f400000); -PS0f = R126f.x; -// 3 -backupReg0f = R0f.z; -backupReg0f = R0f.z; -tempf.x = dot(vec4(R127f.x,PV0f.x,backupReg0f,-0.0),vec4(R127f.x,PV0f.x,backupReg0f,0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -PS1f = 1.0 / intBitsToFloat(uf_remappedVS[11].x); -// 4 -R127f.z = mul_nonIEEE(R2f.z, PS1f); -tempResultf = 1.0 / sqrt(PV1f.x); -PS0f = tempResultf; -// 5 -backupReg0f = R127f.x; -R127f.x = mul_nonIEEE(R126f.y, PS0f); -PV1f.y = mul_nonIEEE(backupReg0f, PS0f); -PS1f = 1.0 / intBitsToFloat(uf_remappedVS[11].y); -// 6 -R126f.y = mul_nonIEEE(PV1f.y, R127f.z); -PV0f.w = mul_nonIEEE(R2f.z, PS1f); -PS0f = exp2(R126f.x); -// 7 -PV1f.z = max(PS0f, 2.0); -R127f.w = mul_nonIEEE(R127f.x, PV0f.w); -// 8 -R127f.y = min(PV1f.z, intBitsToFloat(0x41f00000)); -PV0f.y = R127f.y; -// 9 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R4f.x,backupReg0f,R5f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.z = tempf.x; -R127f.x = mul_nonIEEE(R126f.y, PV0f.y); -PS1f = R127f.x; -// 10 -backupReg0f = R127f.w; -backupReg1f = R127f.y; -tempf.x = dot(vec4(R4f.x,R0f.y,R5f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.y = tempf.x; -R127f.w = mul_nonIEEE(backupReg0f, backupReg1f); -PS0f = R127f.w; -// 11 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R4f.x,backupReg0f,R5f.z,R2f.w),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.x = R127f.z + R127f.x; -PS1f = R3f.x; -// 12 -R3f.y = R127f.y + R127f.w; -R3f.z = PV1f.x + R6f.z; -// export -gl_Position = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/8ed3fdc12b05f168_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/8ed3fdc12b05f168_0000000000000000_vs.txt deleted file mode 100644 index 556b1c91..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/8ed3fdc12b05f168_0000000000000000_vs.txt +++ /dev/null @@ -1,677 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 8ed3fdc12b05f168 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.xy,0,0); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), 0, 1); -attrDecoder.xy = floatBitsToUint(vec2(attrDataSem1.xy)/255.0); -attrDecoder.zw = uvec2(0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/8ed40dc12b05f168_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/8ed40dc12b05f168_0000000000000000_vs.txt deleted file mode 100644 index ffae63a7..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/8ed40dc12b05f168_0000000000000000_vs.txt +++ /dev/null @@ -1,677 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 8ed40dc12b05f168 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.xy,0,0); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), 0, 1); -attrDecoder.xy = floatBitsToUint(vec2(attrDataSem1.xy)/255.0); -attrDecoder.zw = uvec2(0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/8ed505c12b05f168_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/8ed505c12b05f168_0000000000000000_vs.txt deleted file mode 100644 index c693d75c..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/8ed505c12b05f168_0000000000000000_vs.txt +++ /dev/null @@ -1,677 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 8ed505c12b05f168 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.xy,0,0); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), 0, 1); -attrDecoder.xy = floatBitsToUint(vec2(attrDataSem1.xy)/255.0); -attrDecoder.zw = uvec2(0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/8f2424ec8315e884_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/8f2424ec8315e884_0000000000000000_vs.txt deleted file mode 100644 index 92ce0950..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/8f2424ec8315e884_0000000000000000_vs.txt +++ /dev/null @@ -1,673 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 8f2424ec8315e884 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/8f2434ec8315e884_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/8f2434ec8315e884_0000000000000000_vs.txt deleted file mode 100644 index fd01b0fa..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/8f2434ec8315e884_0000000000000000_vs.txt +++ /dev/null @@ -1,673 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 8f2434ec8315e884 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/8f252cec8315e884_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/8f252cec8315e884_0000000000000000_vs.txt deleted file mode 100644 index 82fafa07..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/8f252cec8315e884_0000000000000000_vs.txt +++ /dev/null @@ -1,673 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 8f252cec8315e884 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/8f6c001eaafbe968_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/8f6c001eaafbe968_0000000000000000_vs.txt deleted file mode 100644 index 1b3e292a..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/8f6c001eaafbe968_0000000000000000_vs.txt +++ /dev/null @@ -1,676 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 8f6c001eaafbe968 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = attrDataSem7.xyzw; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/8f6c001eab4ee968_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/8f6c001eab4ee968_0000000000000000_vs.txt deleted file mode 100644 index e35954a0..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/8f6c001eab4ee968_0000000000000000_vs.txt +++ /dev/null @@ -1,678 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 8f6c001eab4ee968 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = attrDataSem7.xyzw; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = attrDataSem3.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/8f6c00334afbe968_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/8f6c00334afbe968_0000000000000000_vs.txt deleted file mode 100644 index cde97a0b..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/8f6c00334afbe968_0000000000000000_vs.txt +++ /dev/null @@ -1,674 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 8f6c00334afbe968 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = attrDataSem7.xyzw; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/8f6c101eaafbe968_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/8f6c101eaafbe968_0000000000000000_vs.txt deleted file mode 100644 index 74a3817e..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/8f6c101eaafbe968_0000000000000000_vs.txt +++ /dev/null @@ -1,676 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 8f6c101eaafbe968 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = attrDataSem7.xyzw; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/8f6d081eaafbe968_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/8f6d081eaafbe968_0000000000000000_vs.txt deleted file mode 100644 index ba466235..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/8f6d081eaafbe968_0000000000000000_vs.txt +++ /dev/null @@ -1,676 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 8f6d081eaafbe968 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = attrDataSem7.xyzw; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/9773fd0a6739e762_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/9773fd0a6739e762_0000000000000000_vs.txt deleted file mode 100644 index bae6051f..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/9773fd0a6739e762_0000000000000000_vs.txt +++ /dev/null @@ -1,674 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 9773fd0a6739e762 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -layout(location = 6) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyzw = attrDataSem0.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/9773fd0aaf39e76a_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/9773fd0aaf39e76a_0000000000000000_vs.txt deleted file mode 100644 index 6d0b1029..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/9773fd0aaf39e76a_0000000000000000_vs.txt +++ /dev/null @@ -1,674 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 9773fd0aaf39e76a -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -layout(location = 6) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/9773fd0aaf8ce76a_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/9773fd0aaf8ce76a_0000000000000000_vs.txt deleted file mode 100644 index 17307138..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/9773fd0aaf8ce76a_0000000000000000_vs.txt +++ /dev/null @@ -1,676 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 9773fd0aaf8ce76a -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -layout(location = 6) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = attrDataSem3.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/97740d0aaf39e76a_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/97740d0aaf39e76a_0000000000000000_vs.txt deleted file mode 100644 index 9c608183..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/97740d0aaf39e76a_0000000000000000_vs.txt +++ /dev/null @@ -1,674 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 97740d0aaf39e76a -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -layout(location = 6) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/97740d0aaf8ce76a_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/97740d0aaf8ce76a_0000000000000000_vs.txt deleted file mode 100644 index 0d4c667d..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/97740d0aaf8ce76a_0000000000000000_vs.txt +++ /dev/null @@ -1,676 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 97740d0aaf8ce76a -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -layout(location = 6) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = attrDataSem3.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/9775050a6739e762_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/9775050a6739e762_0000000000000000_vs.txt deleted file mode 100644 index dda8b12b..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/9775050a6739e762_0000000000000000_vs.txt +++ /dev/null @@ -1,674 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 9775050a6739e762 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -layout(location = 6) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyzw = attrDataSem0.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/9775050aaf39e76a_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/9775050aaf39e76a_0000000000000000_vs.txt deleted file mode 100644 index 4dadc6c2..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/9775050aaf39e76a_0000000000000000_vs.txt +++ /dev/null @@ -1,674 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 9775050aaf39e76a -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -layout(location = 6) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/978fbd0a6739e762_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/978fbd0a6739e762_0000000000000000_vs.txt deleted file mode 100644 index aa2d0e95..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/978fbd0a6739e762_0000000000000000_vs.txt +++ /dev/null @@ -1,674 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 978fbd0a6739e762 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -layout(location = 6) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyzw = attrDataSem0.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/978fbd0aaf39e76a_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/978fbd0aaf39e76a_0000000000000000_vs.txt deleted file mode 100644 index 8f04da05..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/978fbd0aaf39e76a_0000000000000000_vs.txt +++ /dev/null @@ -1,674 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 978fbd0aaf39e76a -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem4; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -layout(location = 6) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/9b03fe2a1c028702_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/9b03fe2a1c028702_0000000000000000_vs.txt deleted file mode 100644 index f4f34b15..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/9b03fe2a1c028702_0000000000000000_vs.txt +++ /dev/null @@ -1,677 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 9b03fe2a1c028702 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -layout(location = 7) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = attrDataSem7.xyzw; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/9b03fe2a1c558702_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/9b03fe2a1c558702_0000000000000000_vs.txt deleted file mode 100644 index 2c18d671..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/9b03fe2a1c558702_0000000000000000_vs.txt +++ /dev/null @@ -1,679 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 9b03fe2a1c558702 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -layout(location = 7) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = attrDataSem7.xyzw; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = attrDataSem3.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/9b040e2a1c028702_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/9b040e2a1c028702_0000000000000000_vs.txt deleted file mode 100644 index 651a5494..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/9b040e2a1c028702_0000000000000000_vs.txt +++ /dev/null @@ -1,677 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 9b040e2a1c028702 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -layout(location = 7) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = attrDataSem7.xyzw; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/9b05062a1c028702_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/9b05062a1c028702_0000000000000000_vs.txt deleted file mode 100644 index 46ebdc15..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/9b05062a1c028702_0000000000000000_vs.txt +++ /dev/null @@ -1,677 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 9b05062a1c028702 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -layout(location = 7) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = attrDataSem7.xyzw; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/9b05062a1c558702_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/9b05062a1c558702_0000000000000000_vs.txt deleted file mode 100644 index 7565e107..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/9b05062a1c558702_0000000000000000_vs.txt +++ /dev/null @@ -1,679 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 9b05062a1c558702 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -layout(location = 7) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = attrDataSem7.xyzw; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = attrDataSem3.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/9b1fbe2a1c028702_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/9b1fbe2a1c028702_0000000000000000_vs.txt deleted file mode 100644 index c4307451..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/9b1fbe2a1c028702_0000000000000000_vs.txt +++ /dev/null @@ -1,677 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader 9b1fbe2a1c028702 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -layout(location = 7) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = attrDataSem7.xyzw; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/ToonScale.png b/Modifications/TokyoMirage_ScaleToonShader/ToonScale.png deleted file mode 100644 index 3f8b6cec849dd4f7447db9ff7fb1c1efb3dfab07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2242450 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 vpdp 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

Tkw3YphR>gMuay4biJKckucm*U$kMqQWL>< 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

UoCD(P9*BiVP~ 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%0Dgiy5+LhvGfZvJqpor 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 U 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

4N2#@{W3IOHUh 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%0A_zG z3Di!(Yx_Z`KN`5V#nZb%bR=<1MXAjq-8-*K`$4K=9Gx@E-gOayOa$x;n3a>mXOOWne zzv80id!bn|2g+SK5nN^E404OXmLKumnR(d{Ao+4qhyEuI>rEeh$J+7h`-EPA5GMRc zNEdmR+0CYRW&S=}Yi5E;#~GfZL|UsRQDD1ZFG>x(PJ`Fxlw&AG*2{<9-HznN>D zn|zg-HSTNp?YZK{ScM&8%FmbTT6YG;y*ma-d7m0wfCw$ zws;G_v0Mvce_p8|AOPY8W~{Pfj$&z_L>_u!XueEs?>u`UPeqo~LthQ;mey*FssQ z)-967PFhZk=Q)G&>ct-oZgI8(N^cH_EWc%}!#pQDZW6KuyWaT=O@pPLV}4Nag@51Q z4Hb$;;}k!6|NWiba8k4_SSCx#x!jFzgM#9_Vr8RhUd1%(PWX5-Kea=iH^wDHZ0_JT z!vD-OVl5iAVw@#efE<_N6BdMDd{Km28;QRIAT{q6yN(wlM;3N3n&+DXKoK=4 z{^x@rm{z8)6Yu(`VZ$$VfTT1N&eR3uGC)aAsq^vvxBO&wPI#K^Jkfvclh$f?cImb< z`?s(_Z6_H5Zl)iP*0mFdV(syuukye}D%LZXV?(99J89*zd3PM`g!b~ZKEqD$t8Svo z*xKh!KcH;Su=YrP=MKiKfzg=9d%^&CKD+(}z>9l9TZi^1CF^G5>3 z$LUKIA;zsolf$jxkwprN5FAYhV&OEQHnZ7d8(8i8wYpgu`KGTEKK@O3ekm1-e=k_u z8_JE+c%8uX4FAy2AJz}uhXS!q(0tZc0S1CbR3R7O&VSO*JR^=}`$blAYXlvf9$!Yd zeJBnKeD=tXtY0<1jOTF*Yj$QC1M%a&oP-ZX-D9dOPUVh*sDPR+O{~2Ti-jvIv7)n) z$3JO8Nt;W+h*TX>fBaN|Sp`R>=FOoEFC4CV&C;0vlr%*FEm3M%n-*JhxqUgGMkI^8 zvv$N@Y}5>y>U6nOS58UxHUb=I%Qwcl?BH*SL88`qA5uelYIS;W(yg9@JYv5TXn_*%!MmFbGkS)u*jHjMr0 zQJMXV@?0*P3!bcd;<@;t)$T-6k!I`uL=h;b1ncw0e=nW6tX427E8g>d0v&#W2jH^R zwL({><}6C$vIowRg&w4%g!(y0Lmg&=!{JNDTw<)K=3UaQ#pfTsCQ)Nq<5qx@#`_}a z;(89SGI7`XF|1J&&ohQD#Q8#qi<6$*t39BVP4Iyz8X;=+^w#SrY>dJA!$@qkwpIZK zRHqygA`~zv$?9z0(Ip5JCnV;ZG9DZeIrsK zFajrGvm0CsDE%Pb$>s&?hALP@uQ7TwPABfWSG`ZCij>X`OS>?UqUTeJ@tdQ&kj%(9 zrI6TUGVn(8IqUL$x%iVPwhTsXHhBHmA$4Sg)`vjDk(sG0{txjH4M~7(CdD0AMrOZ6C_}=9(J2!dqdjv>yDrta?4Bn4qQa0l>VDB1P=?EY?6TB$0Fo2b(nB-^3-Ix9bp~7+w>a2< ziNRBKoGiN1@$g=vUP}g%m!#d{eUxt>auTaayQKg$B0C~jG3-bZY&SS)gQfWCEg10^ zA+-Kt7hI+AW!~)L;_PR}n^xT$&Vo3R6Oc`L?dQwVX+{Xg%Lu`-+@q81!nb-h9|WHRBEepHT+rCQn59)XzWZjE9#8@ zm@ug&Dgu?Op4t`IFvnznEl@nuF5C1zF!u#^eMU8^KiWUHck@_d=c9v$RtT}EPbpo&^G;#}JH`3|on-Zpv$jIEpKAPbz`OTsHSjXSgJNg8>eLm=?= z#(Vj)$$(Ld?R=7Zv~u5B`xi_<-TD~RluR6NMJ1J6(XLS19$5%=N1TzJt6e{ZR-bTt zo6(X>GM2 zIzGZU?AbPujN$x|e>p-vG6YwJQM~SPkQVyF_lN%X4Xm8ZZ~)#vy(qgQP?u_rLlt}} zdN5H#0AsXmT;?mQp~=^Ko9{emwYVO0g2maUiF?A0=Yw1Oc*^;q-&Wn~MCg|Yw8&0z zdrL%Vo*su^#mssO{0;Boxv+#_T_066`;p(FOnl~tTeqHXVwmOTpZrLhIq7?^c#YE9 zjk_BDMkeyDXUs+?Gnj};_`40owANi;Nw4YJf1?{8PV&9Rce>Ii=fR_L1c}YKHQHMP zgBN)oxJ3;_m!CfiPAe?&bF!pSazxj@S<`-h#53CP^)JSE`-%KbPf>-cY|f*EZMdPI z#*)!Wq)l)Vs38L;dA!IDTTk+Rx8%C@FkR!8{RziIh7H7Z2fsFj!xiJ1IAwS5jW}Dl+?>xlAZx~h>*ft zaC9%L*YFHH#jb|eoD2x;?|?}qPa0Q=5QFYw7?5WWw4+z4wXX4s#bfkm2J7{X@{Ub% z5^JiVTI44L%lkxe@lQro!C{KZyYe1+GBTZo7aFamH3lAZDMJzUT68Ued2;*bYob$&NVD*z!+S@sERw3%e$tdGHjqMf6Xm zy8P3qz?+qL`ajqMH>iBmM}7bx+}UczoZTh_4T{zn%<2pTZ$8pYA)DTT2^ z3JpT_AqV-#5`|O7-BOpGY3Ye;A&rnBe0PF2TsgxS{B1n1>V{n|MVj03zsVnKL9W)I5|#Y|z9HqHG|@QIu(PI927+=FI%@~AXn zEdtvpu}xB@2p_HLxuz9KVQDRn>k{#T;8)%(r>SgKYOy#4$yB3!-2ATrq}>u$QJp9e zg}P1%)7ZZ5PV4!_h0Jy9mt-f*Yjr&NA%;wzNYE{r9fz0ep=jJp;^0SLBPw&AlMAP2! z*6zgg!bGnTsX5yhiEy~mL2I!~Vw@6GGCMsFHa$s-OsNvK)Be0|0mPg?mA zbWcV;3jjU5r*WMmnNA~uiw?dc0rs(FW(+mA&s~gnYq`YLIO# zM2l1lgWMEX9+%8Vz!jhmX1`1Qg39K=W8`g53--k+vrE*a)^^N$JYiJ0wDbO-zC}IM zbHS%Y<3l2FGqqwKnHr^3#gpJC3RW zB*BN0#_7ScAgtEE1uFYt5G+T`FC{J}IW25TZe6kgayF!|HMN&M5fb{_8@IOX;1Fen za8V*YMUk2^;Kwbs;D(MNG`}RZm6w}nYsX^o@{G0IlMEfwZPM4s-^^#K7P#=6$qJq^ zg);$JL_4&bNeJUwb+ko52m>_6Brtyl)?8WV0XJwVKIlSWk>7Un;w9BsDjg|PNIL~2 zs%ff6njVh=P0@KA-LF@NO3KHtqt0H1AH9l5`%EduNN=U8*YW+sbtJY6o3qD@Gew%B zk%5yi1r zt%Xlqn7GsGo#F?%UN#XZfziB10uc13z3-va;cX6Sur!psJ?8w+;xega>?zc@Y>-=# zrm-~d%bXKJs_>7zp`d1shDflrw|_<1?_KqNq4mC$mI)P_I&!PFN$iPT5Pg206mhIj zoP8QJjN2-&LHd&#v@GL1A5T;(DkOvwdHiJK@Q=JAd)^(v)X46zaXjg6(oZc|-bHx0 z78Ur@vYo#5ig#E)`rYSM$)f3H*taX^$efK%?YU*_qE1Ug6=x64o8lveLN1E8wR|b7 zSC2M)T??zqZs%|+dX{|7#G;>Tz!prQxkyIMvsx``!_|9@`g0tR2*|?m-VTiy>rueG zuNYi9WamWxy6w2DQDP?CE_BInF$v?MO7nW;`n=p|p4q4vkp!FA^q7`x-Dz+)H9G51 zHXhNUYvshcLH+e_day=Xh-Nf5dNjSQ;nSW0^22!?YSABiJJ(M)qCDcdW_e+swe3X} zQX?PAnMliKhrK3Q+EmC3>meVJX^UHQB2i5H+s?2P2Cm$5TLq7_fq@I2?h=@VpF|Ad zDz!0aiflWxa{e@hJO2GF`0h#c6z-`o6DOXghS5t0k^{2#kd-8tn|5pP|qaji!Jz*VYlz-dZW}7;N%qx zx7=T?Y?l@uB*&!Oa*{17nEDVi*?;Cg+isp7?0K9@rkFMXLfY1t%i9iDw}w%KmNMn< zY5~}r)Le+xsL&kz{+O^It;A2)dZFBQkT%y2LEA#|{+3j02&<@9rC7Vz)T2G~_Qt3u z6NSs|g)ilBHR1mJ18b@y%1P1Lg?ue#;MsvXWsP%)ReBSc4XX4!vDCNyc1B+_aP~`r z2!!lhIkjgtOjFJEdn+bAzcka`%7f(+^O^~`lkMpc5vE@4;Gmjy#uA|nV(7oiYz#&rIc%9@iF+;xZ9 zKNNMuY$dV?qPIma7ly*#F$&ify`^c81jE2d{u-HG$WlR`J0xR{&3hIy}8l?bXCF2dnQ#u9&{$L{D_m zZ&A;!?#DlB5aeqxN=eMBu&5pAmvJ=LjQCvg-2)dqEAp{zk3MIKx5w3^a_(*og*w6H;rl+y{3XkIOOKVSXp*A?HI~AtfmrNusKa4?}3frxZ zq%=skfJ&Euz)(s{cSs8|(%mIp0wN$abT^1}mw>c%cXu~@55Dg?=lf^8bY`}5!OZNn z?|ZG^!n-~r#z45fCpz`q+c1cQG=C9#1S#v^@PQGnlR9S14>DmTctFDxz=U1(gqI*NhpKT20E$#Kw2dKH2GC|zydJ2g2Auj_40*$+=L%fp@p z1kljx0)Wi7?=OG=ejy4QbjRRf+!s9|vAsD)a2dM9Y0}OYRo=E~id`d|&G@07J*8$J z{kcG+q~$*d3O0Jjh<_E|KtcZF6aQzjDGCq}|HNt|h?@OVqU3$hxgP<#K&$?94g6FX2Ndv7xVv(GQkk8u8 zZa`x8;TorP<*LGiVs0&urfW;5{?{H z+ugQnU1<)lzz4cp64LEo*s|ZN!8vY!4GWeE7K% zbegTGEb`{qtat)RbB~xqwaHBj?MFz2uOl)&=<#qHAM-6Ym`~Zl$7*jKX~J(xCy{@RoOLRpf^LYyzOua1UwNM-%2)9twEUE{^J0E=}AeLVlOq7yDY4La72 zI5u(=n8v4bo;kKhU_V$}{viza`x{`C?&8z^;q?=phu8IGCdf7ZuZ5qL-=i2zmFz7x zdShSiE}&;ll=ynfUie`PzG}OP{{3Xb5O)VAEZ6dT(zz?#_reAaD@g!X==9WI*!`vf zzi^a#LQj$hqLSOTkQ3HC2*Y}a7eoLTkkB`vcs%oDtHBjyK`Vhh4iZsL3~iH z1p=M|bFVbP{HnQOwi+U7}Av*SxgKuvSF|gnw(?kRPL@pqEIfzK~?`U|51w=$zn3(ZBKC!D`j&?uAB|!Cx z!Ub70ta)6+MFL#-6x>!Uy{Pm>63VBPhQJn(8gCPyh=VYKXJlw%M=mQ9j9i+>9*^_v zDW0g`mpe@NQPAK1sD%Ty~@aE-oCX>w^L;8S2( z*!~VcY@1w!BPJq6Txl1XE?+^#4k!mNS8v;e?q$nzhKHuE7FKU>sG*hBo6GE1tsU`F z#CW)9yN(VKD^DGYB%pR4MPUr6N5EzcXu-)aj3$Qs7Bg@ixRo|x3jG0@9miFu`<~95 z%SW-@FadH-Hf7Ed-=QCTCCwTn?QUbTCVNmhqL(vYbxF#FhQ|{V2(ijaCo6$7w?e{o zN5IIykBDS4itG2)GRYBI=H0?u{%#cNyz*Vql?g(ri8;O5k7uko#fV4L7`+Zq47k)TcXloI&e)phf-PZgmAMYbT zWN>R0QHXUQskqmPgXLtn~ZRfR?3WZTlPynm4uJjwM^rU%bfoTf_FcE@hElj(gd z%~_e0Fb!nSQ6AKQJfetATlKm+^txdF*+!rqr;a{CH7v7Wf=`_ZQtVXnv|^NR;ssEH z=KshLAENVkbjQ8||Qg?I7 zNvTVGmLbYUqJt@9L+r0>l-;{5eSEDk>2Rq!`V7`zVI|Li@)1Wsr+k^OZmff6woKp| z&9?tZy}fcZ(}tmmn3Zv3?fz^)*F;H6GJ0MclI8PMo;W|&pvE^%3GM>1BE&fJ9*aqZVYky zrz-dTht|i!rK7c1iwwVnJXk3!Ta)QT6xx1Tjkn!xEU)7YA1dn9KVa%Kp5Palm%d$U zWobcA@B0*;W>bu<)56`;^wP1_JpIi_yiu``y7+!jdOn2)3w31i;L#_{_hBKKv8s%_Du@NW69kgaWL-gM*BfrEH#Xw^VqG+AzYd8LqzaR8kv zYXU|#I^El)2HS5u=J>{PWLWu4?azmIID=D_F4bhlg4-yDY4(HdCs9UKR zw}Z3Z;4Mb4SwsSAlPDCB_)TIt9pl3+5Qtv=91S2pINE&MMeG9Ochuys^lx3^XV*>O zApc2FI7;%w)n06Pc35$@+kt$f6wFJ@Yy^zKMe^;!>#op;3$kXUHxO%j&=;9{eT!D4 z48{Xlqg!X&+JF|GbU4rd;Gg9mt*CT`9~znhuD*TYm25R(5VmbnB$?!-1rOTkX~?Or z8^xn@XM}=vtM8(_$VMl{&X977g0)9JsA&N#v)8_F@y0h|*(yx9tTykrPFR}~Yz&0` zw2O*;`90cSrU)VbeFnWQtk)fW0=NT4Ol=F*XX}rEQCkQZY&yjOfqVyGLV2{s%zNc( zrv5S}CM~Jk`z4Wy^glY0w#Uihz{FQn4DAC3Zriq9v}j2~&MP4f!;p8<~X4WJ(Sf9wQ30#|hZt5AWc zb=^Xl7zg}%@2!8E{1M7O4!&w~{9TTt)h3NGy=*|<_Om*2Jw7E_{@+17^!uuQuQ3p< zN6jrgTYKc9HI<_1KWf^qpqt}j0hbC~BA+bPHzRmP6bxj$R`uEI?r&)Ag9gj#b$^DG znPv`$=Z9{sjCNVmuAYZ*E=JvN)6bi!djaOo)DBCUfsUXJB zZIXn0IW6xXU+o zbRI10+QW5TLa9bKcGb>aJ7Dy;!^Fo_>!&6A= znH4fw2RNoPV%vo2O@+rF{z^pEynA8c|F2he7lPYJ2;RaQzm&H}1517DhGNrp$TNrY zF*UKS$!M?_SDkt~J;U&8!<8!k8Ces#pSfuJLch4pSQ9&VkE>mOEp7Q=6Q?btrNaOF zfZyT1&OLL0qkv+ZPe8#a%*YZ{V(LWj5N-C?YD{s8&+nE}dk;tj`PR~=5$BpkRB!`_ zrz$f!9r*4hCR9)^;~1_TO@JH7j=21hJ@DW4{y$lZg5C1FvEHz!Ns!%Y#O=}!kQj{j znJ>FAgfC~fs4hPjJjS;W?svIKgyLU6nNQ-P1b?F5?`|=`L}6AROEat0N&&Q^6i8di z-?N3@eL&m71VN*g$7^RS4~TUM4a)!k3Z4KgJp4i>^3Z2EBK8ZpDA_T%;g}Q)zGaSK5#b!wA|^ z!e!@tg+`d2(^BW_F=<=#3@e!*VOYcLd1EDRDAin0C{!Wsa7kCn-11A=_DNYj7nR9x z@s?3A@62DpBgD|7_G!`U;=KI!bbB)9EeDW{&tIV+x5T8qJw!u=Pi1eg2zLHl)*_)9 z4E>DbvP2YsWIsd8g_Glt9Q;l6&%1bXW&sgwA8Q9*S%qNS5L@si=yjyDh>Huq;*0ep zjQn4nwiDE1=p8X0{cpwGNaGHPj&fZ~Zz`7k>-2c=1FcFWH;k4d{_Uh<;i zfN$m#)Tecmp6AScatc06D9+$VhS=5-Y=Apu_5Br6WQAfpF)ln_%#mR$`+b(OdB)BUM zaI7`-IQm>s$ViXcSG}$~=PjPhl(nP$tqcJ@o8_@J#bKNmHJ%XZvWcGeI65IR(gYz| zG}HiTL{h>3j-3jd zs{JHKqDCK7B-3I00ZI{QE-6`uIxe}rdoxS_2QOgRScEt0U;(bjed2B6gG8QeSitXX z#-W2fpnK8k6MXKj;mGjqJ7I+HjT6LRBkxgtKR=zAzumi&`6 z5rh#)jer6NHV&6jM!W=Jsa+HTHgI5rIkv*x@_?=r;9Q3?REiB8>uUV!N3>msE={RT zg8B$nCxRzf{v#X(ZA)|Lo_!!G!jA|5W*l}6t{W|h-^TP#8XWRPt-|F|vgPTBKFodm z^*Y&pl{=z0%esBSOZXG0i_IgpW zK%}uR7(|BMQ5h&fFHlC}f-2?;__?$D0g4ngq?0?N5|+q@FEx{Em<{6FkR(79Bt%W}zYf=6kk<*BNh=Df zo2<0qlh9GpTyofxjv1ojj{spy^|!j+uk$cJ&|t9yLLS5w-QSMx5~(LwAhPc2A#PL; z`f-A^RtVl55ReeFZ}yJ#Hul&&~{VAG&|`UkbTd^Xm>PK^#8<0L~WJ}{zh8(hcM z-BzsY9nq31Z)=7}yf#N%?I%HPxKMd*U8ET23hEnqG!R|9F{A8%zdhAyy$^h>wmtQ< z#5vvJKtw(V;Ie}=8RE$uqM@70YH%uS(X(#pF8wWP_m?3r&jUFiK%te{@efl+Pen%6 zJ1!x7o>XsyVoS@R<-nV%of?1MIpgz3=r15x%9x$_*}iwG1Efvi0p+e_5UsqZAxECI zUOw72ty}p-b(;?wG91Hs?NnD+LsyNXVpbVnYT@UER!k`@emL^{EZ~Iwp|E4l9D7lz zm)6B@gQEr!f(4p1s$Y!M_Dkeuuf5{pt`?E8ulQ^RSJ-XqtmgVIU&Wi@V!9JHZBL?> z`&|_Ne>82tRndQ^ugTt^q2k}9)wbt9L8?da*D7dY(nR6)n*Hx&7JS1!a$A5b{Z}Xl zB<_D7{TR?%{LduzTro!m*bM-7uh`~4P~RX=fIN$zi9qZsM>N>C&5c9-_y5gt!Be!Y0)E#Ty&pJ`z)r8V_&fV&A##*60#s>c z&Bh2o8Vme=EcFteRN61C{6z=w<13=#i2G!)!)>2n1-*_F@}6oH`hfM{8Gd}ntPv*q-`2yP*fYtuo*8c$@YPG(U%h&}RAsYmGMYM<==0LP zDY4fVpL@QyxZ5@(VtAxg8ot%zle1iBP>TgXe5lYT9$$paHZIO@&MKZR_}wSXQva<& zPoXQcUop3nw%`~Db;atdSm@{nvP-Aa1N2W6LUh=;FDZ^< zr8Nm`x(W^qe0vh8tu?Y_@8I<^h7-n3e6=&$?OQBDErom zpD+?DlMtONuba}-4kpJyiQE15@2*B^7WXdnAJ_>m*Us0%ev5WypaQhv0AEB{cHm31 zXFs+dyJa%N=tR~sPyyywpbYboJ*M;ErvDk31b7{A`lQ#pXjvAYi%|%`*;iZpaF9*3 z1&{SEg=M2Jodnn~RUp|fM%QvKr2-d#q>AU_;5=npugcN0f~qYc?$bX7_8tUA%du0N zo3$DhCcuE%hgdjjYHjNfW%MD9SqCnaO$)L82PmYUU1QM6YkO<(RXSSoYmzUKE!{=*g;1(Sm=qy zQCGo4*f3QiObWwOMdHvq{fWcrloMsDu*mal4 zVhKFO!>0U#dVkaTu2nD^;r1O=aQl+sT~N!>N`#<_FLqnjTkm*c8@N~G({v0c7eoI9k`THFp55S8F4uJ=pvI&lL zP^?W7>1RZ9mIBNRMQ#+j+na>BjT1nu(COtvU9%)VHb_0Qa4zx<;-5N_ss!CG?+d>F zKm^4G`O&e{@)wYj?1H3&hbG4p3sMW2iRg6rYu;A+ zM@C|hk&z0#p*L9d@ni!`jkvG??Hq*lzvW8X@jB`uEc^kwR}# zcuIOZ0rt$#@yiNIvUKvhyPFnoseF}nHqC8By3nzyk4+h*$yKIXZEPe}4V3k|Yk%rd1jp=Adg1Uw6Uwrc;l_2hjs#kN1ASrREb??4Zb$^kk zLaZgd_L1SCvEH8-tH`iVkkvE-y}EKduEjU>(!GBDmsH{X0W4d7KsJisoL95_{%Lm- z|1-^v)xkSbzyktCRP{{SKQ`iJAhSsj*2Q4Q*MfJm9I#^e_Mke=n@v0xa=WksZT2E+ zic}7=&*|QEBoE??P~|<6zH!RNI)cu5mEN-yxsFQO`*yNsXU#_IOfWwVePd?BH40ZO;2>H|hqSLJSOYzds^omP`Jf+9K zzsm4aMnQ?;o#4~`2qv$pFJSl#(q=qaFv270RR*3((~#H6KGq)xS}QIYT~bsLU_oc} zNAR->w+|K0MDw6iP~RlIl=+b`W$9Euw{OK6nvjst z!yJwA(|GFRkG|8n!6s+5y@Kx+wG0V;!`H<{D=LyN%QW0lb>mKTeE37u6jK$^H1N>G z>~J0QYEcKN1PI5IuHM)Xr8qjZ`2|8Y3-~ZuV#ODqZBBB>616F2%d6Nnh0O%;+0gP6 zFw)#TUurRt;%h=brj2L~$YB25=!BFa?E30nexZrSc9yvQ{Yn>F<)FOIv0ZM`80Z8f zWN8RINzsJGSE60~aTQGUsYLU(18w&)@9_Y37d@#}nj+uTrGJtm)3AfAhSN2f1?ys= zzb;rfq*w9^b}OKTwKXW|nL=*aYm_oEkw+6$Eqdz#f*2`5r9ANyhdav?-5X2Lwu5;d zrEOkN66;!jwr(yAH?udw^!h_WI-fMf&jmTm=sgPE6hiXB-!t-F)w#07DDt3umJNg$ z7NcyK>;jLg)wh2wcw;4F1I+Q9JI&;#fa*RI@V0traLsulTVAAyY#`X4m@wg|Orps1 z@VQZrE7uT~;gM!sh+}CJQe zVUxK{J}yvXKYH`C8&oab)L1RZ)@ z`Ox2H9ep^5;noy;Z5uwFnY47=ifNL(V{jzIzu1e5U4q1Ye{+w(6~X)O}|y!F>bO-j$HVN%pnpMC14Gd z!u8{li6-Hx#t?wks@HaFf`11ntrfx;t;XR7(0Zq?YNEhjw5aJJhU0M=>s z@Kz+7kc4mI9s-N{WNfxajp$iC;g}tzrKvMvlHH(lbkCs~cDM`v{npI+n~a0jG|JO?fSA7%^vtLy zy2cm0C@3U@@Ykm`HsXDlfuv;?Be_jmp{uQ8Wb6@QsBf!QzES=4=d`dbhwKWoa%zGt zJ19sq8(ivWW)Bz?DR(hCf)Ou2G!~+sZxjnTf7>D19E@nrso8E^n3&W-4KnQVUO0?ziEWnkR)DCQr zy7z7J7~a+>wQwIs&Zl4q-={CWD0+|A1z);E8h_UxX*)FoTr}2+*-YQ`Jt9n;x+mm1M+zHPj(x0+iwp%$v$V(PfNnX~jBa!^0HsLzMC1Sdg01 z!pPmZj1I&n$IB|xnFEmCuN!vWcZoX3cFERbdW0C~?A_rWK{L|6 z_~es0fdtng=J&RSqkQt=Sj}|T{1&ne(nQY67pT<|U9Ol#UTRrpKmmg?iz0g|xrRED z2E575*~0~RQ0{hR1$Jg*SDrhqjl(^f=TD5ic2U=R8AaPZrI9AT(^FM6e`8M&SJ_8R zgwENjAGVoiFI%N7X)ABPTk|e8a})D=EVRI0a~r>eR&6^E^STYQBF#7x#pW14*6P_> z(gqyQvSa26w=_i)8$d2=Bg#-L>#+QQWG6K~cb?I)xl?a$84y>*r$pqVreR~o*Re}z z#zpmcQg$?H7+>*#9$yJ1l3l2z$nm5Rnl48Yn*52Y*>h`nrF?n!x^?|GX!K!dns{K= zM%%U9#AY%@iVp|#H;DN}3;)h|YyHjyy4oI~1CP9N@$NM#cSN5gO}0E-8lX5Frb`92 z0+Z`{p2(cS3kVhtux)bZUB?){pmPKnii%+^oK2K45qLvWF?tY$+t33Q6gj_CFJA~_ zN2Kzj+lGgK8ymq4xIj)jZ55=i6^6@}e&@~eVzvaOIZ>r7_XYNwtj_kf;OCn7xER1* z6hQ_UyQd?+jqr2+!gh&x-Fo}n8&~!TO^2agnXn7WbsKr} z%HozghRZJAE_UxSjiI9%Jcwrh^(QuX-@YDr7p@`oye|yH?+VO_d1w#?L=jqKj?_Kc z;0^V}*!vmoI)Z{M|1bO-Op~@qO7a#mvFtnW2~6 zGv?MNGe@vLmTaQn4||BOYhG*vIV6>^a&$Z77B*oD37K{2iSO#irI?Dqjyan(tR`)`5{_ z2~=4|LyQe7zoOeDtW12935%{+^<DmB1p(wjFN8ksOu%?Wbn2-zCd9Qyk3Z0j&5bInh2ZfHiw@eG) z^L!<{5(NQD&_|}Z6#sGVut96PEMy7BAm_-*Y(k!ZRhF(4`Lm3pR*cV&G;0({1`nOP ztHaF0M4hMv)`Asr%dF2Dj`H4Vn^=S_hRY^dHTW#@ogv>{qT-&vRuMBRkzyoZ+Xr>V zFPQQ}-5>b_@{I$oN{Y0TJ7Cm5wG*RH7^?v|$OYyZ*L8NH0L=mgyW9=3jsOYUe60qv ze9?&yoo6QEYP>u#N&U;}g`drc`YD#>lNK|%F*9xpx*O@02Y@HR@YBa{%DI||acFVm z8%Q(-0j!P#VM}okSoEhKkYVojQ|5DcfrxrUg=O<4SCM2py!}pn|C#b^o0qR7J3fGl-3hq?CN(5ASKczUO#?F0q8^H87VQvd8+aR00QU}7WI4&lDJePqfR>I}Z8 z17uz?cHfY-e)yI_^Mi`3d&K5|JKw7M+nE zfgYG&gxSnzlH*db*EiZrBe=06T?;uuB@@8OE@%K3f%z!(W4(kBm7b9h_Cnl9>m{1M z*Gq%HE{hjIRK5A5BuAte;Jj^J2LnIhHYb(SPzR2akLRPmLwb|P(BlVltT($jrVkDzG^3CC=j)CKkNai&*`-(n1;SAuqmU-#mK!|#gr^;82S(Pq?AD^bR4smKMOb7X5i(7i zwD`C6%*OD*jJF!f2b%&~)l&bdnzl#Uu8}pp-T|s>A@tpPsOh(#s|Zp$m#m=3<>HF7 z0~e~>PlSrT#nu7|>e{vIgLDaut6Cble-f{8=IcleeRU5PG!kz-3o01sphxv>H9p4L zMwIpT&3^?%Sy2aYR#9wW*0ix}2Y&Ndid_RdKSZi|O_DRK$Uv;u=@xf0by8htA6xg3 zFsk$#@Goy;N8W;xR=aFHlt21+xcEi54XCS;=7)}He=#WylDs~}K+Lji^N%B~AIK-y znD6@8miCSwXhsuog|BV2Ftk^4%U;zWro-caHaY+Z}ms5HXCrVwgJRKpoT^jw}sSKmmT(1KLLz z)Wx>%(&YY7FHP~$-pH=jK(XN%WS{ouh%70V|EMYHF#dgwm}_9Zh4nIjS@~ErPl4`ki1#X)cOey|{uik3)VnRz#!O z!IzSA!cEiq%sf3PPWaHA^2C@&X2q6tS27c`gG%A^l6HeC9~A#Lc3EbW--aHE_d93r;!n0zRQs*38yitW1Tco zI-mIZ$twj?6g;}GPv*561YKz+8Oa&!EC>d6T8zN=v-vu%brbT6jS9Ou$fUX5u*APM zg+Jun2#xA$P;t2_?r8x%e3|MK>({Uy56Tn!_?sDTzf+cZgOcPX%a{7hK{bP}R=j;U%=G@y%UaGfaylmrC^Q%<@^al@fBiQYSP37GRn^oO#r)H&%XO zK|+DIXDQ#RRy{#h^2~7j7~B8qdynEM_f%mHT9b*9yQRcoCtLvA-Z!CAJ>usZ%95+} z*ORUX_eeD#R>m9V)AS4TAh`y6T#vw25`a%uZ5T!X7i;120U5daBuU40&FPjW7$*cL zUo%RIre6~=emae1b(CiUDmcen&0`mJEva!aRwh}ucTriMQDAG|*WI$%Mo5^bU_^P* zx_B-G{WK^X<)Za^F16(paOez5PwsOt592Be2~0oT|8gU^wOx~5++`dnUzROgV9|pI zWVJ&j-Hkj3jaL=JS0~eBp`(0|@mA47jeFOAv&-JZ$~1T20D?JYlTzqz?9O6QdHodK zRTi2;Wn*ysTB`wWF<@S6p1bUqmy~{2PnycudEtKe2ecgLJ=G*2LMXBy2kl|MM~x>F zlF)CMn5Y}}k&Q3TMAlBAHrH47yjQ!ZsseS`77ofEtV9>H?aS)f$=+oBZa=QE(Zs=h zTBS#aKe@?_hW#WL(pC2S#nW{Zl(vR6ID@cu)*#F9jgU$FvBp#g~M-7hQbbi8o9M`n7eh%P}W z?XV%ZLo7U@rH^_p&-)_Np7XTQC^LUW3#cSvD9bE*ilrj}USr1ehvyBosJ_;7z6cwG zt#x0y;t5t!D5;;Yqog8>Jso_P=R^ma+(c~I9eRsPBhcpC$|-=qzK9+<3SeBYTHE2p zOqZ@uJ`N@D#!un+XlO@M)H~?2NARiaMwMWf&mOHRHn!zY5r#ojyI#;iuUQwr5VAwE zk!2Pe`+<|5K{D4MWw~z68FQD7Giz=zLcFN0U11TY`|vTO-eptXO9xXH9jB zOZ!yllpoHY*tq8NQvwUS)`xASlWPkdi>^5VM~kGL)t13GlD_d5c1NZwkp-W6bg!Fe zwBxR%=W&kXnowM2gyHN@q8+@!)?k9LtBD_I*vsD$;SpDYfXyO1Wj^*3gRhtTXWR&lR>LM8ArZz&kqL4M#~*c^YHj3?bqHP zqD*2SJJ5Gifm2w(KEP#7_9d(yE|)detuT&#Ajay{|7G(%AGl=C9x%sSob$d%lFH%y zoX;8j3^zM|Eu40woPg6~G4XF|Vnu2l zj?UvU2mL7xX^^2gD>5j>Q>K9rLo5WFgP4$ScEIX}!I&Z4kxbb0XcYMOSGo6f&p(>^ zYe#X$KsksOm1f0py^&J77I09*ZP@nVXG0kRWrnqE_+F8fE~ywcCRhXT zRSB!hq$c(p(O_E`_@+LF|IE;fGR{|}Oot6&luo}e=Kd9f-xB)^k^ZRwVh>8SXkXk8 zHIs`ltY0SZ`eba#>x5BYbK8Fdn<}KazWU$@s&{o#db>3?oGH;#Q=a)nFm&Hwl)Ffw zMt_hH_+FhGYjX!(HH$QBga@)uvTTjM2;!K3MK!WbJG$*C&)l1w1)(*Lg|Imc=cOyX zTLHetFzD&Y35kRCi;2Vd`jcIgOOj(Huk2gWD<#dzLpQxlCh{}2lf?4OdBi)?K(}ne zZ;5~ixNKcANh37yf~&qH5$!XrX( z0SVHLusfSHsj+jR)tPN3G;7jC-4N17hB~nXM$ZtvT{EGgpW8$d-!T!LFCh6=>%o}C zdIk5LunCm1(k?X_*To#wEz0j&uB_gA�nok~m!&4$mT&~^(#)c= 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

+$ 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�n&OPEJdAWUYIn9QaF!3;J&-A6+_#>$ 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%0A_yDbW!z3x@o66^EB!h!$G0#aO?7wm; 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Ν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

    )@Y~Ewe5*_PSjUF)%yKjYFDKR?8ARHi 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 z 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%0AosfU*9uL8WztZmj8|aLJ^ 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%0D*6%kO_Zf{;X|5lXn4qcIh#Z4I19vC5 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 z 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%0AOQ-SF#UdZ>l%H-j};XUN#E?tR}`&ycGTFtJC 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∾~ZJ*^(lwz? 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%0AO<(gWtWUX61C#jAbEyDK3cZ3 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 RAshm}Zt5E96l+<9{tp0og(Ls~ diff --git a/Modifications/TokyoMirage_ScaleToonShader/bb03fbca128c872a_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/bb03fbca128c872a_0000000000000000_vs.txt deleted file mode 100644 index 896be382..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/bb03fbca128c872a_0000000000000000_vs.txt +++ /dev/null @@ -1,678 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader bb03fbca128c872a -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -layout(location = 7) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.xy,0,0); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), 0, 1); -attrDecoder.xy = floatBitsToUint(vec2(attrDataSem1.xy)/255.0); -attrDecoder.zw = uvec2(0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/bb040bca128c872a_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/bb040bca128c872a_0000000000000000_vs.txt deleted file mode 100644 index 1698c513..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/bb040bca128c872a_0000000000000000_vs.txt +++ /dev/null @@ -1,678 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader bb040bca128c872a -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -layout(location = 7) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.xy,0,0); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), 0, 1); -attrDecoder.xy = floatBitsToUint(vec2(attrDataSem1.xy)/255.0); -attrDecoder.zw = uvec2(0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/bb0503ca128c872a_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/bb0503ca128c872a_0000000000000000_vs.txt deleted file mode 100644 index c50e8c4f..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/bb0503ca128c872a_0000000000000000_vs.txt +++ /dev/null @@ -1,678 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader bb0503ca128c872a -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -layout(location = 7) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.xy,0,0); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), 0, 1); -attrDecoder.xy = floatBitsToUint(vec2(attrDataSem1.xy)/255.0); -attrDecoder.zw = uvec2(0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/bb1fbbca128c872a_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/bb1fbbca128c872a_0000000000000000_vs.txt deleted file mode 100644 index 72f8421f..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/bb1fbbca128c872a_0000000000000000_vs.txt +++ /dev/null @@ -1,678 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader bb1fbbca128c872a -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem7; -layout(location = 6) in uvec4 attrDataSem8; -layout(location = 7) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.xy,0,0); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), 0, 1); -attrDecoder.xy = floatBitsToUint(vec2(attrDataSem1.xy)/255.0); -attrDecoder.zw = uvec2(0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = floatBitsToUint(float(attrDataSem4.x)/255.0); -attrDecoder.yzw = uvec3(0); -R4i = ivec4(int(attrDecoder.x), floatBitsToInt(0.0), floatBitsToInt(0.0), floatBitsToInt(1.0)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R4i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R12i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R10i.x = 0; -PS0i = R10i.x; -// 1 -R12i.x = 0; -R10i.yzw = ivec3(0,0,0); -R12i.y = 0; -PS1i = R12i.y; -// 2 -R13i.x = 0; -R12i.z = 0; -R12i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R13i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R13i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R13i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R13i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R13i.x; -PV0i.w = R0i.w; -R127i.y = ((R13i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R13i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R13i.x = backupReg0i + int(1); -PS0i = R13i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R7i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R7i.xyzw = floatBitsToInt(uf_blockVS6[R7i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R9i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R10i.z; -R10i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R10i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R10i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R10i.z; -// 4 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R10i.w; -backupReg4i = R12i.w; -R12i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R12i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R12i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R12i.w)) + uf_blockVS5[0].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[0].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R12i.w)) + uf_blockVS5[1].w)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[1].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[2].z)); -PS1i = R125i.w; -// 2 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R12i.w)) + uf_blockVS5[2].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[2].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), uf_blockVS5[3].z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), uf_blockVS5[3].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), uf_blockVS5[3].z)); -PS0i = R124i.y; -// 3 -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R12i.w)) + uf_blockVS5[3].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockVS3[14].z)); -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS1i = R0i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -backupReg4i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R126i.z; -// 5 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R125i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg4i))); -PS1i = R125i.w; -// 6 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R124i.z; -backupReg3i = R124i.w; -backupReg4i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg2i))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.y)) + intBitsToFloat(backupReg3i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.z)) + intBitsToFloat(backupReg4i))); -PS0i = R124i.y; -// 7 -backupReg0i = R124i.x; -backupReg1i = R0i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R10i.w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x447a0000) * toonScale); -R0i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(0x400ccccd)); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -PS1i = R8i.x; -// 8 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.w))); -PS0i = R8i.y; -// 9 -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R125i.z))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.w))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.y))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.x))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.y))); -PS1i = R10i.z; -// 10 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.x))); -R8i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.x))); -PS0i = R8i.w; -// 11 -R11i.z = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R124i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(R0i.w))); -PS1i = R12i.x; -// 14 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R124i.z))); -PS0i = R12i.y; -// 15 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.w))); -PS1i = R12i.z; -// 16 -predResult = (R4i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R4i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R6i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R7i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(1.0 / uf_blockVS1[0].y); -PS0i = R126i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R10i.z),intBitsToFloat(R5i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R7i.z),intBitsToFloat(R8i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.x))); -PS0i = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0x3b449ba6; -PS1i = R6i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R127i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R127i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R127i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/d197a7aa2d4a9878_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/d197a7aa2d4a9878_0000000000000000_vs.txt deleted file mode 100644 index 0f0e6ad8..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/d197a7aa2d4a9878_0000000000000000_vs.txt +++ /dev/null @@ -1,250 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader d197a7aa2d4a9878 -uniform ivec4 uf_remappedVS[15]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = ((attrDecoder.xy>>8)&0xFF)|((attrDecoder.xy<<8)&0xFF00); -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xy = floatBitsToUint(vec2(float(attrDecoder.x), float(attrDecoder.y))/65535.0); -attrDecoder.zw = uvec2(0); -R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.xyz = vec3(R3f.x,R3f.y,R3f.z); -R127f.w = 1.0; -R124f.z = 0.0; -PS0f = R124f.z; -// 1 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.z = intBitsToFloat(0x3b449ba6); -PS1f = R3f.z; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R126f.x = PV1f.x; -PS0f = R126f.x; -// 3 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R126f.y = PV0f.x; -PS1f = R126f.y; -// 4 -R124f.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV0f.x = R124f.x; -PV0f.y = R124f.x; -PV0f.z = R124f.x; -PV0f.w = R124f.x; -R125f.z = PV1f.x; -PS0f = R125f.z; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R125f.y = tempf.x; -tempResultf = log2(R1f.x); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R126f.z = tempResultf; -PS1f = R126f.z; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R2f.z = tempf.x; -tempResultf = log2(R1f.y); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R125f.x = tempResultf; -PS0f = R125f.x; -// 7 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R126f.w = tempf.x; -tempResultf = log2(R1f.z); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127f.z = tempResultf; -PS1f = R127f.z; -// 8 -tempf.x = dot(vec4(R124f.x,R125f.y,R2f.z,PV1f.x),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R4f.w = tempf.x; -R127f.y = R126f.z * intBitsToFloat(0x400ccccd); -PS0f = R127f.y; -// 9 -R127f.x = dot(vec4(R126f.x,R126f.y,R125f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); -PV1f.x = R127f.x; -PV1f.y = R127f.x; -PV1f.z = R127f.x; -PV1f.w = R127f.x; -tempResultf = log2(PV0f.x); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1f = tempResultf; -// 10 -backupReg0f = R126f.y; -tempf.x = dot(vec4(R126f.x,backupReg0f,R125f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R126f.y = tempf.x; -R126f.x = PS1f * intBitsToFloat(0x3f400000); -PS0f = R126f.x; -// 11 -tempf.x = dot(vec4(R127f.x,PV0f.x,R124f.z,-0.0),vec4(R127f.x,PV0f.x,R124f.z,0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.w = 1.0 / intBitsToFloat(uf_remappedVS[10].x); -PS1f = R0f.w; -// 12 -tempf.x = dot(vec4(R124f.x,R125f.y,R2f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.z = tempf.x; -tempResultf = 1.0 / sqrt(PV1f.x); -PS0f = tempResultf; -// 13 -backupReg0f = R127f.z; -R3f.x = mul_nonIEEE(R126f.y, PS0f); -R2f.y = mul_nonIEEE(R127f.x, PS0f); -R127f.z = backupReg0f * intBitsToFloat(0x400ccccd); -R127f.w = R125f.x * intBitsToFloat(0x400ccccd); -R2f.x = 1.0 / intBitsToFloat(uf_remappedVS[10].y); -PS1f = R2f.x; -// 14 -tempf.x = dot(vec4(R124f.x,R125f.y,R2f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -PS0f = exp2(R126f.x); -// 15 -backupReg0f = R1f.w; -PV1f.z = max(PS0f, 2.0); -R1f.w = backupReg0f; -R1f.x = exp2(R127f.y); -PS1f = R1f.x; -// 16 -R3f.y = min(PV1f.z, intBitsToFloat(0x41f00000)); -R1f.y = exp2(R127f.w); -PS0f = R1f.y; -// 17 -tempf.x = dot(vec4(R124f.x,R125f.y,R2f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.z = exp2(R127f.z); -PS1f = R1f.z; -// 18 -R4f.z = PV1f.x + R3f.z; -// export -passParameterSem131 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// 0 -PV0f.x = intBitsToFloat(uf_remappedVS[14].z) * intBitsToFloat(0x447a0000) * toonScale; -// 1 -PV1f.z = intBitsToFloat(uf_remappedVS[14].w) + PV0f.x; -// 2 -PV0f.z = mul_nonIEEE(PV1f.z, R0f.w); -PV0f.w = mul_nonIEEE(PV1f.z, R2f.x); -// 3 -PV1f.y = mul_nonIEEE(R2f.y, PV0f.z); -PV1f.w = mul_nonIEEE(R3f.x, PV0f.w); -// 4 -PV0f.x = mul_nonIEEE(PV1f.y, R3f.y); -PV0f.w = mul_nonIEEE(PV1f.w, R3f.y); -// 5 -R4f.x = R0f.z + PV0f.x; -R4f.y = R0f.y + PV0f.w; -// export -gl_Position = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/d486965b736e9bf0_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/d486965b736e9bf0_0000000000000000_vs.txt deleted file mode 100644 index 2db4d27f..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/d486965b736e9bf0_0000000000000000_vs.txt +++ /dev/null @@ -1,673 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader d486965b736e9bf0 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -layout(location = 6) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.xy,0,0); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), 0, 1); -attrDecoder.xy = floatBitsToUint(vec2(attrDataSem1.xy)/255.0); -attrDecoder.zw = uvec2(0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R0i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R9i.x = 0; -PS0i = R9i.x; -// 1 -R10i.x = 0; -R9i.yzw = ivec3(0,0,0); -R10i.y = 0; -PS1i = R10i.y; -// 2 -R12i.x = 0; -R10i.z = 0; -R10i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R12i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R12i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R12i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R12i.x; -PV0i.z = R0i.z; -R4i.w = 0xfffffffd + R12i.x; -PV0i.w = R4i.w; -R127i.y = ((R12i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R12i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R4i.w == 0)?(R2i.w):(0)); -R12i.x = backupReg0i + int(1); -PS0i = R12i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R6i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R6i.xyzw = floatBitsToInt(uf_blockVS6[R6i.z].xyzw); -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R9i.z; -R9i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R9i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R9i.z; -// 4 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -backupReg3i = R9i.w; -backupReg4i = R10i.w; -R10i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R9i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R10i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[0].z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R10i.w)) + uf_blockVS5[0].w)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[1].z)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R10i.w)) + uf_blockVS5[1].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[2].z)); -PS1i = R125i.y; -// 2 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[2].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[3].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[3].z)); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R10i.w)) + uf_blockVS5[2].w)); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[3].z)); -PS0i = R124i.x; -// 3 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R10i.w)) + uf_blockVS5[3].w)); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.w; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R125i.w; -backupReg3i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.x)) + intBitsToFloat(R124i.z))); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg2i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.y; -// 6 -backupReg0i = R124i.x; -backupReg1i = R127i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(uf_blockVS3[14].z * intBitsToFloat(0x447a0000) * toonScale); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg1i))); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.z))); -PS0i = R8i.x; -// 7 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.x))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.w))); -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -PS1i = R10i.x; -// 8 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.y))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.x))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.w))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.y))); -PS0i = R9i.y; -// 9 -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.x))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.w))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.x))); -PS1i = R10i.z; -// 10 -R4i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.w))); -R8i.w = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -PS0i = R8i.w; -// 11 -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -backupReg0i = R124i.y; -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R12i.x; -// 15 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R125i.x))); -PS1i = R12i.y; -// 16 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.y))); -PS0i = R12i.z; -// 17 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R6i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -PS0i = floatBitsToInt(1.0 / uf_blockVS1[0].y); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PS0i))); -PS1i = R125i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.w = tempi.x; -R5i.z = 0x3b449ba6; -PS0i = R5i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R125i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R125i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R125i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R5i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/d48ad65b736e9bf0_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/d48ad65b736e9bf0_0000000000000000_vs.txt deleted file mode 100644 index 2fda6840..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/d48ad65b736e9bf0_0000000000000000_vs.txt +++ /dev/null @@ -1,673 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader d48ad65b736e9bf0 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -layout(location = 6) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.xy,0,0); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), 0, 1); -attrDecoder.xy = floatBitsToUint(vec2(attrDataSem1.xy)/255.0); -attrDecoder.zw = uvec2(0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R0i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R9i.x = 0; -PS0i = R9i.x; -// 1 -R10i.x = 0; -R9i.yzw = ivec3(0,0,0); -R10i.y = 0; -PS1i = R10i.y; -// 2 -R12i.x = 0; -R10i.z = 0; -R10i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R12i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R12i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R12i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R12i.x; -PV0i.z = R0i.z; -R4i.w = 0xfffffffd + R12i.x; -PV0i.w = R4i.w; -R127i.y = ((R12i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R12i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R4i.w == 0)?(R2i.w):(0)); -R12i.x = backupReg0i + int(1); -PS0i = R12i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R6i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R6i.xyzw = floatBitsToInt(uf_blockVS6[R6i.z].xyzw); -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R9i.z; -R9i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R9i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R9i.z; -// 4 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -backupReg3i = R9i.w; -backupReg4i = R10i.w; -R10i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R9i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R10i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[0].z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R10i.w)) + uf_blockVS5[0].w)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[1].z)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R10i.w)) + uf_blockVS5[1].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[2].z)); -PS1i = R125i.y; -// 2 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[2].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[3].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[3].z)); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R10i.w)) + uf_blockVS5[2].w)); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[3].z)); -PS0i = R124i.x; -// 3 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R10i.w)) + uf_blockVS5[3].w)); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.w; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R125i.w; -backupReg3i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.x)) + intBitsToFloat(R124i.z))); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg2i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.y; -// 6 -backupReg0i = R124i.x; -backupReg1i = R127i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(uf_blockVS3[14].z * intBitsToFloat(0x447a0000) * toonScale); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg1i))); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.z))); -PS0i = R8i.x; -// 7 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.x))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.w))); -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -PS1i = R10i.x; -// 8 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.y))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.x))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.w))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.y))); -PS0i = R9i.y; -// 9 -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.x))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.w))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.x))); -PS1i = R10i.z; -// 10 -R4i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.w))); -R8i.w = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -PS0i = R8i.w; -// 11 -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -backupReg0i = R124i.y; -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R12i.x; -// 15 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R125i.x))); -PS1i = R12i.y; -// 16 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.y))); -PS0i = R12i.z; -// 17 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R6i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -PS0i = floatBitsToInt(1.0 / uf_blockVS1[0].y); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PS0i))); -PS1i = R125i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.w = tempi.x; -R5i.z = 0x3b449ba6; -PS0i = R5i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R125i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R125i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R125i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R5i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/d4d6ab86cb7c930c_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/d4d6ab86cb7c930c_0000000000000000_vs.txt deleted file mode 100644 index 335e45e7..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/d4d6ab86cb7c930c_0000000000000000_vs.txt +++ /dev/null @@ -1,669 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader d4d6ab86cb7c930c -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem7; -layout(location = 4) in uvec4 attrDataSem8; -layout(location = 5) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyzw = attrDataSem0.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R0i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R9i.x = 0; -PS0i = R9i.x; -// 1 -R10i.x = 0; -R9i.yzw = ivec3(0,0,0); -R10i.y = 0; -PS1i = R10i.y; -// 2 -R12i.x = 0; -R10i.z = 0; -R10i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R12i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R12i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R12i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R12i.x; -PV0i.z = R0i.z; -R4i.w = 0xfffffffd + R12i.x; -PV0i.w = R4i.w; -R127i.y = ((R12i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R12i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R4i.w == 0)?(R2i.w):(0)); -R12i.x = backupReg0i + int(1); -PS0i = R12i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R6i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R6i.xyzw = floatBitsToInt(uf_blockVS6[R6i.z].xyzw); -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R9i.z; -R9i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R9i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R9i.z; -// 4 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -backupReg3i = R9i.w; -backupReg4i = R10i.w; -R10i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R9i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R10i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[0].z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R10i.w)) + uf_blockVS5[0].w)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[1].z)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R10i.w)) + uf_blockVS5[1].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[2].z)); -PS1i = R125i.y; -// 2 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[2].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[3].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[3].z)); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R10i.w)) + uf_blockVS5[2].w)); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[3].z)); -PS0i = R124i.x; -// 3 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R10i.w)) + uf_blockVS5[3].w)); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.w; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R125i.w; -backupReg3i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.x)) + intBitsToFloat(R124i.z))); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg2i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.y; -// 6 -backupReg0i = R124i.x; -backupReg1i = R127i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(uf_blockVS3[14].z * intBitsToFloat(0x447a0000) * toonScale); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg1i))); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.z))); -PS0i = R8i.x; -// 7 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.x))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.w))); -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -PS1i = R10i.x; -// 8 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.y))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.x))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.w))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.y))); -PS0i = R9i.y; -// 9 -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.x))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.w))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.x))); -PS1i = R10i.z; -// 10 -R4i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.w))); -R8i.w = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -PS0i = R8i.w; -// 11 -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -backupReg0i = R124i.y; -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R12i.x; -// 15 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R125i.x))); -PS1i = R12i.y; -// 16 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.y))); -PS0i = R12i.z; -// 17 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R6i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -PS0i = floatBitsToInt(1.0 / uf_blockVS1[0].y); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PS0i))); -PS1i = R125i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.w = tempi.x; -R5i.z = 0x3b449ba6; -PS0i = R5i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R125i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R125i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R125i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R5i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/d4dafd86cb7e930c_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/d4dafd86cb7e930c_0000000000000000_vs.txt deleted file mode 100644 index 57877f20..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/d4dafd86cb7e930c_0000000000000000_vs.txt +++ /dev/null @@ -1,669 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader d4dafd86cb7e930c -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem7; -layout(location = 4) in uvec4 attrDataSem8; -layout(location = 5) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R0i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R9i.x = 0; -PS0i = R9i.x; -// 1 -R10i.x = 0; -R9i.yzw = ivec3(0,0,0); -R10i.y = 0; -PS1i = R10i.y; -// 2 -R12i.x = 0; -R10i.z = 0; -R10i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R12i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R12i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R12i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R12i.x; -PV0i.z = R0i.z; -R4i.w = 0xfffffffd + R12i.x; -PV0i.w = R4i.w; -R127i.y = ((R12i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R12i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R4i.w == 0)?(R2i.w):(0)); -R12i.x = backupReg0i + int(1); -PS0i = R12i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R6i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R6i.xyzw = floatBitsToInt(uf_blockVS6[R6i.z].xyzw); -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R9i.z; -R9i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R9i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R9i.z; -// 4 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -backupReg3i = R9i.w; -backupReg4i = R10i.w; -R10i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R9i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R10i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[0].z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R10i.w)) + uf_blockVS5[0].w)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[1].z)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R10i.w)) + uf_blockVS5[1].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[2].z)); -PS1i = R125i.y; -// 2 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[2].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[3].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[3].z)); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R10i.w)) + uf_blockVS5[2].w)); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[3].z)); -PS0i = R124i.x; -// 3 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R10i.w)) + uf_blockVS5[3].w)); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.w; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R125i.w; -backupReg3i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.x)) + intBitsToFloat(R124i.z))); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg2i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.y; -// 6 -backupReg0i = R124i.x; -backupReg1i = R127i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(uf_blockVS3[14].z * intBitsToFloat(0x447a0000) * toonScale); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg1i))); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.z))); -PS0i = R8i.x; -// 7 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.x))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.w))); -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -PS1i = R10i.x; -// 8 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.y))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.x))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.w))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.y))); -PS0i = R9i.y; -// 9 -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.x))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.w))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.x))); -PS1i = R10i.z; -// 10 -R4i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.w))); -R8i.w = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -PS0i = R8i.w; -// 11 -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -backupReg0i = R124i.y; -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R12i.x; -// 15 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R125i.x))); -PS1i = R12i.y; -// 16 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.y))); -PS0i = R12i.z; -// 17 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R6i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -PS0i = floatBitsToInt(1.0 / uf_blockVS1[0].y); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PS0i))); -PS1i = R125i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.w = tempi.x; -R5i.z = 0x3b449ba6; -PS0i = R5i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R125i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R125i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R125i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R5i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/d5089c79cdfe10e4_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/d5089c79cdfe10e4_0000000000000000_vs.txt deleted file mode 100644 index 9f8cde90..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/d5089c79cdfe10e4_0000000000000000_vs.txt +++ /dev/null @@ -1,672 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader d5089c79cdfe10e4 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.xy,0,0); -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), 0, 1); -attrDecoder.xy = floatBitsToUint(vec2(attrDataSem1.xy)/255.0); -attrDecoder.zw = uvec2(0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R0i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R9i.x = 0; -PS0i = R9i.x; -// 1 -R10i.x = 0; -R9i.yzw = ivec3(0,0,0); -R10i.y = 0; -PS1i = R10i.y; -// 2 -R12i.x = 0; -R10i.z = 0; -R10i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R12i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R12i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R12i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R12i.x; -PV0i.z = R0i.z; -R4i.w = 0xfffffffd + R12i.x; -PV0i.w = R4i.w; -R127i.y = ((R12i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R12i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R4i.w == 0)?(R2i.w):(0)); -R12i.x = backupReg0i + int(1); -PS0i = R12i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R6i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R6i.xyzw = floatBitsToInt(uf_blockVS6[R6i.z].xyzw); -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R9i.z; -R9i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R9i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R9i.z; -// 4 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -backupReg3i = R9i.w; -backupReg4i = R10i.w; -R10i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R9i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R10i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[0].z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R10i.w)) + uf_blockVS5[0].w)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[1].z)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R10i.w)) + uf_blockVS5[1].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[2].z)); -PS1i = R125i.y; -// 2 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[2].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[3].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[3].z)); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R10i.w)) + uf_blockVS5[2].w)); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[3].z)); -PS0i = R124i.x; -// 3 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R10i.w)) + uf_blockVS5[3].w)); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.w; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R125i.w; -backupReg3i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.x)) + intBitsToFloat(R124i.z))); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg2i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.y; -// 6 -backupReg0i = R124i.x; -backupReg1i = R127i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(uf_blockVS3[14].z * intBitsToFloat(0x447a0000) * toonScale); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg1i))); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.z))); -PS0i = R8i.x; -// 7 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.x))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.w))); -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -PS1i = R10i.x; -// 8 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.y))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.x))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.w))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.y))); -PS0i = R9i.y; -// 9 -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.x))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.w))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.x))); -PS1i = R10i.z; -// 10 -R4i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.w))); -R8i.w = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -PS0i = R8i.w; -// 11 -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -backupReg0i = R124i.y; -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R12i.x; -// 15 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R125i.x))); -PS1i = R12i.y; -// 16 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.y))); -PS0i = R12i.z; -// 17 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R6i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -PS0i = floatBitsToInt(1.0 / uf_blockVS1[0].y); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PS0i))); -PS1i = R125i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.w = tempi.x; -R5i.z = 0x3b449ba6; -PS0i = R5i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R125i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R125i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R125i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R5i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/d522d8b8f36493f0_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/d522d8b8f36493f0_0000000000000000_vs.txt deleted file mode 100644 index 0ff57fc7..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/d522d8b8f36493f0_0000000000000000_vs.txt +++ /dev/null @@ -1,672 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader d522d8b8f36493f0 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -layout(location = 6) in uvec4 attrDataSem14; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = attrDataSem7.xyzw; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R0i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R9i.x = 0; -PS0i = R9i.x; -// 1 -R10i.x = 0; -R9i.yzw = ivec3(0,0,0); -R10i.y = 0; -PS1i = R10i.y; -// 2 -R12i.x = 0; -R10i.z = 0; -R10i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R12i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R12i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R12i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R12i.x; -PV0i.z = R0i.z; -R4i.w = 0xfffffffd + R12i.x; -PV0i.w = R4i.w; -R127i.y = ((R12i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R12i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R4i.w == 0)?(R2i.w):(0)); -R12i.x = backupReg0i + int(1); -PS0i = R12i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R6i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R6i.xyzw = floatBitsToInt(uf_blockVS6[R6i.z].xyzw); -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R9i.z; -R9i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R9i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R9i.z; -// 4 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -backupReg3i = R9i.w; -backupReg4i = R10i.w; -R10i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R9i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R10i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[0].z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R10i.w)) + uf_blockVS5[0].w)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[1].z)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R10i.w)) + uf_blockVS5[1].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[2].z)); -PS1i = R125i.y; -// 2 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[2].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[3].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[3].z)); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R10i.w)) + uf_blockVS5[2].w)); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[3].z)); -PS0i = R124i.x; -// 3 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R10i.w)) + uf_blockVS5[3].w)); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.w; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R125i.w; -backupReg3i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.x)) + intBitsToFloat(R124i.z))); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg2i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.y; -// 6 -backupReg0i = R124i.x; -backupReg1i = R127i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(uf_blockVS3[14].z * intBitsToFloat(0x447a0000) * toonScale); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg1i))); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.z))); -PS0i = R8i.x; -// 7 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.x))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.w))); -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -PS1i = R10i.x; -// 8 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.y))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.x))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.w))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.y))); -PS0i = R9i.y; -// 9 -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.x))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.w))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.x))); -PS1i = R10i.z; -// 10 -R4i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.w))); -R8i.w = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -PS0i = R8i.w; -// 11 -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -backupReg0i = R124i.y; -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R12i.x; -// 15 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R125i.x))); -PS1i = R12i.y; -// 16 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.y))); -PS0i = R12i.z; -// 17 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R6i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -PS0i = floatBitsToInt(1.0 / uf_blockVS1[0].y); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PS0i))); -PS1i = R125i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.w = tempi.x; -R5i.z = 0x3b449ba6; -PS0i = R5i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R125i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R125i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R125i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R5i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/d59ffc774bfe110a_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/d59ffc774bfe110a_0000000000000000_vs.txt deleted file mode 100644 index cb806614..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/d59ffc774bfe110a_0000000000000000_vs.txt +++ /dev/null @@ -1,671 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader d59ffc774bfe110a -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem7; -layout(location = 5) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = attrDataSem7.xyzw; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem1.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R0i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R9i.x = 0; -PS0i = R9i.x; -// 1 -R10i.x = 0; -R9i.yzw = ivec3(0,0,0); -R10i.y = 0; -PS1i = R10i.y; -// 2 -R12i.x = 0; -R10i.z = 0; -R10i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R12i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R12i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R12i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R12i.x; -PV0i.z = R0i.z; -R4i.w = 0xfffffffd + R12i.x; -PV0i.w = R4i.w; -R127i.y = ((R12i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R12i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R4i.w == 0)?(R2i.w):(0)); -R12i.x = backupReg0i + int(1); -PS0i = R12i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R6i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R6i.xyzw = floatBitsToInt(uf_blockVS6[R6i.z].xyzw); -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R9i.z; -R9i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R9i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R9i.z; -// 4 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -backupReg3i = R9i.w; -backupReg4i = R10i.w; -R10i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R9i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R10i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[0].z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R10i.w)) + uf_blockVS5[0].w)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[1].z)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R10i.w)) + uf_blockVS5[1].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[2].z)); -PS1i = R125i.y; -// 2 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[2].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[3].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[3].z)); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R10i.w)) + uf_blockVS5[2].w)); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[3].z)); -PS0i = R124i.x; -// 3 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R10i.w)) + uf_blockVS5[3].w)); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.w; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R125i.w; -backupReg3i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.x)) + intBitsToFloat(R124i.z))); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg2i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.y; -// 6 -backupReg0i = R124i.x; -backupReg1i = R127i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(uf_blockVS3[14].z * intBitsToFloat(0x447a0000) * toonScale); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg1i))); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.z))); -PS0i = R8i.x; -// 7 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.x))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.w))); -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -PS1i = R10i.x; -// 8 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.y))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.x))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.w))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.y))); -PS0i = R9i.y; -// 9 -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.x))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.w))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.x))); -PS1i = R10i.z; -// 10 -R4i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.w))); -R8i.w = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -PS0i = R8i.w; -// 11 -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -backupReg0i = R124i.y; -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R12i.x; -// 15 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R125i.x))); -PS1i = R12i.y; -// 16 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.y))); -PS0i = R12i.z; -// 17 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R6i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -PS0i = floatBitsToInt(1.0 / uf_blockVS1[0].y); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PS0i))); -PS1i = R125i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.w = tempi.x; -R5i.z = 0x3b449ba6; -PS0i = R5i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R125i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R125i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R125i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R5i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/da53727d4bc510f8_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/da53727d4bc510f8_0000000000000000_vs.txt deleted file mode 100644 index a3d4e72c..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/da53727d4bc510f8_0000000000000000_vs.txt +++ /dev/null @@ -1,668 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader da53727d4bc510f8 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem7; -layout(location = 4) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyzw = attrDataSem0.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R0i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R9i.x = 0; -PS0i = R9i.x; -// 1 -R10i.x = 0; -R9i.yzw = ivec3(0,0,0); -R10i.y = 0; -PS1i = R10i.y; -// 2 -R12i.x = 0; -R10i.z = 0; -R10i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R12i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R12i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R12i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R12i.x; -PV0i.z = R0i.z; -R4i.w = 0xfffffffd + R12i.x; -PV0i.w = R4i.w; -R127i.y = ((R12i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R12i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R4i.w == 0)?(R2i.w):(0)); -R12i.x = backupReg0i + int(1); -PS0i = R12i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R6i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R6i.xyzw = floatBitsToInt(uf_blockVS6[R6i.z].xyzw); -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R9i.z; -R9i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R9i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R9i.z; -// 4 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -backupReg3i = R9i.w; -backupReg4i = R10i.w; -R10i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R9i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R10i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[0].z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R10i.w)) + uf_blockVS5[0].w)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[1].z)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R10i.w)) + uf_blockVS5[1].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[2].z)); -PS1i = R125i.y; -// 2 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[2].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[3].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[3].z)); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R10i.w)) + uf_blockVS5[2].w)); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[3].z)); -PS0i = R124i.x; -// 3 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R10i.w)) + uf_blockVS5[3].w)); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.w; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R125i.w; -backupReg3i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.x)) + intBitsToFloat(R124i.z))); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg2i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.y; -// 6 -backupReg0i = R124i.x; -backupReg1i = R127i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(uf_blockVS3[14].z * intBitsToFloat(0x447a0000) * toonScale); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg1i))); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.z))); -PS0i = R8i.x; -// 7 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.x))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.w))); -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -PS1i = R10i.x; -// 8 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.y))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.x))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.w))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.y))); -PS0i = R9i.y; -// 9 -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.x))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.w))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.x))); -PS1i = R10i.z; -// 10 -R4i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.w))); -R8i.w = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -PS0i = R8i.w; -// 11 -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -backupReg0i = R124i.y; -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R12i.x; -// 15 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R125i.x))); -PS1i = R12i.y; -// 16 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.y))); -PS0i = R12i.z; -// 17 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R6i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -PS0i = floatBitsToInt(1.0 / uf_blockVS1[0].y); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PS0i))); -PS1i = R125i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.w = tempi.x; -R5i.z = 0x3b449ba6; -PS0i = R5i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R125i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R125i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R125i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R5i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/decf327dcbc510f8_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/decf327dcbc510f8_0000000000000000_vs.txt deleted file mode 100644 index c4da2638..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/decf327dcbc510f8_0000000000000000_vs.txt +++ /dev/null @@ -1,668 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader decf327dcbc510f8 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem7; -layout(location = 4) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R0i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R9i.x = 0; -PS0i = R9i.x; -// 1 -R10i.x = 0; -R9i.yzw = ivec3(0,0,0); -R10i.y = 0; -PS1i = R10i.y; -// 2 -R12i.x = 0; -R10i.z = 0; -R10i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R12i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R12i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R12i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R12i.x; -PV0i.z = R0i.z; -R4i.w = 0xfffffffd + R12i.x; -PV0i.w = R4i.w; -R127i.y = ((R12i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R12i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R4i.w == 0)?(R2i.w):(0)); -R12i.x = backupReg0i + int(1); -PS0i = R12i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R6i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R6i.xyzw = floatBitsToInt(uf_blockVS6[R6i.z].xyzw); -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R9i.z; -R9i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R9i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R9i.z; -// 4 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -backupReg3i = R9i.w; -backupReg4i = R10i.w; -R10i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R9i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R10i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[0].z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R10i.w)) + uf_blockVS5[0].w)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[1].z)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R10i.w)) + uf_blockVS5[1].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[2].z)); -PS1i = R125i.y; -// 2 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[2].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[3].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[3].z)); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R10i.w)) + uf_blockVS5[2].w)); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[3].z)); -PS0i = R124i.x; -// 3 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R10i.w)) + uf_blockVS5[3].w)); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.w; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R125i.w; -backupReg3i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.x)) + intBitsToFloat(R124i.z))); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg2i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.y; -// 6 -backupReg0i = R124i.x; -backupReg1i = R127i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(uf_blockVS3[14].z * intBitsToFloat(0x447a0000) * toonScale); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg1i))); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.z))); -PS0i = R8i.x; -// 7 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.x))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.w))); -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -PS1i = R10i.x; -// 8 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.y))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.x))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.w))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.y))); -PS0i = R9i.y; -// 9 -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.x))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.w))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.x))); -PS1i = R10i.z; -// 10 -R4i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.w))); -R8i.w = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -PS0i = R8i.w; -// 11 -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -backupReg0i = R124i.y; -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R12i.x; -// 15 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R125i.x))); -PS1i = R12i.y; -// 16 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.y))); -PS0i = R12i.z; -// 17 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R6i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -PS0i = floatBitsToInt(1.0 / uf_blockVS1[0].y); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PS0i))); -PS1i = R125i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.w = tempi.x; -R5i.z = 0x3b449ba6; -PS0i = R5i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R125i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R125i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R125i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R5i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/ded3727dcbc510f8_0000000000000000_vs.txt b/Modifications/TokyoMirage_ScaleToonShader/ded3727dcbc510f8_0000000000000000_vs.txt deleted file mode 100644 index ae9a1152..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/ded3727dcbc510f8_0000000000000000_vs.txt +++ /dev/null @@ -1,668 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -const float toonScale = 0.75; -// shader ded3727dcbc510f8 -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 3, std140) uniform uniformBlockVS3 -{ -vec4 uf_blockVS3[1024]; -}; - -layout(binding = 5, std140) uniform uniformBlockVS5 -{ -vec4 uf_blockVS5[1024]; -}; - -layout(binding = 6, std140) uniform uniformBlockVS6 -{ -vec4 uf_blockVS6[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem2; -layout(location = 2) in uvec4 attrDataSem3; -layout(location = 3) in uvec4 attrDataSem7; -layout(location = 4) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem131; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = uvec4(attrDataSem7.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -attrDecoder.x = attrDataSem2.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R0i.w = (floatBitsToInt(uf_blockVS5[22].x) == int(1))?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS6[R0i.x].xyzw); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.xyz = ivec3(0,0,0); -R11i.w = 0; -R9i.x = 0; -PS0i = R9i.x; -// 1 -R10i.x = 0; -R9i.yzw = ivec3(0,0,0); -R10i.y = 0; -PS1i = R10i.y; -// 2 -R12i.x = 0; -R10i.z = 0; -R10i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R12i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R12i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R12i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R12i.x; -PV0i.z = R0i.z; -R4i.w = 0xfffffffd + R12i.x; -PV0i.w = R4i.w; -R127i.y = ((R12i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.w = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.w; -// 2 -backupReg0i = R12i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R4i.w == 0)?(R2i.w):(0)); -R12i.x = backupReg0i + int(1); -PS0i = R12i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV0i.x)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.y = PS1i + 0x00000002; -R6i.z = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(uf_blockVS6[R0i.z].xyzw); -R6i.xyzw = floatBitsToInt(uf_blockVS6[R6i.z].xyzw); -R8i.xyzw = floatBitsToInt(uf_blockVS6[R0i.y].xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R7i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.x))); -PS0i = R126i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R6i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.y))); -PS1i = R125i.w; -// 2 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R127i.y; -R11i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R8i.z))); -R11i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i)); -PS0i = R11i.y; -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R11i.z; -backupReg3i = R11i.w; -backupReg4i = R9i.z; -R9i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.y)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R126i.x)); -R11i.z = floatBitsToInt(intBitsToFloat(backupReg2i) + intBitsToFloat(R127i.x)); -R11i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R127i.w)); -R9i.z = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R126i.w)); -PS1i = R9i.z; -// 4 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -backupReg3i = R9i.w; -backupReg4i = R10i.w; -R10i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + vec3(intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),intBitsToFloat(R127i.z))); -R9i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + intBitsToFloat(R126i.z)); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg4i) + intBitsToFloat(R127i.y)); -PS0i = R10i.w; -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[0].z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[0].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[0].z)); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].z,intBitsToFloat(R10i.w)) + uf_blockVS5[0].w)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[1].z)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[1].z)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[1].z)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[2].z)); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].z,intBitsToFloat(R10i.w)) + uf_blockVS5[1].w)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[2].z)); -PS1i = R125i.y; -// 2 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[2].z)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), uf_blockVS5[3].z)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), uf_blockVS5[3].z)); -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].z,intBitsToFloat(R10i.w)) + uf_blockVS5[2].w)); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), uf_blockVS5[3].z)); -PS0i = R124i.x; -// 3 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -backupReg3i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].z,intBitsToFloat(R10i.w)) + uf_blockVS5[3].w)); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.w; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R126i.z; -backupReg3i = R126i.w; -backupReg4i = R125i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R126i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg2i))); -R126i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg3i))); -R125i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.x)) + intBitsToFloat(backupReg4i))); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -backupReg2i = R125i.w; -backupReg3i = R124i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.x)) + intBitsToFloat(R124i.z))); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg2i))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg3i))); -PS1i = R124i.y; -// 6 -backupReg0i = R124i.x; -backupReg1i = R127i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.z)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt(uf_blockVS3[14].z * intBitsToFloat(0x447a0000) * toonScale); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].y,intBitsToFloat(R9i.w)) + intBitsToFloat(backupReg1i))); -R8i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.x)) + intBitsToFloat(PV1i.z))); -PS0i = R8i.x; -// 7 -R9i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R127i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R127i.y))); -R8i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R127i.x))); -R5i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[0].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R124i.w))); -R10i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.x)) + intBitsToFloat(R126i.z))); -PS1i = R10i.x; -// 8 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R126i.y))); -R9i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R126i.x))); -R6i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[1].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R126i.w))); -R9i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R125i.y))); -PS0i = R9i.y; -// 9 -R10i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.y)) + intBitsToFloat(R124i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R125i.x))); -R7i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[2].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R125i.w))); -R10i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.z)) + intBitsToFloat(R124i.x))); -PS1i = R10i.z; -// 10 -R4i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS5[3].x,intBitsToFloat(R11i.w)) + intBitsToFloat(R127i.w))); -R8i.w = floatBitsToInt(uf_blockVS3[14].w + intBitsToFloat(R0i.y)); -PS0i = R8i.w; -// 11 -tempResultf = log2(intBitsToFloat(R3i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R125i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x400ccccd)); -tempResultf = log2(intBitsToFloat(R3i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -backupReg0i = R124i.y; -R124i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x400ccccd)); -R12i.x = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -PS0i = R12i.x; -// 15 -R12i.y = floatBitsToInt(exp2(intBitsToFloat(R125i.x))); -PS1i = R12i.y; -// 16 -R12i.w = R3i.w; -R12i.z = floatBitsToInt(exp2(intBitsToFloat(R124i.y))); -PS0i = R12i.z; -// 17 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = R1i.x * 0x00000003; -PS0i = R1i.w; -// 1 -R1i.x = PS0i + int(1); -R0i.w = PS0i + 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(uf_blockVS6[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockVS6[R1i.x].xyz); -R2i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R14i.x = 0; -R13i.yzx = ivec3(0,0,0); -PS0i = R13i.x; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -predResult = (floatBitsToInt(uf_blockVS5[22].x) > R14i.x); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = ((R14i.x == 0)?(R1i.x):(0)); -R0i.y = int(-1) + R14i.x; -PV0i.y = R0i.y; -R0i.z = 0xfffffffe + R14i.x; -PV0i.z = R0i.z; -R0i.w = 0xfffffffd + R14i.x; -PV0i.w = R0i.w; -R127i.y = ((R14i.x == 0)?(R2i.x):(0)); -PS0i = R127i.y; -// 1 -R123i.x = ((PV0i.y == 0)?(R1i.y):(0)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.y == 0)?(R2i.y):(0)); -PV1i.y = R123i.y; -R127i.z = ((PV0i.w == 0)?(R1i.w):(0)); -R127i.w = ((PV0i.z == 0)?(R1i.z):(0)); -R126i.x = ((PV0i.z == 0)?(R2i.z):(0)); -PS1i = R126i.x; -// 2 -backupReg0i = R14i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R127i.x + PV1i.x; -R126i.z = ((R0i.w == 0)?(R2i.w):(0)); -R14i.x = backupReg0i + int(1); -PS0i = R14i.x; -// 3 -PV1i.x = R127i.w + PV0i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV0i.x)); -// 4 -R7i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.w = R127i.z + PV1i.x; -// 5 -R0i.z = PV0i.w * 0x00000003; -PS1i = R0i.z; -// 6 -R0i.x = PS1i + 0x00000002; -R0i.w = PS1i + int(1); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(uf_blockVS6[R0i.z].xyz); -R6i.xyz = floatBitsToInt(uf_blockVS6[R0i.w].xyz); -R0i.xyz = floatBitsToInt(uf_blockVS6[R0i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R7i.x))); -// 3 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.z)); -R13i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R7i.x))); -// 4 -backupReg0i = R13i.z; -R13i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R126i.w = 0x3f800000; -PV0i.w = R126i.w; -R126i.z = 0; -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),intBitsToFloat(R5i.w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.w = floatBitsToInt(1.0 / uf_blockVS1[0].x); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R8i.y),intBitsToFloat(R9i.z),intBitsToFloat(R6i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -PS0i = floatBitsToInt(1.0 / uf_blockVS1[0].y); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PS0i))); -PS1i = R125i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.w = tempi.x; -R5i.z = 0x3b449ba6; -PS0i = R5i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[8].x,uf_blockVS5[8].y,uf_blockVS5[8].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R127i.w))); -PS1i = R125i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[9].x,uf_blockVS5[9].y,uf_blockVS5[9].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = PV1i.x; -PS0i = R127i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(uf_blockVS5[10].x,uf_blockVS5[10].y,uf_blockVS5[10].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = PV0i.x; -PS1i = R127i.y; -// 8 -R127i.z = PV1i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[25].x,uf_blockVS1[25].y,uf_blockVS1[25].z,uf_blockVS1[25].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.w = tempi.x; -// 10 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[11].x,uf_blockVS1[11].y,uf_blockVS1[11].z,uf_blockVS1[11].w))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),intBitsToFloat(R126i.w)),vec4(uf_blockVS1[12].x,uf_blockVS1[12].y,uf_blockVS1[12].z,uf_blockVS1[12].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3f400000)); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PS1i))); -// 13 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 2.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41f00000))); -// 15 -backupReg0i = R125i.w; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[22].x,uf_blockVS1[22].y,uf_blockVS1[22].z,uf_blockVS1[22].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.z))); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[23].x,uf_blockVS1[23].y,uf_blockVS1[23].z,uf_blockVS1[23].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.z))); -PS1i = R125i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),intBitsToFloat(R124i.w)),vec4(uf_blockVS1[24].x,uf_blockVS1[24].y,uf_blockVS1[24].z,uf_blockVS1[24].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R126i.x)); -PS0i = R0i.x; -// 19 -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R125i.w)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R5i.z)); -} -// export -gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem131 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -} diff --git a/Modifications/TokyoMirage_ScaleToonShader/rules.txt b/Modifications/TokyoMirage_ScaleToonShader/rules.txt deleted file mode 100644 index 6fabba44..00000000 --- a/Modifications/TokyoMirage_ScaleToonShader/rules.txt +++ /dev/null @@ -1,6 +0,0 @@ -[Definition] -titleIds = 00050000101ED700,00050000101ED800,0005000010131D00 -name = "Tokyo Mirage Sessions FE - Scale toon shader" -version = 2 - -# defaults to 0.75, search replace "const float toonScale = 0.75;" in shaders for preference diff --git a/Modifications/XenobladeX_21_9_gui/patches.txt b/Modifications/XenobladeX_21_9_gui/patches.txt deleted file mode 100644 index 8d72926a..00000000 --- a/Modifications/XenobladeX_21_9_gui/patches.txt +++ /dev/null @@ -1,27 +0,0 @@ -[XCX219GUIV102J] -moduleMatches = 0x7672271D -0x10185C7C = .float 0.75345999 -_34th = 0x1018607C - -0x02D3BC74 = lis r7, _34th@h # Aspect -0x02D3BC80 = lfs f29, _34th@l(r7) # Aspect - - -[XCX219GUIV100E_V101E] -moduleMatches = 0x218F6E07, 0xF882D5CF -0x1018607C = .float 0.75345999 -_34th = 0x1018607C - -0x02D407AC = lis r7, _34th@h # Aspect -0x02D407B8 = lfs f29, _34th@l(r7) # Aspect - - -[XCX219GUIV102U] -moduleMatches = 0x30B6E091 -0x1018607C = .float 0.75345999 -_34th = 0x1018607C - -#0x02D3EB74 = lis r12, _34th@h # Transparency -#0x02D3EB7C = lfs f0, _34th@l(r12) # Transparency -0x02D4074C = lis r7, _34th@h # Aspect -0x02D40758 = lfs f29, _34th@l(r7) # Aspect \ No newline at end of file diff --git a/Modifications/XenobladeX_21_9_gui/rules.txt b/Modifications/XenobladeX_21_9_gui/rules.txt deleted file mode 100644 index 4a4c9df0..00000000 --- a/Modifications/XenobladeX_21_9_gui/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X 21:9 GUI patch" -version = 2 \ No newline at end of file diff --git a/Source/AdventureTimeEtDBIDK/rules.txt b/Source/AdventureTimeEtDBIDK/rules.txt deleted file mode 100644 index dae0b731..00000000 --- a/Source/AdventureTimeEtDBIDK/rules.txt +++ /dev/null @@ -1,24 +0,0 @@ - -[Definition] -titleIds = 0005000010144000,000500001014E100 -name = "Adventure Time Explore the Dungeon Because I DON'T KNOW - " -version = 2 - -[TextureRedefine] # tv -width = 1920 -height = 1080 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = diff --git a/Source/AdventureTimeFJI/rules.txt b/Source/AdventureTimeFJI/rules.txt deleted file mode 100644 index c953a171..00000000 --- a/Source/AdventureTimeFJI/rules.txt +++ /dev/null @@ -1,30 +0,0 @@ - -[Definition] -titleIds = 00050000101AC700,00050000101AFE00 -name = "Adventure Time Finn And Jake Investigations - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/AmiiboFestival/rules.txt b/Source/AmiiboFestival/rules.txt deleted file mode 100644 index 4d6e06be..00000000 --- a/Source/AmiiboFestival/rules.txt +++ /dev/null @@ -1,83 +0,0 @@ - -[Definition] -titleIds = 00050000101C6400,00050000101C6500,0005000010190100 -name = "Animal Crossing: amiibo Festival - " -version = 2 - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 2048 -#height = 2048 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 2046 -#height = 2046 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 1280 -height = 720 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 854 -height = 480 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 800 -height = 250 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 640 -height = 360 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 320 -height = 180 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 160 -height = 90 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 80 -height = 45 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 40 -height = 22 -#formatsExcluded = -overwriteWidth = -overwriteHeight = diff --git a/Source/AquaTV/rules.txt b/Source/AquaTV/rules.txt deleted file mode 100644 index 5fe533ad..00000000 --- a/Source/AquaTV/rules.txt +++ /dev/null @@ -1,30 +0,0 @@ - -[Definition] -titleIds = 0005000010205F00 -name = "Aqua TV - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # tv 2 -width = 1280 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = diff --git a/Source/BatmanArkham/rules.txt b/Source/BatmanArkham/rules.txt deleted file mode 100644 index 1a3d3d12..00000000 --- a/Source/BatmanArkham/rules.txt +++ /dev/null @@ -1,25 +0,0 @@ - -[Definition] -titleIds = 0005000010112900,0005000010111300,000500001010AB00 -name = "Batman Arkham City Armored Edition - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -formatsExcluded = 0x41A # exclude the intro background texture -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/Bayonetta/117889891fd19c30_000000000000001e_ps.txt b/Source/Bayonetta/117889891fd19c30_000000000000001e_ps.txt deleted file mode 100644 index 53d67a24..00000000 --- a/Source/Bayonetta/117889891fd19c30_000000000000001e_ps.txt +++ /dev/null @@ -1,132 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 117889891fd19c30 -//menu -const float resScale = ; -uniform ivec4 uf_remappedPS[1]; -uniform float uf_alphaTestRef; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) in vec4 passParameterSem129; -layout(location = 1) in vec4 passParameterSem128; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem129; -R1f = passParameterSem128; -// 0 -backupReg0f = R0f.w; -R7f.x = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3e124925); -PV0f.w = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[0].w)); -PV0f.w *= 2.0; -PS0f = 1.0 / R1f.w; -PS0f /= 2.0; -// 1 -R127f.x = PV0f.w * intBitsToFloat(0x3a4ccccd)/ resScale; -R127f.y = PV0f.w * intBitsToFloat(0x3acccccd)/ resScale; -PV1f.z = mul_nonIEEE(R1f.x, PS0f); -PV1f.w = mul_nonIEEE(-(R1f.y), PS0f); -R127f.w = PV0f.w * intBitsToFloat(0x3b19999a)/ resScale; -PS1f = R127f.w; -// 2 -R6f.x = PV1f.z + 0.5; -PV0f.x = R6f.x; -R6f.y = PV1f.w + 0.5; -PV0f.y = R6f.y; -R8f.w = 1.0; -// 3 -R1f.x = PV0f.x + -(R127f.x); -R1f.y = PV0f.y; -R0f.z = PV0f.y; -R0f.x = PV0f.x + R127f.x; -PS1f = R0f.x; -// 4 -R2f.x = R6f.x + -(R127f.y); -R2f.y = R6f.y; -R3f.z = R6f.y; -R3f.x = R6f.x + R127f.y; -PS0f = R3f.x; -// 5 -R4f.x = R6f.x + -(R127f.w); -R4f.y = R6f.y; -R5f.z = R6f.y; -R5f.x = R6f.x + R127f.w; -PS1f = R5f.x; -R1f.xyz = (texture(textureUnitPS1, R1f.xy).xyz); -R0f.xyz = (texture(textureUnitPS1, R0f.xz).xyz); -R2f.xyz = (texture(textureUnitPS1, R2f.xy).xyz); -R3f.xyz = (texture(textureUnitPS1, R3f.xz).xyz); -R4f.xyz = (texture(textureUnitPS1, R4f.xy).xyz); -R5f.xyz = (texture(textureUnitPS1, R5f.xz).xyz); -R6f.xyz = (texture(textureUnitPS1, R6f.xy).xyz); -// 0 -backupReg0f = R0f.x; -PV0f.x = R1f.x + backupReg0f; -R127f.z = R1f.z + R0f.z; -PV0f.w = R1f.y + R0f.y; -// 1 -R127f.x = R6f.x + PV0f.x; -R127f.y = R2f.x + R3f.x; -R126f.z = R2f.z + R3f.z; -R127f.w = R2f.y + R3f.y; -R126f.w = R6f.y + PV0f.w; -PS1f = R126f.w; -// 2 -PV0f.x = R4f.y + R5f.y; -PV0f.y = R4f.x + R5f.x; -PV0f.w = R4f.z + R5f.z; -// 3 -PV1f.x = PV0f.y + R127f.y; -PV1f.y = PV0f.x + R127f.w; -PV1f.z = R6f.z + R127f.z; -PV1f.w = PV0f.w + R126f.z; -// 4 -PV0f.y = PV1f.z + PV1f.w; -PV0f.z = R126f.w + PV1f.y; -PV0f.w = R127f.x + PV1f.x; -// 5 -R8f.x = mul_nonIEEE(PV0f.w, R7f.x); -R8f.y = mul_nonIEEE(PV0f.z, R7f.x); -R8f.z = mul_nonIEEE(PV0f.y, R7f.x); -// export -if( ((vec4(R8f.x, R8f.y, R8f.z, R8f.w)).a >= uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(R8f.x, R8f.y, R8f.z, R8f.w); -} diff --git a/Source/Bayonetta/212e4514290f2693_0000000000000079_ps.txt b/Source/Bayonetta/212e4514290f2693_0000000000000079_ps.txt deleted file mode 100644 index 76e8af0d..00000000 --- a/Source/Bayonetta/212e4514290f2693_0000000000000079_ps.txt +++ /dev/null @@ -1,114 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 212e4514290f2693 -const float resScale = ; -uniform ivec4 uf_remappedPS[1]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4e48800 res 320x176x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) in vec4 passParameterSem128; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R123f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem128; -R4f.xyzw = (texture(textureUnitPS1, R0f.xy).xyzw); -// 0 -R1f.x = R0f.x + intBitsToFloat(0x3c400000)/ resScale; -R1f.y = R0f.y; -R2f.z = R0f.y; -R5f.w = intBitsToFloat(uf_remappedPS[0].w); -R2f.x = R0f.x + intBitsToFloat(0x3bc00000)/ resScale; -PS0f = R2f.x; -// 1 -R3f.x = R0f.x + -(intBitsToFloat(0x3c400000))/ resScale; -R3f.y = R0f.y; -R0f.z = R0f.x + -(intBitsToFloat(0x3bc00000))/ resScale; -R1f.xyzw = (texture(textureUnitPS1, R1f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS1, R2f.xz).xyzw); -R3f.xyzw = (texture(textureUnitPS1, R3f.xy).xyzw); -R0f.xyzw = (texture(textureUnitPS1, R0f.zy).xyzw); -// 0 -R123f.x = (R1f.x * intBitsToFloat(0x3ee66666) + R4f.x); -PV0f.x = R123f.x; -R123f.y = (R1f.w * intBitsToFloat(0x3ee66666) + R4f.w); -PV0f.y = R123f.y; -R123f.z = (R1f.z * intBitsToFloat(0x3ee66666) + R4f.z); -PV0f.z = R123f.z; -R123f.w = (R1f.y * intBitsToFloat(0x3ee66666) + R4f.y); -PV0f.w = R123f.w; -// 1 -R123f.x = (R2f.w * intBitsToFloat(0x3f4ccccd) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (R2f.z * intBitsToFloat(0x3f4ccccd) + PV0f.z); -PV1f.y = R123f.y; -R123f.z = (R2f.y * intBitsToFloat(0x3f4ccccd) + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (R2f.x * intBitsToFloat(0x3f4ccccd) + PV0f.x); -PV1f.w = R123f.w; -// 2 -R123f.x = (R3f.w * intBitsToFloat(0x3ee66666) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (R3f.z * intBitsToFloat(0x3ee66666) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (R3f.y * intBitsToFloat(0x3ee66666) + PV1f.z); -PV0f.z = R123f.z; -R123f.w = (R3f.x * intBitsToFloat(0x3ee66666) + PV1f.w); -PV0f.w = R123f.w; -// 3 -R123f.x = (R0f.z * intBitsToFloat(0x3f4ccccd) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (R0f.y * intBitsToFloat(0x3f4ccccd) + PV0f.z); -PV1f.y = R123f.y; -R123f.z = (R0f.x * intBitsToFloat(0x3f4ccccd) + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (R0f.w * intBitsToFloat(0x3f4ccccd) + PV0f.x); -PV1f.w = R123f.w; -// 4 -PV0f.x = PV1f.x * intBitsToFloat(0x3e924925); -PV0f.y = PV1f.y * intBitsToFloat(0x3e924925); -PV0f.z = PV1f.z * intBitsToFloat(0x3e924925); -PV0f.w = PV1f.w * intBitsToFloat(0x3e924925); -// 5 -PV1f.x = mul_nonIEEE(PV0f.x, PV0f.w); -PV1f.y = mul_nonIEEE(PV0f.y, PV0f.w); -PV1f.z = mul_nonIEEE(PV0f.z, PV0f.w); -// 6 -R5f.x = mul_nonIEEE(PV1f.z, intBitsToFloat(uf_remappedPS[0].x)); -R5f.y = mul_nonIEEE(PV1f.y, intBitsToFloat(uf_remappedPS[0].y)); -R5f.z = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedPS[0].z)); -// export -passPixelColor0 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); -} diff --git a/Source/Bayonetta/51f398ee2e3e18a6_0000000000000079_ps.txt b/Source/Bayonetta/51f398ee2e3e18a6_0000000000000079_ps.txt deleted file mode 100644 index b55e8670..00000000 --- a/Source/Bayonetta/51f398ee2e3e18a6_0000000000000079_ps.txt +++ /dev/null @@ -1,115 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 51f398ee2e3e18a6 -//blur vert -const float resScale = ; -uniform ivec4 uf_remappedPS[1]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4e11800 res 320x176x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) in vec4 passParameterSem128; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R123f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem128; -R4f.xyzw = (texture(textureUnitPS1, R0f.xy).xyzw); -// 0 -R1f.x = R0f.x; -R1f.y = R0f.y + intBitsToFloat(0x3c400000) / resScale; -R2f.z = R0f.x; -R5f.w = intBitsToFloat(uf_remappedPS[0].w); -R2f.y = R0f.y + intBitsToFloat(0x3bc00000) / resScale; -PS0f = R2f.y; -// 1 -R3f.x = R0f.x; -R3f.y = R0f.y + -(intBitsToFloat(0x3c400000)) / resScale; -R0f.z = R0f.y + -(intBitsToFloat(0x3bc00000)) / resScale; -R1f.xyzw = (texture(textureUnitPS1, R1f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS1, R2f.zy).xyzw); -R3f.xyzw = (texture(textureUnitPS1, R3f.xy).xyzw); -R0f.xyzw = (texture(textureUnitPS1, R0f.xz).xyzw); -// 0 -R123f.x = (R1f.w * intBitsToFloat(0x3ee66666) + R4f.w); -PV0f.x = R123f.x; -R123f.y = (R1f.x * intBitsToFloat(0x3ee66666) + R4f.x); -PV0f.y = R123f.y; -R123f.z = (R1f.z * intBitsToFloat(0x3ee66666) + R4f.z); -PV0f.z = R123f.z; -R123f.w = (R1f.y * intBitsToFloat(0x3ee66666) + R4f.y); -PV0f.w = R123f.w; -// 1 -R123f.x = (R2f.w * intBitsToFloat(0x3f4ccccd) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R2f.z * intBitsToFloat(0x3f4ccccd) + PV0f.z); -PV1f.y = R123f.y; -R123f.z = (R2f.y * intBitsToFloat(0x3f4ccccd) + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (R2f.x * intBitsToFloat(0x3f4ccccd) + PV0f.y); -PV1f.w = R123f.w; -// 2 -R123f.x = (R3f.z * intBitsToFloat(0x3ee66666) + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (R3f.w * intBitsToFloat(0x3ee66666) + PV1f.x); -PV0f.y = R123f.y; -R123f.z = (R3f.y * intBitsToFloat(0x3ee66666) + PV1f.z); -PV0f.z = R123f.z; -R123f.w = (R3f.x * intBitsToFloat(0x3ee66666) + PV1f.w); -PV0f.w = R123f.w; -// 3 -R123f.x = (R0f.z * intBitsToFloat(0x3f4ccccd) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R0f.y * intBitsToFloat(0x3f4ccccd) + PV0f.z); -PV1f.y = R123f.y; -R123f.z = (R0f.x * intBitsToFloat(0x3f4ccccd) + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (R0f.w * intBitsToFloat(0x3f4ccccd) + PV0f.y); -PV1f.w = R123f.w; -// 4 -PV0f.x = PV1f.x * intBitsToFloat(0x3e924925); -PV0f.y = PV1f.y * intBitsToFloat(0x3e924925); -PV0f.z = PV1f.z * intBitsToFloat(0x3e924925); -PV0f.w = PV1f.w * intBitsToFloat(0x3e924925); -// 5 -PV1f.x = mul_nonIEEE(PV0f.x, PV0f.w); -PV1f.y = mul_nonIEEE(PV0f.y, PV0f.w); -PV1f.z = mul_nonIEEE(PV0f.z, PV0f.w); -// 6 -R5f.x = mul_nonIEEE(PV1f.z, intBitsToFloat(uf_remappedPS[0].x)); -R5f.y = mul_nonIEEE(PV1f.y, intBitsToFloat(uf_remappedPS[0].y)); -R5f.z = mul_nonIEEE(PV1f.x, intBitsToFloat(uf_remappedPS[0].z)); -// export -passPixelColor0 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); -} diff --git a/Source/Bayonetta/63a0a7de4fdcf0ce_0000000000000079_ps.txt b/Source/Bayonetta/63a0a7de4fdcf0ce_0000000000000079_ps.txt deleted file mode 100644 index bf479132..00000000 --- a/Source/Bayonetta/63a0a7de4fdcf0ce_0000000000000079_ps.txt +++ /dev/null @@ -1,58 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 63a0a7de4fdcf0ce -const float brightness = 0.5; -uniform ivec4 uf_remappedPS[2]; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) in vec4 passParameterSem128; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem128; -// 0 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -R0f.x = backupReg0f + intBitsToFloat(uf_remappedPS[0].x); -R0f.y = backupReg1f + intBitsToFloat(uf_remappedPS[0].y); -R0f.xyzw = (texture(textureUnitPS1, R0f.xy).xyzw)*brightness; -// 0 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg2f = R0f.z; -backupReg3f = R0f.w; -R0f.x = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[1].x)); -R0f.y = mul_nonIEEE(backupReg1f, intBitsToFloat(uf_remappedPS[1].y)); -R0f.z = mul_nonIEEE(backupReg2f, intBitsToFloat(uf_remappedPS[1].z)); -R0f.w = mul_nonIEEE(backupReg3f, intBitsToFloat(uf_remappedPS[1].w)); -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Source/Bayonetta/6e828da50daedc79_00000000000003c9_ps.txt b/Source/Bayonetta/6e828da50daedc79_00000000000003c9_ps.txt deleted file mode 100644 index d4e8602f..00000000 --- a/Source/Bayonetta/6e828da50daedc79_00000000000003c9_ps.txt +++ /dev/null @@ -1,318 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 6e828da50daedc79 -// cut scene blur -const float resScale = ; -uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5195800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4709800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) in vec4 passParameterSem128; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R10f = vec4(0.0); -vec4 R11f = vec4(0.0); -vec4 R12f = vec4(0.0); -vec4 R13f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem128; -R9f.xyz = (texture(textureUnitPS0, R0f.xy).xyz); -R10f.x = (texture(textureUnitPS1, R0f.xy).x); -// 0 -PV0f.x = -(1.0) + R0f.z; -R127f.y = intBitsToFloat(0xba4ccccd) / resScale * intBitsToFloat(uf_remappedPS[0].x); -PV0f.y = R127f.y; -R2f.z = intBitsToFloat(0x3a4ccccd) / resScale * intBitsToFloat(uf_remappedPS[0].x); -R2f.w = intBitsToFloat(0xbab60b61) / resScale * intBitsToFloat(uf_remappedPS[0].x); -PV0f.w = R2f.w; -R3f.y = intBitsToFloat(0x3ab60b61) / resScale * intBitsToFloat(uf_remappedPS[0].x); -PS0f = R3f.y; -// 1 -R7f.x = intBitsToFloat(0x3ab60b61) / resScale * intBitsToFloat(uf_remappedPS[0].x); -R1f.y = R0f.y + PV0f.w; -R6f.z = 1.0 + PV0f.x; -R3f.w = intBitsToFloat(0x3a4ccccd) / resScale* intBitsToFloat(uf_remappedPS[0].x); -R1f.x = R0f.x + PV0f.y; -PS1f = R1f.x; -// 2 -R3f.x = -(intBitsToFloat(uf_remappedPS[1].z)) + intBitsToFloat(uf_remappedPS[1].w); -R2f.y = -(intBitsToFloat(uf_remappedPS[1].x)) + intBitsToFloat(uf_remappedPS[1].y); -R1f.z = R0f.x + R127f.y; -R1f.w = R0f.y + R3f.y; -R6f.x = R0f.x + R2f.z; -PS0f = R6f.x; -R5f.xyz = (texture(textureUnitPS0, R1f.xy).xyz); -R1f.x = (texture(textureUnitPS1, R1f.xy).x); -R4f.xyz = (texture(textureUnitPS0, R1f.zw).xyz); -R2f.x = (texture(textureUnitPS1, R1f.zw).x); -// 0 -backupReg0f = R1f.x; -R1f.x = R0f.x + R2f.z; -R127f.y = R2f.x + R6f.z; -PV0f.z = backupReg0f + R6f.z; -R6f.w = R0f.y + R2f.w; -R1f.z = 1.0 / R2f.y; -PS0f = R1f.z; -// 1 -R12f.x = mul_nonIEEE(PS0f, intBitsToFloat(uf_remappedPS[1].x)); -R1f.y = R0f.y + R3f.y; -PS1f = 1.0 / PV0f.z; -// 2 -R127f.w = mul_nonIEEE(R0f.w, PS1f); -PV0f.w = R127f.w; -R7f.z = 1.0 / R3f.x; -PS0f = R7f.z; -// 3 -R13f.x = mul_nonIEEE(PS0f, intBitsToFloat(uf_remappedPS[1].z)); -PV1f.x = R13f.x; -R2f.y = R0f.y + R7f.x; -R2f.z = R0f.x; -R126f.w = (mul_nonIEEE(PV0f.w,R1f.z) + -(R12f.x)); -R126f.w = clamp(R126f.w, 0.0, 1.0); -PS1f = 1.0 / R127f.y; -// 4 -backupReg0f = R0f.w; -R8f.x = R6f.x; -R8f.y = R0f.y; -R123f.z = (mul_nonIEEE(R127f.w,R7f.z) + -(PV1f.x)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV0f.z = R123f.z; -PV0f.w = mul_nonIEEE(backupReg0f, PS1f); -// 5 -backupReg0f = R126f.w; -R123f.y = (mul_nonIEEE(R7f.z,PV0f.w) + -(R13f.x)); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R1f.z,PV0f.w) + -(R12f.x)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -R126f.w = max(backupReg0f, PV0f.z); -// 6 -backupReg0f = R0f.x; -PV0f.x = max(PV1f.z, PV1f.y); -R11f.y = R0f.y; -R11f.x = backupReg0f + -(R3f.w); -PS0f = R11f.x; -// 7 -R2f.x = R126f.w + PV0f.x; -PV1f.y = mul_nonIEEE(R4f.z, PV0f.x); -PV1f.z = mul_nonIEEE(R4f.y, PV0f.x); -PV1f.w = mul_nonIEEE(R4f.x, PV0f.x); -// 8 -backupReg0f = R5f.x; -backupReg1f = R5f.z; -R5f.x = (mul_nonIEEE(backupReg0f,R126f.w) + PV1f.w); -R5f.z = (mul_nonIEEE(backupReg1f,R126f.w) + PV1f.y); -R3f.w = (mul_nonIEEE(R5f.y,R126f.w) + PV1f.z); -R4f.xyz = (texture(textureUnitPS0, R6f.xw).xyz); -R6f.x = (texture(textureUnitPS1, R6f.xw).x); -R3f.xyz = (texture(textureUnitPS0, R1f.xy).xyz); -R1f.x = (texture(textureUnitPS1, R1f.xy).x); -// 0 -R127f.x = R1f.x + R6f.z; -PV0f.y = R6f.x + R6f.z; -// 1 -backupReg0f = R0f.y; -R0f.y = backupReg0f + -(R7f.x); -PS1f = 1.0 / PV0f.y; -// 2 -PV0f.x = mul_nonIEEE(R0f.w, PS1f); -PS0f = 1.0 / R127f.x; -// 3 -PV1f.x = mul_nonIEEE(R0f.w, PS0f); -R123f.y = (mul_nonIEEE(R7f.z,PV0f.x) + -(R13f.x)); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV1f.y = R123f.y; -R123f.w = (mul_nonIEEE(R1f.z,PV0f.x) + -(R12f.x)); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV1f.w = R123f.w; -// 4 -R123f.x = (mul_nonIEEE(R1f.z,PV1f.x) + -(R12f.x)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R7f.z,PV1f.x) + -(R13f.x)); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV0f.y = R123f.y; -R8f.z = max(PV1f.w, PV1f.y); -PV0f.z = R8f.z; -// 5 -R123f.x = (mul_nonIEEE(R4f.z,PV0f.z) + R5f.z); -PV1f.x = R123f.x; -PV1f.y = max(PV0f.x, PV0f.y); -R123f.z = (mul_nonIEEE(R4f.y,PV0f.z) + R3f.w); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R4f.x,PV0f.z) + R5f.x); -PV1f.w = R123f.w; -// 6 -backupReg0f = R3f.y; -backupReg1f = R3f.x; -R3f.x = R2f.x + PV1f.y; -R3f.y = (mul_nonIEEE(R3f.z,PV1f.y) + PV1f.x); -R3f.z = (mul_nonIEEE(backupReg0f,PV1f.y) + PV1f.z); -R3f.w = (mul_nonIEEE(backupReg1f,PV1f.y) + PV1f.w); -R5f.xyz = (texture(textureUnitPS0, R8f.xy).xyz); -R8f.x = (texture(textureUnitPS1, R8f.xy).x); -R4f.xyz = (texture(textureUnitPS0, R2f.zy).xyz); -R2f.x = (texture(textureUnitPS1, R2f.zy).x); -// 0 -backupReg0f = R3f.y; -backupReg1f = R2f.x; -R2f.x = R9f.y + R3f.z; -R3f.y = R9f.x + R3f.w; -PV0f.z = R8f.x + R6f.z; -R2f.w = R9f.z + backupReg0f; -R127f.y = backupReg1f + R6f.z; -PS0f = R127f.y; -// 1 -R126f.y = R10f.x + R6f.z; -PS1f = 1.0 / PV0f.z; -// 2 -PV0f.x = mul_nonIEEE(R0f.w, PS1f); -PS0f = 1.0 / R127f.y; -// 3 -PV1f.x = mul_nonIEEE(R0f.w, PS0f); -R123f.z = (mul_nonIEEE(R7f.z,PV0f.x) + -(R13f.x)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R1f.z,PV0f.x) + -(R12f.x)); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV1f.w = R123f.w; -PS1f = 1.0 / R126f.y; -// 4 -PV0f.x = mul_nonIEEE(R0f.w, PS1f); -R123f.y = (mul_nonIEEE(R7f.z,PV1f.x) + -(R13f.x)); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(R1f.z,PV1f.x) + -(R12f.x)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV0f.z = R123f.z; -R126f.w = max(PV1f.w, PV1f.z); -// 5 -PV1f.x = max(PV0f.z, PV0f.y); -R123f.y = (mul_nonIEEE(R7f.z,PV0f.x) + -(R13f.x)); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R1f.z,PV0f.x) + -(R12f.x)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -// 6 -PV0f.x = max(PV1f.z, PV1f.y); -PV0f.y = mul_nonIEEE(R4f.z, PV1f.x); -PV0f.z = mul_nonIEEE(R4f.y, PV1f.x); -PV0f.w = mul_nonIEEE(R4f.x, PV1f.x); -R6f.w = R126f.w + PV1f.x; -PS0f = R6f.w; -// 7 -backupReg0f = R5f.y; -R5f.y = (mul_nonIEEE(R5f.z,R126f.w) + PV0f.y); -R5f.z = (mul_nonIEEE(backupReg0f,R126f.w) + PV0f.z); -R3f.w = (mul_nonIEEE(R5f.x,R126f.w) + PV0f.w); -R9f.w = mul_nonIEEE(PV0f.x, intBitsToFloat(uf_remappedPS[2].w)); -PS1f = R9f.w; -R4f.xyz = (texture(textureUnitPS0, R11f.xy).xyz); -R11f.x = (texture(textureUnitPS1, R11f.xy).x); -R10f.xyz = (texture(textureUnitPS0, R0f.xy).xyz); -R5f.x = (texture(textureUnitPS1, R0f.xy).x); -// 0 -PV0f.x = R11f.x + R6f.z; -R126f.y = R6f.z + R5f.x; -// 1 -PS1f = 1.0 / PV0f.x; -// 2 -backupReg0f = R0f.w; -PV0f.w = mul_nonIEEE(backupReg0f, PS1f); -PS0f = 1.0 / R126f.y; -// 3 -R123f.x = (mul_nonIEEE(R7f.z,PV0f.w) + -(R13f.x)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(R1f.z,PV0f.w) + -(R12f.x)); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV1f.y = R123f.y; -PV1f.z = mul_nonIEEE(R0f.w, PS0f); -// 4 -R123f.x = (mul_nonIEEE(R7f.z,PV1f.z) + -(R13f.x)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R1f.z,PV1f.z) + -(R12f.x)); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV0f.y = R123f.y; -PV0f.z = max(PV1f.y, PV1f.x); -// 5 -PV1f.x = max(PV0f.y, PV0f.x); -R123f.y = (mul_nonIEEE(R4f.y,PV0f.z) + R5f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R4f.z,PV0f.z) + R5f.y); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R4f.x,PV0f.z) + R3f.w); -PV1f.w = R123f.w; -PS1f = R6f.w + PV0f.z; -// 6 -R123f.x = (mul_nonIEEE(R10f.z,PV1f.x) + PV1f.z); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R10f.y,PV1f.x) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(R10f.x,PV1f.x) + PV1f.w); -PV0f.z = R123f.z; -R126f.w = PS1f + R8f.z; -PS0f = 1.0 + PV1f.x; -// 7 -R127f.x = PV0f.x + R2f.w; -R126f.y = PV0f.y + R2f.x; -R127f.z = PV0f.z + R3f.y; -PV1f.w = PS0f + R3f.x; -// 8 -PV0f.z = PV1f.w + R126f.w; -// 9 -PS1f = 1.0 / PV0f.z; -// 10 -PV0f.x = mul_nonIEEE(R127f.z, PS1f); -PV0f.z = mul_nonIEEE(R127f.x, PS1f); -PV0f.w = mul_nonIEEE(R126f.y, PS1f); -// 11 -R9f.x = mul_nonIEEE(PV0f.x, intBitsToFloat(uf_remappedPS[2].x)); -R9f.y = mul_nonIEEE(PV0f.w, intBitsToFloat(uf_remappedPS[2].y)); -R9f.z = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedPS[2].z)); -// export -passPixelColor0 = vec4(R9f.x, R9f.y, R9f.z, R9f.w); -} diff --git a/Source/Bayonetta/9d1d7119cc2a1bc5_00000000000003c9_ps.txt b/Source/Bayonetta/9d1d7119cc2a1bc5_00000000000003c9_ps.txt deleted file mode 100644 index 8b528b7a..00000000 --- a/Source/Bayonetta/9d1d7119cc2a1bc5_00000000000003c9_ps.txt +++ /dev/null @@ -1,526 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 9d1d7119cc2a1bc5 -//film simulation blur -const float resScale = 3.0;const float resScale = ;uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5195800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4709800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) in vec4 passParameterSem128; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R10f = vec4(0.0); -vec4 R11f = vec4(0.0); -vec4 R12f = vec4(0.0); -vec4 R13f = vec4(0.0); -vec4 R14f = vec4(0.0); -vec4 R15f = vec4(0.0); -vec4 R16f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem128; -R9f.xyz = (texture(textureUnitPS0, R0f.xy).xyz); -R13f.x = (texture(textureUnitPS1, R0f.xy).x); -// 0 -backupReg0f = R0f.z; -R5f.x = intBitsToFloat(0xbab60b61)/ resScale * intBitsToFloat(uf_remappedPS[0].x); -R5f.y = intBitsToFloat(0x3b19999a) / resScale * intBitsToFloat(uf_remappedPS[0].x); -PV0f.z = -(1.0) + backupReg0f; -R1f.w = intBitsToFloat(0xbb19999a) / resScale * intBitsToFloat(uf_remappedPS[0].x); -R6f.y = intBitsToFloat(0x3ab60b61) / resScale * intBitsToFloat(uf_remappedPS[0].x); -PS0f = R6f.y; -// 1 -R10f.x = intBitsToFloat(0xbb888889) / resScale * intBitsToFloat(uf_remappedPS[0].x); -R13f.y = 1.0 + PV0f.z; -R5f.z = intBitsToFloat(0x3a4ccccd) / resScale * intBitsToFloat(uf_remappedPS[0].x); -R3f.w = intBitsToFloat(0xba4ccccd) / resScale * intBitsToFloat(uf_remappedPS[0].x); -R11f.y = intBitsToFloat(0x3b888889) / resScale* intBitsToFloat(uf_remappedPS[0].x); -PS1f = R11f.y; -// 2 -R12f.x = intBitsToFloat(0x3b19999a) / resScale * intBitsToFloat(uf_remappedPS[0].x); -R12f.y = intBitsToFloat(0x3b888889) / resScale * intBitsToFloat(uf_remappedPS[0].x); -R6f.z = intBitsToFloat(0xbb888889) / resScale * intBitsToFloat(uf_remappedPS[0].x); -R4f.w = intBitsToFloat(0xbb19999a) / resScale * intBitsToFloat(uf_remappedPS[0].x); -PS0f = -(intBitsToFloat(uf_remappedPS[1].x)) + intBitsToFloat(uf_remappedPS[1].y); -// 3 -R1f.x = R0f.x + intBitsToFloat(0xba4ccccd) / resScale; -R1f.y = R0f.y + intBitsToFloat(0xbab60b61) / resScale; -R2f.z = R0f.x + intBitsToFloat(0xba4ccccd) / resScale; -PV1f.w = -(intBitsToFloat(uf_remappedPS[1].z)) + intBitsToFloat(uf_remappedPS[1].w); -R15f.y = 1.0 / PS0f; -PS1f = R15f.y; -// 4 -R6f.x = R0f.x + intBitsToFloat(0x3a4ccccd) / resScale; -R2f.y = R0f.y + intBitsToFloat(0x3ab60b61) / resScale; -R8f.z = mul_nonIEEE(PS1f, intBitsToFloat(uf_remappedPS[1].x)); -R6f.w = R0f.y + intBitsToFloat(0xbab60b61) / resScale; -R16f.y = 1.0 / PV1f.w; -PS0f = R16f.y; -R4f.xyz = (texture(textureUnitPS0, R1f.xy).xyz); -R1f.x = (texture(textureUnitPS1, R1f.xy).x); -R3f.xyz = (texture(textureUnitPS0, R2f.zy).xyz); -R2f.x = (texture(textureUnitPS1, R2f.zy).x); -// 0 -backupReg0f = R0f.y; -R127f.x = R2f.x + R13f.y; -PV0f.y = R1f.x + R13f.y; -R2f.z = mul_nonIEEE(R16f.y, intBitsToFloat(uf_remappedPS[1].z)); -R2f.w = R0f.x + intBitsToFloat(0x3a4ccccd) / resScale; -R2f.y = backupReg0f + intBitsToFloat(0x3ab60b61) / resScale; -PS0f = R2f.y; -// 1 -R8f.x = R0f.x + R1f.w; -R8f.y = R0f.y + R5f.x; -PS1f = 1.0 / PV0f.y; -// 2 -PV0f.x = mul_nonIEEE(R0f.w, PS1f); -PS0f = 1.0 / R127f.x; -// 3 -R123f.x = (mul_nonIEEE(PV0f.x,R15f.y) + -(R8f.z)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -PV1f.y = mul_nonIEEE(R0f.w, PS0f); -R123f.w = (mul_nonIEEE(PV0f.x,R16f.y) + -(R2f.z)); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV1f.w = R123f.w; -// 4 -R123f.x = (mul_nonIEEE(R15f.y,PV1f.y) + -(R8f.z)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -R123f.z = (mul_nonIEEE(R16f.y,PV1f.y) + -(R2f.z)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV0f.z = R123f.z; -R127f.w = max(PV1f.x, PV1f.w); -R1f.x = R0f.x + R1f.w; -PS0f = R1f.x; -// 5 -backupReg0f = R0f.y; -PV1f.y = max(PV0f.x, PV0f.z); -R1f.z = backupReg0f + R6f.y; -// 6 -PV0f.x = mul_nonIEEE(R3f.x, PV1f.y); -R1f.y = R127f.w + PV1f.y; -PV0f.z = mul_nonIEEE(R3f.z, PV1f.y); -PV0f.w = mul_nonIEEE(R3f.y, PV1f.y); -// 7 -backupReg0f = R5f.x; -R5f.x = (mul_nonIEEE(R4f.y,R127f.w) + PV0f.w); -R4f.y = (mul_nonIEEE(R4f.x,R127f.w) + PV0f.x); -R10f.z = R0f.x + R5f.y; -R1f.w = (mul_nonIEEE(R4f.z,R127f.w) + PV0f.z); -R10f.y = R0f.y + backupReg0f; -PS1f = R10f.y; -R3f.xyz = (texture(textureUnitPS0, R6f.xw).xyz); -R6f.x = (texture(textureUnitPS1, R6f.xw).x); -R7f.xyz = (texture(textureUnitPS0, R2f.wy).xyz); -R4f.x = (texture(textureUnitPS1, R2f.wy).x); -// 0 -R127f.y = R4f.x + R13f.y; -PV0f.w = R6f.x + R13f.y; -// 1 -PS1f = 1.0 / PV0f.w; -// 2 -PV0f.z = mul_nonIEEE(R0f.w, PS1f); -PS0f = 1.0 / R127f.y; -// 3 -R123f.x = (mul_nonIEEE(R15f.y,PV0f.z) + -(R8f.z)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -PV1f.y = mul_nonIEEE(R0f.w, PS0f); -R123f.w = (mul_nonIEEE(R16f.y,PV0f.z) + -(R2f.z)); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV1f.w = R123f.w; -// 4 -R123f.x = (mul_nonIEEE(R16f.y,PV1f.y) + -(R2f.z)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -PV0f.y = max(PV1f.x, PV1f.w); -R123f.z = (mul_nonIEEE(R15f.y,PV1f.y) + -(R8f.z)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV0f.z = R123f.z; -R5f.w = R0f.x + R5f.y; -// 5 -R123f.x = (mul_nonIEEE(R3f.z,PV0f.y) + R1f.w); -PV1f.x = R123f.x; -PV1f.y = max(PV0f.z, PV0f.x); -R123f.z = (mul_nonIEEE(R3f.x,PV0f.y) + R4f.y); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R3f.y,PV0f.y) + R5f.x); -PV1f.w = R123f.w; -PS1f = R1f.y + PV0f.y; -// 6 -backupReg0f = R6f.y; -R2f.x = PS1f + PV1f.y; -R6f.y = (mul_nonIEEE(R7f.z,PV1f.y) + PV1f.x); -R7f.z = (mul_nonIEEE(R7f.y,PV1f.y) + PV1f.w); -R1f.w = (mul_nonIEEE(R7f.x,PV1f.y) + PV1f.z); -R5f.y = R0f.y + backupReg0f; -PS0f = R5f.y; -R4f.xyz = (texture(textureUnitPS0, R8f.xy).xyz); -R8f.x = (texture(textureUnitPS1, R8f.xy).x); -R3f.xyz = (texture(textureUnitPS0, R1f.xz).xyz); -R1f.x = (texture(textureUnitPS1, R1f.xz).x); -// 0 -R7f.x = R9f.y + R7f.z; -R7f.y = R9f.x + R1f.w; -PV0f.z = R8f.x + R13f.y; -R2f.w = R9f.z + R6f.y; -R127f.w = R13f.y + R1f.x; -PS0f = R127f.w; -// 1 -R6f.x = R0f.x + R3f.w; -R6f.y = R0f.y + R10f.x; -PS1f = 1.0 / PV0f.z; -// 2 -backupReg0f = R0f.w; -PV0f.w = mul_nonIEEE(backupReg0f, PS1f); -PS0f = 1.0 / R127f.w; -// 3 -backupReg0f = R0f.x; -PV1f.x = mul_nonIEEE(R0f.w, PS0f); -R123f.y = (mul_nonIEEE(R15f.y,PV0f.w) + -(R8f.z)); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R16f.y,PV0f.w) + -(R2f.z)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -R9f.w = backupReg0f + R3f.w; -// 4 -R123f.x = (mul_nonIEEE(R15f.y,PV1f.x) + -(R8f.z)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R16f.y,PV1f.x) + -(R2f.z)); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV0f.y = R123f.y; -R127f.w = max(PV1f.y, PV1f.z); -// 5 -R9f.y = R0f.y + R11f.y; -PV1f.z = max(PV0f.x, PV0f.y); -// 6 -backupReg0f = R0f.x; -PV0f.x = mul_nonIEEE(R3f.y, PV1f.z); -PV0f.y = mul_nonIEEE(R3f.x, PV1f.z); -R7f.z = R127f.w + PV1f.z; -PV0f.w = mul_nonIEEE(R3f.z, PV1f.z); -R8f.x = backupReg0f + R5f.z; -PS0f = R8f.x; -// 7 -backupReg0f = R4f.y; -backupReg1f = R4f.z; -R4f.y = (mul_nonIEEE(backupReg0f,R127f.w) + PV0f.x); -R4f.z = (mul_nonIEEE(R4f.x,R127f.w) + PV0f.y); -R3f.w = (mul_nonIEEE(backupReg1f,R127f.w) + PV0f.w); -R8f.y = R0f.y + R10f.x; -PS1f = R8f.y; -R3f.xyz = (texture(textureUnitPS0, R10f.zy).xyz); -R4f.x = (texture(textureUnitPS1, R10f.zy).x); -R1f.xyz = (texture(textureUnitPS0, R5f.wy).xyz); -R10f.x = (texture(textureUnitPS1, R5f.wy).x); -// 0 -PV0f.x = R4f.x + R13f.y; -R127f.z = R10f.x + R13f.y; -// 1 -PS1f = 1.0 / PV0f.x; -// 2 -PV0f.y = mul_nonIEEE(R0f.w, PS1f); -PS0f = 1.0 / R127f.z; -// 3 -R123f.x = (mul_nonIEEE(R16f.y,PV0f.y) + -(R2f.z)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -PV1f.y = mul_nonIEEE(R0f.w, PS0f); -R123f.z = (mul_nonIEEE(R15f.y,PV0f.y) + -(R8f.z)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -R5f.w = R0f.x + R5f.z; -// 4 -R123f.x = (mul_nonIEEE(R15f.y,PV1f.y) + -(R8f.z)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -R123f.z = (mul_nonIEEE(R16f.y,PV1f.y) + -(R2f.z)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV0f.z = R123f.z; -PV0f.w = max(PV1f.z, PV1f.x); -// 5 -R5f.x = max(PV0f.x, PV0f.z); -PV1f.x = R5f.x; -R123f.y = (mul_nonIEEE(R3f.x,PV0f.w) + R4f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R3f.y,PV0f.w) + R4f.y); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R3f.z,PV0f.w) + R3f.w); -PV1f.w = R123f.w; -R1f.w = R7f.z + PV0f.w; -PS1f = R1f.w; -// 6 -backupReg0f = R1f.z; -R3f.x = (mul_nonIEEE(R1f.x,PV1f.x) + PV1f.y); -R5f.y = R0f.y + R11f.y; -R1f.z = (mul_nonIEEE(backupReg0f,PV1f.x) + PV1f.w); -R3f.w = (mul_nonIEEE(R1f.y,PV1f.x) + PV1f.z); -R10f.x = R0f.x + R4f.w; -PS0f = R10f.x; -R11f.xyz = (texture(textureUnitPS0, R6f.xy).xyz); -R6f.x = (texture(textureUnitPS1, R6f.xy).x); -R4f.xyz = (texture(textureUnitPS0, R9f.wy).xyz); -R1f.x = (texture(textureUnitPS1, R9f.wy).x); -// 0 -R9f.x = R0f.x + R4f.w; -R10f.y = R0f.y + R6f.z; -R127f.z = R1f.x + R13f.y; -PV0f.w = R13f.y + R6f.x; -R9f.y = R0f.y + R12f.y; -PS0f = R9f.y; -// 1 -PS1f = 1.0 / PV0f.w; -// 2 -PV0f.z = mul_nonIEEE(R0f.w, PS1f); -PS0f = 1.0 / R127f.z; -// 3 -R123f.x = (mul_nonIEEE(R15f.y,PV0f.z) + -(R8f.z)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -PV1f.y = mul_nonIEEE(R0f.w, PS0f); -R123f.w = (mul_nonIEEE(R16f.y,PV0f.z) + -(R2f.z)); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV1f.w = R123f.w; -// 4 -R3f.y = max(PV1f.x, PV1f.w); -PV0f.y = R3f.y; -R123f.z = (mul_nonIEEE(R16f.y,PV1f.y) + -(R2f.z)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(R15f.y,PV1f.y) + -(R8f.z)); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV0f.w = R123f.w; -// 5 -backupReg0f = R11f.y; -R123f.x = (mul_nonIEEE(R11f.z,PV0f.y) + R1f.z); -PV1f.x = R123f.x; -R11f.y = max(PV0f.w, PV0f.z); -PV1f.y = R11f.y; -R123f.z = (mul_nonIEEE(R11f.x,PV0f.y) + R3f.x); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(backupReg0f,PV0f.y) + R3f.w); -PV1f.w = R123f.w; -// 6 -backupReg0f = R4f.z; -R3f.x = (mul_nonIEEE(R4f.x,PV1f.y) + PV1f.z); -R14f.y = R0f.y + R6f.z; -R4f.z = (mul_nonIEEE(backupReg0f,PV1f.y) + PV1f.x); -R3f.w = (mul_nonIEEE(R4f.y,PV1f.y) + PV1f.w); -R14f.x = R0f.x + R12f.x; -PS0f = R14f.x; -R6f.xyz = (texture(textureUnitPS0, R8f.xy).xyz); -R8f.x = (texture(textureUnitPS1, R8f.xy).x); -R1f.xyz = (texture(textureUnitPS0, R5f.wy).xyz); -R4f.x = (texture(textureUnitPS1, R5f.wy).x); -// 0 -R127f.y = R13f.y + R4f.x; -PV0f.w = R8f.x + R13f.y; -// 1 -PS1f = 1.0 / PV0f.w; -// 2 -PV0f.z = mul_nonIEEE(R0f.w, PS1f); -PS0f = 1.0 / R127f.y; -// 3 -R123f.x = (mul_nonIEEE(R15f.y,PV0f.z) + -(R8f.z)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -PV1f.y = mul_nonIEEE(R0f.w, PS0f); -R123f.w = (mul_nonIEEE(R16f.y,PV0f.z) + -(R2f.z)); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV1f.w = R123f.w; -// 4 -R123f.x = (mul_nonIEEE(R16f.y,PV1f.y) + -(R2f.z)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -PV0f.y = max(PV1f.x, PV1f.w); -R123f.z = (mul_nonIEEE(R15f.y,PV1f.y) + -(R8f.z)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV0f.z = R123f.z; -R5f.w = R0f.x + R12f.x; -// 5 -backupReg0f = R6f.y; -R123f.x = (mul_nonIEEE(R6f.z,PV0f.y) + R4f.z); -PV1f.x = R123f.x; -R6f.y = max(PV0f.z, PV0f.x); -PV1f.y = R6f.y; -R123f.z = (mul_nonIEEE(R6f.x,PV0f.y) + R3f.x); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(backupReg0f,PV0f.y) + R3f.w); -PV1f.w = R123f.w; -R3f.w = R1f.w + PV0f.y; -PS1f = R3f.w; -// 6 -backupReg0f = R1f.x; -R1f.x = (mul_nonIEEE(R1f.z,PV1f.y) + PV1f.x); -R5f.y = R0f.y + R12f.y; -R1f.z = (mul_nonIEEE(R1f.y,PV1f.y) + PV1f.w); -R1f.w = (mul_nonIEEE(backupReg0f,PV1f.y) + PV1f.z); -R4f.xyz = (texture(textureUnitPS0, R10f.xy).xyz); -R10f.x = (texture(textureUnitPS1, R10f.xy).x); -R12f.xyz = (texture(textureUnitPS0, R9f.xy).xyz); -R9f.x = (texture(textureUnitPS1, R9f.xy).x); -// 0 -backupReg0f = R1f.x; -backupReg1f = R7f.y; -R1f.x = backupReg0f + R2f.w; -R7f.y = R1f.z + R7f.x; -R1f.z = R1f.w + backupReg1f; -PV0f.w = R10f.x + R13f.y; -// 1 -PV1f.x = R9f.x + R13f.y; -PV1f.y = R11f.y + R5f.x; -PS1f = 1.0 / PV0f.w; -// 2 -backupReg0f = R0f.w; -R5f.x = R6f.y + PV1f.y; -PV0f.w = mul_nonIEEE(backupReg0f, PS1f); -PS0f = 1.0 / PV1f.x; -// 3 -PV1f.x = mul_nonIEEE(R0f.w, PS0f); -R123f.y = (mul_nonIEEE(R15f.y,PV0f.w) + -(R8f.z)); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R16f.y,PV0f.w) + -(R2f.z)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -// 4 -R123f.x = (mul_nonIEEE(R16f.y,PV1f.x) + -(R2f.z)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R15f.y,PV1f.x) + -(R8f.z)); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV0f.y = R123f.y; -R11f.z = R2f.x + R3f.y; -R127f.w = max(PV1f.y, PV1f.z); -// 5 -PV1f.y = R13f.x + R13f.y; -PV1f.w = max(PV0f.y, PV0f.x); -// 6 -PV0f.x = mul_nonIEEE(R12f.z, PV1f.w); -PV0f.y = mul_nonIEEE(R12f.y, PV1f.w); -PV0f.z = mul_nonIEEE(R12f.x, PV1f.w); -R2f.w = R127f.w + PV1f.w; -PS0f = 1.0 / PV1f.y; -// 7 -backupReg0f = R4f.y; -R12f.x = mul_nonIEEE(R0f.w, PS0f); -R4f.y = (mul_nonIEEE(R4f.z,R127f.w) + PV0f.x); -R4f.z = (mul_nonIEEE(backupReg0f,R127f.w) + PV0f.y); -R1f.w = (mul_nonIEEE(R4f.x,R127f.w) + PV0f.z); -R3f.xyz = (texture(textureUnitPS0, R14f.xy).xyz); -R14f.x = (texture(textureUnitPS1, R14f.xy).x); -R6f.xyz = (texture(textureUnitPS0, R5f.wy).xyz); -R4f.x = (texture(textureUnitPS1, R5f.wy).x); -// 0 -R123f.x = (mul_nonIEEE(R15f.y,R12f.x) + -(R8f.z)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R16f.y,R12f.x) + -(R2f.z)); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV0f.y = R123f.y; -PV0f.z = R14f.x + R13f.y; -R127f.w = R4f.x + R13f.y; -// 1 -R127f.x = max(PV0f.x, PV0f.y); -PS1f = 1.0 / PV0f.z; -// 2 -backupReg0f = R0f.w; -PV0f.w = mul_nonIEEE(backupReg0f, PS1f); -PS0f = 1.0 / R127f.w; -// 3 -R123f.x = (mul_nonIEEE(R15f.y,PV0f.w) + -(R8f.z)); -R123f.x = clamp(R123f.x, 0.0, 1.0); -PV1f.x = R123f.x; -PV1f.y = mul_nonIEEE(R0f.w, PS0f); -R123f.z = (mul_nonIEEE(R16f.y,PV0f.w) + -(R2f.z)); -R123f.z = clamp(R123f.z, 0.0, 1.0); -PV1f.z = R123f.z; -R0f.w = mul_nonIEEE(R127f.x, intBitsToFloat(uf_remappedPS[2].w)); -// 4 -PV0f.x = max(PV1f.x, PV1f.z); -R123f.y = (mul_nonIEEE(R15f.y,PV1f.y) + -(R8f.z)); -R123f.y = clamp(R123f.y, 0.0, 1.0); -PV0f.y = R123f.y; -R123f.w = (mul_nonIEEE(R16f.y,PV1f.y) + -(R2f.z)); -R123f.w = clamp(R123f.w, 0.0, 1.0); -PV0f.w = R123f.w; -// 5 -PV1f.x = max(PV0f.y, PV0f.w); -R123f.y = (mul_nonIEEE(R3f.y,PV0f.x) + R4f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R3f.z,PV0f.x) + R4f.y); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R3f.x,PV0f.x) + R1f.w); -PV1f.w = R123f.w; -PS1f = R2f.w + PV0f.x; -// 6 -R123f.x = (mul_nonIEEE(R6f.y,PV1f.x) + PV1f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R6f.x,PV1f.x) + PV1f.w); -PV0f.y = R123f.y; -PV0f.z = PS1f + PV1f.x; -R123f.w = (mul_nonIEEE(R6f.z,PV1f.x) + PV1f.z); -PV0f.w = R123f.w; -// 7 -R127f.xyz = vec3(PV0f.y,PV0f.w,PV0f.x) + vec3(R1f.z,R1f.x,R7f.y); -PV1f.w = PV0f.z + R5f.x; -// 8 -PV0f.z = PV1f.w + 1.0; -// 9 -PV1f.w = R11f.z + PV0f.z; -// 10 -PV0f.z = R3f.w + PV1f.w; -// 11 -PS1f = 1.0 / PV0f.z; -// 12 -PV0f.x = mul_nonIEEE(R127f.x, PS1f); -PV0f.z = mul_nonIEEE(R127f.y, PS1f); -PV0f.w = mul_nonIEEE(R127f.z, PS1f); -// 13 -R0f.x = mul_nonIEEE(PV0f.x, intBitsToFloat(uf_remappedPS[2].x)); -R0f.y = mul_nonIEEE(PV0f.w, intBitsToFloat(uf_remappedPS[2].y)); -R0f.z = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedPS[2].z)); -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Source/Bayonetta/f015876e4c8e82f9_000000000000001e_ps.txt b/Source/Bayonetta/f015876e4c8e82f9_000000000000001e_ps.txt deleted file mode 100644 index f32e9c8c..00000000 --- a/Source/Bayonetta/f015876e4c8e82f9_000000000000001e_ps.txt +++ /dev/null @@ -1,131 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader f015876e4c8e82f9 -//menu 2d blur -const float resScale = ; -uniform ivec4 uf_remappedPS[1]; -uniform float uf_alphaTestRef; -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) in vec4 passParameterSem129; -layout(location = 1) in vec4 passParameterSem128; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem129; -R1f = passParameterSem128; -// 0 -R7f.x = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3e124925); -PV0f.z = mul_nonIEEE(R0f.w, intBitsToFloat(uf_remappedPS[0].w)); -PV0f.z *= 2.0; -R8f.w = 1.0; -PS0f = 1.0 / R1f.w; -PS0f /= 2.0; -// 1 -R127f.x = PV0f.z * intBitsToFloat(0x3ab60b61)/ resScale; -R127f.y = PV0f.z * intBitsToFloat(0x3b360b61)/ resScale; -PV1f.z = mul_nonIEEE(R1f.x, PS0f); -PV1f.w = mul_nonIEEE(-(R1f.y), PS0f); -R127f.w = PV0f.z * intBitsToFloat(0x3b888889)/ resScale; -PS1f = R127f.w; -// 2 -R6f.x = PV1f.z + 0.5; -PV0f.x = R6f.x; -R6f.y = PV1f.w + 0.5; -PV0f.y = R6f.y; -// 3 -R1f.x = PV0f.x; -R1f.y = PV0f.y + -(R127f.x); -R0f.z = PV0f.x; -R0f.y = PV0f.y + R127f.x; -PS1f = R0f.y; -// 4 -R2f.x = R6f.x; -R2f.y = R6f.y + -(R127f.y); -R3f.z = R6f.x; -R3f.y = R6f.y + R127f.y; -PS0f = R3f.y; -// 5 -R4f.x = R6f.x; -R4f.y = R6f.y + -(R127f.w); -R5f.z = R6f.x; -R5f.y = R6f.y + R127f.w; -PS1f = R5f.y; -R1f.xyz = (texture(textureUnitPS1, R1f.xy).xyz); -R0f.xyz = (texture(textureUnitPS1, R0f.zy).xyz); -R2f.xyz = (texture(textureUnitPS1, R2f.xy).xyz); -R3f.xyz = (texture(textureUnitPS1, R3f.zy).xyz); -R4f.xyz = (texture(textureUnitPS1, R4f.xy).xyz); -R5f.xyz = (texture(textureUnitPS1, R5f.zy).xyz); -R6f.xyz = (texture(textureUnitPS1, R6f.xy).xyz); -// 0 -backupReg0f = R0f.x; -PV0f.x = R1f.x + backupReg0f; -R127f.z = R1f.z + R0f.z; -PV0f.w = R1f.y + R0f.y; -// 1 -R127f.x = R2f.x + R3f.x; -R127f.y = R6f.x + PV0f.x; -R126f.z = R2f.z + R3f.z; -R127f.w = R2f.y + R3f.y; -R126f.w = R6f.y + PV0f.w; -PS1f = R126f.w; -// 2 -PV0f.x = R4f.y + R5f.y; -PV0f.y = R4f.x + R5f.x; -PV0f.w = R4f.z + R5f.z; -// 3 -PV1f.x = PV0f.y + R127f.x; -PV1f.y = PV0f.x + R127f.w; -PV1f.z = R6f.z + R127f.z; -PV1f.w = PV0f.w + R126f.z; -// 4 -PV0f.y = PV1f.z + PV1f.w; -PV0f.z = R126f.w + PV1f.y; -PV0f.w = R127f.y + PV1f.x; -// 5 -R8f.x = mul_nonIEEE(PV0f.w, R7f.x); -R8f.y = mul_nonIEEE(PV0f.z, R7f.x); -R8f.z = mul_nonIEEE(PV0f.y, R7f.x); -// export -if( ((vec4(R8f.x, R8f.y, R8f.z, R8f.w)).a >= uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(R8f.x, R8f.y, R8f.z, R8f.w); -} diff --git a/Source/Bayonetta/rules.txt b/Source/Bayonetta/rules.txt deleted file mode 100644 index b0e182b8..00000000 --- a/Source/Bayonetta/rules.txt +++ /dev/null @@ -1,62 +0,0 @@ - -[Definition] -titleIds = 000500001014DB00,0005000010157E00,0005000010157F00 -name = "Bayonetta - " -version = 2 - -[TextureRedefine] # game rendering resolution. #Change this value -width = 1280 -height = 720 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] # No gamepad view found in B, uncommented -#width = 854 -#height = 480 -#overwriteWidth = 2560 -#overwriteHeight = 1440 - -[TextureRedefine] # FMV, bloom/blur initial step -width = 640 -height = 360 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Bloom/blur pyaramid -width = 320 -height = 176 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Bloom/blur pyaramid -width = 160 -height = 80 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Bloom/blur pyaramid -width = 80 -height = 48 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Bloom/blur pyaramid -width = 48 -height = 32 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Bloom/blur pyaramid -width = 32 -height = 16 -overwriteWidth = -overwriteHeight = \ No newline at end of file diff --git a/Source/Bayonetta2/00fed4f92a49e851_0000000000000079_ps.txt b/Source/Bayonetta2/00fed4f92a49e851_0000000000000079_ps.txt index 38ff2884..c0354185 100644 --- a/Source/Bayonetta2/00fed4f92a49e851_0000000000000079_ps.txt +++ b/Source/Bayonetta2/00fed4f92a49e851_0000000000000079_ps.txt @@ -1,17 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 00fed4f92a49e851 //cut scen blur pass 2 a -const float resScale = ; -//const float resScale = 3.0; +const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[2]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x462bd800 res 320x180x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem133; diff --git a/Source/Bayonetta2/43a2239f07af804e_0000000000000079_ps.txt b/Source/Bayonetta2/43a2239f07af804e_0000000000000079_ps.txt index f79ada48..3d5938b5 100644 --- a/Source/Bayonetta2/43a2239f07af804e_0000000000000079_ps.txt +++ b/Source/Bayonetta2/43a2239f07af804e_0000000000000079_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 43a2239f07af804e //horizontal blur -const float resScale = ; +const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[3]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf53f9800 res 320x176x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem133; diff --git a/Source/Bayonetta2/73ac09c3fff4b657_0000000000000079_ps.txt b/Source/Bayonetta2/73ac09c3fff4b657_0000000000000079_ps.txt index 926b094f..e72d9a7f 100644 --- a/Source/Bayonetta2/73ac09c3fff4b657_0000000000000079_ps.txt +++ b/Source/Bayonetta2/73ac09c3fff4b657_0000000000000079_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 73ac09c3fff4b657 //cut scene vert blur //redundant? -const float resScale = ; +const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[2]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x462fa000 res 320x180x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem133; diff --git a/Source/Bayonetta2/75387173950c1793_0000000000000079_ps.txt b/Source/Bayonetta2/75387173950c1793_0000000000000079_ps.txt index 5dbd82fc..37cd5ec3 100644 --- a/Source/Bayonetta2/75387173950c1793_0000000000000079_ps.txt +++ b/Source/Bayonetta2/75387173950c1793_0000000000000079_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 75387173950c1793 //vert blur -const float resScale = ; +const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[1]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf536f000 res 320x176x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem133; diff --git a/Source/Bayonetta2/8a0efcdc3f556942_0000000000000079_ps.txt b/Source/Bayonetta2/8a0efcdc3f556942_0000000000000079_ps.txt index edaee607..85fda717 100644 --- a/Source/Bayonetta2/8a0efcdc3f556942_0000000000000079_ps.txt +++ b/Source/Bayonetta2/8a0efcdc3f556942_0000000000000079_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 8a0efcdc3f556942 //halfres, pyarmid start -const float resScale = ; +const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[2]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf451b000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem133; diff --git a/Source/Bayonetta2/rules.txt b/Source/Bayonetta2/rules.txt index 8cc9380b..2a3d20b4 100644 --- a/Source/Bayonetta2/rules.txt +++ b/Source/Bayonetta2/rules.txt @@ -1,69 +1,180 @@ - [Definition] titleIds = 0005000010172600,0005000010172700,000500001011B900 -name = "Bayonetta 2 - " -version = 2 +name = Resolution +path = "Bayonetta 2/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 -[TextureRedefine] # game rendering resolution. #Change this value -width = 1280 +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] # Game Resolution +width = 1280 height = 720 tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] # No gamepad view found in B, uncommented -#width = 854 -#height = 480 -#overwriteWidth = 2560 -#overwriteHeight = 1440 - -[TextureRedefine] # FMV, bloom/blur initial step -width = 640 -height = 360 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 1280 +overwriteHeight = ($height / $gameHeight) * 720 -[TextureRedefine] # Bloom/blur pyaramid -width = 320 +[TextureRedefine] # Blur Map +width = 640 +height = 368 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 368 + +[TextureRedefine] # Blur Map +width = 640 +height = 360 +tileModesExcluded = 0x001 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 360 + +[TextureRedefine] # Motion Blur Map +width = 320 +height = 192 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 192 + +[TextureRedefine] # Motion Blur Map +width = 320 height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Bloom/blur pyaramid -width = 320 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 180 + +[TextureRedefine] # Bloom Map +width = 320 height = 176 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Bloom/blur pyaramid -width = 160 -height = 80 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Bloom/blur pyaramid -width = 80 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 176 + +[TextureRedefine] # Bloom Mip +width = 96 height = 48 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Bloom/blur pyaramid -width = 48 +overwriteWidth = ($width / $gameWidth) * 96 +overwriteHeight = ($height / $gameHeight) * 48 + +[TextureRedefine] # Bloom Mip +width = 80 +height = 48 +overwriteWidth = ($width / $gameWidth) * 80 +overwriteHeight = ($height / $gameHeight) * 48 + +[TextureRedefine] # Bloom Mip +width = 64 height = 32 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Bloom/blur pyaramid -width = 32 -height = 16 -overwriteWidth = -overwriteHeight = \ No newline at end of file +formats = 0x1a +overwriteWidth = ($width / $gameWidth) * 64 +overwriteHeight = ($height / $gameHeight) * 32 + +[TextureRedefine] # Bloom Mip +width = 48 +height = 32 +overwriteWidth = ($width / $gameWidth) * 48 +overwriteHeight = ($height / $gameHeight) * 32 diff --git a/Source/Ben10Omniverse/rules.txt b/Source/Ben10Omniverse/rules.txt deleted file mode 100644 index e5a20a25..00000000 --- a/Source/Ben10Omniverse/rules.txt +++ /dev/null @@ -1,42 +0,0 @@ - -[Definition] -titleIds = 000500001010AC00,0005000010111000 -name = "Ben 10 Omniverse - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine]# q-res -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #o-res -width = 160 -height = 90 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/BreathOfTheWild/01ba1a725af9facf_0000000000000000_vs.txt b/Source/BreathOfTheWild/01ba1a725af9facf_0000000000000000_vs.txt index 2ef50f10..49d93c18 100644 --- a/Source/BreathOfTheWild/01ba1a725af9facf_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/01ba1a725af9facf_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 01ba1a725af9facf // Used for: Creating randomly sized stars (only on > Cemu 1.12.1) like the original game has. // Shader made by Kiri -const float resScale = ; +const float resScale = $width/720; layout(binding = 1, std140) uniform uniformBlockVS1 { diff --git a/Source/BreathOfTheWild/01bef64ec0cccd53_0000000000000000_vs.txt b/Source/BreathOfTheWild/01bef64ec0cccd53_0000000000000000_vs.txt index 7bb06371..a2a12330 100644 --- a/Source/BreathOfTheWild/01bef64ec0cccd53_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/01bef64ec0cccd53_0000000000000000_vs.txt @@ -1,16 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable -// shader 01bef64ec0cccd53 // cloud vs -const float resXScale = ; -const float resYScale = ; +// shader 01bef64ec0cccd53 +// Used for: Fixing clouds in non-updated versions +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/0b9b8f5dfa16ad58_0000000000000000_vs.txt b/Source/BreathOfTheWild/0b9b8f5dfa16ad58_0000000000000000_vs.txt index 3c03f763..3b893f75 100644 --- a/Source/BreathOfTheWild/0b9b8f5dfa16ad58_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/0b9b8f5dfa16ad58_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 0b9b8f5dfa16ad58 -// Fixed radius blur -// main menu h -const float resXScale = ; -const float resYScale = ; +// Used For: Horizontal Menu Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; @@ -63,7 +55,7 @@ R127f.z = (0.0 > R1f.x)?1.0:0.0; R127f.z /= 2.0; R127f.w = 1.0; PV0f.w = R127f.w; -R126f.x = intBitsToFloat(uf_remappedVS[0].z) / resXScale * intBitsToFloat(0x3fae8a72); +R126f.x = intBitsToFloat(uf_remappedVS[0].z) * (intBitsToFloat(0x3fae8a72)/resXScale); PS0f = R126f.x; // 1 R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); diff --git a/Source/BreathOfTheWild/0bcd653c18367d59_0000000000000000_vs.txt b/Source/BreathOfTheWild/0bcd653c18367d59_0000000000000000_vs.txt index 2c05199f..73aef62a 100644 --- a/Source/BreathOfTheWild/0bcd653c18367d59_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/0bcd653c18367d59_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 0bcd653c18367d59 -// AARestore v2 - restores native aa in game -// original shader dumped using cemu 1.10.0f, BotW 1.3.1 -const float resXScale = ; -const float resYScale = ; +// Used for: Restoring the native BotW Anti-Aliasing implementation +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/0d6127fbed646d2b_0000000000000000_vs.txt b/Source/BreathOfTheWild/0d6127fbed646d2b_0000000000000000_vs.txt index cac4d263..fea2504c 100644 --- a/Source/BreathOfTheWild/0d6127fbed646d2b_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/0d6127fbed646d2b_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 0d6127fbed646d2b -// AO Fix -// original shader dumped using cemu 1.10.0f, BotW 1.3.1 -const float resXScale = ; -const float resYScale = ; +// Used for: Fixing Ambient-Occlusion +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/0f2b9ee517917425_00000000000003c9_ps.txt b/Source/BreathOfTheWild/0f2b9ee517917425_00000000000003c9_ps.txt index ed8e31f9..f1cf6880 100644 --- a/Source/BreathOfTheWild/0f2b9ee517917425_00000000000003c9_ps.txt +++ b/Source/BreathOfTheWild/0f2b9ee517917425_00000000000003c9_ps.txt @@ -1,17 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader 0f2b9ee517917425 -// AARestore - restores native fxaa in inventory screen -// original shader dumped using cemu 1.10.0f, BotW 1.3.1 -const float resXScale = ; -const float resYScale = ; +// Used for: Restoring the native BotW Anti-Aliasing implementation in inventory screen +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedPS[2]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Source/BreathOfTheWild/141f484aff9b9f5a_0000000000000000_vs.txt b/Source/BreathOfTheWild/141f484aff9b9f5a_0000000000000000_vs.txt index d52f001d..5f0f3a7d 100644 --- a/Source/BreathOfTheWild/141f484aff9b9f5a_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/141f484aff9b9f5a_0000000000000000_vs.txt @@ -1,17 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable -// shader 141f484aff9b9f5a // in-game aa color mix +// shader 141f484aff9b9f5a +// Used for: Anti-Aliasing Color Mix -const float resXScale = ; -const float resYScale = ; +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[3]; uniform vec2 uf_windowSpaceToClipSpaceTransform; layout(location = 0) in uvec4 attrDataSem0; diff --git a/Source/BreathOfTheWild/15afdae4307b9a3d_0000000000000000_vs.txt b/Source/BreathOfTheWild/15afdae4307b9a3d_0000000000000000_vs.txt index 3b0a0cae..9e67689f 100644 --- a/Source/BreathOfTheWild/15afdae4307b9a3d_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/15afdae4307b9a3d_0000000000000000_vs.txt @@ -1,17 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 15afdae4307b9a3d -// AO blur vertical -const float resXScale = ; -const float resYScale = ; +// Used for: Vertical Ambient-Occlusion Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; + uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; layout(location = 0) in uvec4 attrDataSem0; diff --git a/Source/BreathOfTheWild/1a14de8e58d5b30a_0000000000000000_vs.txt b/Source/BreathOfTheWild/1a14de8e58d5b30a_0000000000000000_vs.txt index a6280c07..0e1def16 100644 --- a/Source/BreathOfTheWild/1a14de8e58d5b30a_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/1a14de8e58d5b30a_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 1a14de8e58d5b30a -// AARestore v2 - restores native aa in game -// original shader dumped using cemu 1.10.0f, BotW 1.3.1 -const float resXScale = ; -const float resYScale = ; +// Used for: Restoring the native BotW Anti-Aliasing implementation +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/381d034349896360_0000000000000000_vs.txt b/Source/BreathOfTheWild/381d034349896360_0000000000000000_vs.txt index a48ca0db..caa482fd 100644 --- a/Source/BreathOfTheWild/381d034349896360_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/381d034349896360_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 381d034349896360 -// Fixed radius blur -// volumetric light blur h -const float resXScale = ; -const float resYScale = ; +// Used for: Horizontal Volumetric Light Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/44b73ce02e05c2e6_0000000000000000_vs.txt b/Source/BreathOfTheWild/44b73ce02e05c2e6_0000000000000000_vs.txt index 7095485e..0685003d 100644 --- a/Source/BreathOfTheWild/44b73ce02e05c2e6_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/44b73ce02e05c2e6_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 44b73ce02e05c2e6 -// Self shadowing mask fix - v blur -const float resXScale = ; -const float resYScale = ; +// Used for: Vertical Self-Shadowing Mask Fix Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/4721609a424e9a1f_0000000000000000_vs.txt b/Source/BreathOfTheWild/4721609a424e9a1f_0000000000000000_vs.txt index 64cc6292..b714a67e 100644 --- a/Source/BreathOfTheWild/4721609a424e9a1f_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/4721609a424e9a1f_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 4721609a424e9a1f -// AARestore v2 - restores native aa in game -// original shader dumped using cemu 1.10.0f, BotW 1.3.1 -const float resXScale = ; -const float resYScale = ; +// Used for: Restoring the native BotW Anti-Aliasing implementation +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/5307d14d04250e61_000000000000000f_ps.txt b/Source/BreathOfTheWild/5307d14d04250e61_000000000000000f_ps.txt index b612c4fc..5f70c148 100644 --- a/Source/BreathOfTheWild/5307d14d04250e61_000000000000000f_ps.txt +++ b/Source/BreathOfTheWild/5307d14d04250e61_000000000000000f_ps.txt @@ -1,8 +1,8 @@ #version 420 #extension GL_ARB_texture_gather : enable // shader 5307d14d04250e61 -// Stars -// original shader dumped using cemu 1.10.0f, BotW 1.3.1 +// Used for: Make stars visible + uniform ivec4 uf_remappedPS[4]; layout(location = 0) in vec4 passParameterSem1; layout(location = 1) in vec4 passParameterSem2; diff --git a/Source/BreathOfTheWild/5c1761d13feccdff_0000000000000000_vs.txt b/Source/BreathOfTheWild/5c1761d13feccdff_0000000000000000_vs.txt index e16f6c6b..c4478e3a 100644 --- a/Source/BreathOfTheWild/5c1761d13feccdff_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/5c1761d13feccdff_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 5c1761d13feccdff -// Fixed radius blur -// fullscreen blur 1-pass h+v -const float resXScale = ; -const float resYScale = ; +// Used for: Vertical+Horizontal Fullscreen Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/5c975b0e3dac0562_0000000000000000_vs.txt b/Source/BreathOfTheWild/5c975b0e3dac0562_0000000000000000_vs.txt index 257abf40..0f3dbadb 100644 --- a/Source/BreathOfTheWild/5c975b0e3dac0562_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/5c975b0e3dac0562_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 5c975b0e3dac0562 -// Fixed radius blur -// bloom blur h -const float resXScale = ; -const float resYScale = ; +// Used for: Horizontal Bloom Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/75a85b0cbcab764b_0000000000000000_vs.txt b/Source/BreathOfTheWild/75a85b0cbcab764b_0000000000000000_vs.txt index d76cf955..35930351 100644 --- a/Source/BreathOfTheWild/75a85b0cbcab764b_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/75a85b0cbcab764b_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 75a85b0cbcab764b -// Fixed radius blur -// reflection blur h -const float resXScale = ; -const float resYScale = ; +// Used for: Horizontal Reflection Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/771e24915acbb074_0000000000000000_vs.txt b/Source/BreathOfTheWild/771e24915acbb074_0000000000000000_vs.txt index 69ad6045..ae841b51 100644 --- a/Source/BreathOfTheWild/771e24915acbb074_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/771e24915acbb074_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 771e24915acbb074 -// Fixed radius blur -// reflection blur v -const float resXScale = ; -const float resYScale = ; +// Used for: Vertical Reflection Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/7cd338ce4c6ea935_0000000000000079_ps.txt b/Source/BreathOfTheWild/7cd338ce4c6ea935_0000000000000079_ps.txt deleted file mode 100644 index 70dc1c89..00000000 --- a/Source/BreathOfTheWild/7cd338ce4c6ea935_0000000000000079_ps.txt +++ /dev/null @@ -1,75 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -// shader 7cd338ce4c6ea935 // cutscene ps -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xac200800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R1f = passParameterSem0; -R1f.x = (R1f.x - 0.5)*1.3125+0.5; - -if (R1f.x>0.0 && R1f.x<1.0) R0f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -// 0 -backupReg0f = R0f.x; -tempResultf = log2(backupReg0f); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0f = tempResultf; -// 1 -R127f.z = mul_nonIEEE(PS0f, intBitsToFloat(uf_remappedPS[0].x)); -tempResultf = log2(R0f.y); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1f = tempResultf; -// 2 -R127f.w = mul_nonIEEE(PS1f, intBitsToFloat(uf_remappedPS[0].x)); -tempResultf = log2(R0f.z); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0f = tempResultf; -// 3 -R127f.x = mul_nonIEEE(PS0f, intBitsToFloat(uf_remappedPS[0].x)); -PS1f = exp2(R127f.z); -// 4 -R0f.x = PS1f; -PS0f = exp2(R127f.w); -// 5 -R0f.y = PS0f; -PS1f = exp2(R127f.x); -// 6 -R0f.z = PS1f; -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Source/BreathOfTheWild/81eb264a750163d9_0000000000000000_vs.txt b/Source/BreathOfTheWild/81eb264a750163d9_0000000000000000_vs.txt index 8f4c085f..e22e30e8 100644 --- a/Source/BreathOfTheWild/81eb264a750163d9_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/81eb264a750163d9_0000000000000000_vs.txt @@ -1,18 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 81eb264a750163d9 -// Fixed radius blur +// Used for: Vertical Volumetric Light Blur // volumetric light blur v -const float resXScale = ; -const float resYScale = ; +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/8cab2ed476b991ea_0000000000000000_vs.txt b/Source/BreathOfTheWild/8cab2ed476b991ea_0000000000000000_vs.txt index 8c436eb4..101aeee1 100644 --- a/Source/BreathOfTheWild/8cab2ed476b991ea_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/8cab2ed476b991ea_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 8cab2ed476b991ea -// AARestore v2 -// original shader dumped using cemu 1.10.0f, BotW 1.3.1 -const float resXScale = ; -const float resYScale = ; +// Used for: Restoring the native BotW Anti-Aliasing implementation +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/93f16bf1d083933b_0000000000000000_vs.txt b/Source/BreathOfTheWild/93f16bf1d083933b_0000000000000000_vs.txt index 7570f81d..c305fa32 100644 --- a/Source/BreathOfTheWild/93f16bf1d083933b_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/93f16bf1d083933b_0000000000000000_vs.txt @@ -1,18 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 93f16bf1d083933b +// Used for: Horizontal Self-Shadowing Mask Fix Blur // Self shadowing mask fix - h blur -// original shader dumped using cemu 1.11.0, BotW 1.3.1 -const float resXScale = ; -const float resYScale = ; +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/a1cb9f79d093badb_0000f0f0ff34db6d_ps.txt b/Source/BreathOfTheWild/a1cb9f79d093badb_0000f0f0ff34db6d_ps.txt index d1471b72..8d7cb821 100644 --- a/Source/BreathOfTheWild/a1cb9f79d093badb_0000f0f0ff34db6d_ps.txt +++ b/Source/BreathOfTheWild/a1cb9f79d093badb_0000f0f0ff34db6d_ps.txt @@ -1,17 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader a1cb9f79d093badb -// AARestore v2 - water edge -// original shader dumped using cemu 1.10.0f, BotW 1.3.1 -const float resXScale = ; -const float resYScale = ; +// Used for: Restoring the native BotW Anti-Aliasing implementation from water edges +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedPS[20]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Source/BreathOfTheWild/a5b3a5e5ab2938bc_0000000000001e49_ps.txt b/Source/BreathOfTheWild/a5b3a5e5ab2938bc_0000000000001e49_ps.txt index 8d6eb2e9..c5935393 100644 --- a/Source/BreathOfTheWild/a5b3a5e5ab2938bc_0000000000001e49_ps.txt +++ b/Source/BreathOfTheWild/a5b3a5e5ab2938bc_0000000000001e49_ps.txt @@ -1,17 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader a5b3a5e5ab2938bc -// AARestore v2 -// original shader dumped using cemu 1.10.0f, BotW 1.3.1 -const float resXScale = ; -const float resYScale = ; +// Used for: Restoring the native BotW Anti-Aliasing implementation +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedPS[3]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf46ad000 res 640x360x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Source/BreathOfTheWild/b4a729584b6188ea_0000000000001e49_ps.txt b/Source/BreathOfTheWild/b4a729584b6188ea_0000000000001e49_ps.txt index 75f2b887..12cddb66 100644 --- a/Source/BreathOfTheWild/b4a729584b6188ea_0000000000001e49_ps.txt +++ b/Source/BreathOfTheWild/b4a729584b6188ea_0000000000001e49_ps.txt @@ -1,17 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader b4a729584b6188ea -// AA restore for distant trees -// shader dumped from BotW v1.4.0, using Cemu 1.11.1 -const float resXScale = ; -const float resYScale = ; +// Used for: Restoring the native BotW Anti-Aliasing implementation for distant trees +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedPS[3]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf46ad000 res 640x360x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Source/BreathOfTheWild/bb50d2ee4fa87bc2_0000000000000000_vs.txt b/Source/BreathOfTheWild/bb50d2ee4fa87bc2_0000000000000000_vs.txt index 06ecc61d..e463e3b4 100644 --- a/Source/BreathOfTheWild/bb50d2ee4fa87bc2_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/bb50d2ee4fa87bc2_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader bb50d2ee4fa87bc2 -// Fixed radius blur -// in multi target scene - not sure 2 - h+v -const float resXScale = ; -const float resYScale = ; +// Used for: Horizontal+Vertical Combat Targeting Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/c92c1c4c0a2fb839_0000000000001e49_ps.txt b/Source/BreathOfTheWild/c92c1c4c0a2fb839_0000000000001e49_ps.txt index ae9ac361..478a54e0 100644 --- a/Source/BreathOfTheWild/c92c1c4c0a2fb839_0000000000001e49_ps.txt +++ b/Source/BreathOfTheWild/c92c1c4c0a2fb839_0000000000001e49_ps.txt @@ -1,17 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader c92c1c4c0a2fb839 -// Fixed radius blur -// in camera dof, samples from 2 mips -const float resXScale = ; -const float resYScale = ; +// Used for: Camera Depth of Field Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedPS[5]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e91800 res 1280x720x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Source/BreathOfTheWild/c9f2fd37115b0ee1_0000000000000000_vs.txt b/Source/BreathOfTheWild/c9f2fd37115b0ee1_0000000000000000_vs.txt index 9af4065e..c406b752 100644 --- a/Source/BreathOfTheWild/c9f2fd37115b0ee1_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/c9f2fd37115b0ee1_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader c9f2fd37115b0ee1 -// Fixed radius blur -// in multi target scene - not sure - h+v -const float resXScale = ; -const float resYScale = ; +// Used for: Horizontal+Vertical Combat Targeting Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/cb0e6e8cbec4502a_0000000000000079_ps.txt b/Source/BreathOfTheWild/cb0e6e8cbec4502a_0000000000000079_ps.txt index d8f39fcc..b8de56d6 100644 --- a/Source/BreathOfTheWild/cb0e6e8cbec4502a_0000000000000079_ps.txt +++ b/Source/BreathOfTheWild/cb0e6e8cbec4502a_0000000000000079_ps.txt @@ -1,19 +1,15 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_arrays_of_arrays : enable // shader cb0e6e8cbec4502a -// DoF blur effect - Battle, Camera, Scope +// Used for: Horizontal+Vertical Battle, Camera and Scope Depth of Field Blur + layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5c7b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 layout(location = 0) in vec4 passParameterSem3; layout(location = 0) out vec4 passPixelColor0; uniform vec2 uf_fragCoordScale; -const float resScale = ; +const float resScale = $height/720; const int radius = int(2*resScale); void main() { diff --git a/Source/BreathOfTheWild/d1cf6920c3d5b194_0000000000000000_vs.txt b/Source/BreathOfTheWild/d1cf6920c3d5b194_0000000000000000_vs.txt index 07d13f7e..bfc4670a 100644 --- a/Source/BreathOfTheWild/d1cf6920c3d5b194_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/d1cf6920c3d5b194_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader d1cf6920c3d5b194 -// AA restore for distant trees -// shader dumped from BotW v1.4.0, using Cemu 1.11.1 -const float resXScale = ; -const float resYScale = ; +// Used for: Restoring the native BotW Anti-Aliasing implementation for distant trees +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/e06e20b2efe87a84_0000000000000000_vs.txt b/Source/BreathOfTheWild/e06e20b2efe87a84_0000000000000000_vs.txt index 5ec77962..6038648b 100644 --- a/Source/BreathOfTheWild/e06e20b2efe87a84_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/e06e20b2efe87a84_0000000000000000_vs.txt @@ -1,17 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader e06e20b2efe87a84 -// AO blur horizontal -const float resXScale = ; -const float resYScale = ; +// Used for: Horizontal Ambient-Occlusion Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; + uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; layout(location = 0) in uvec4 attrDataSem0; diff --git a/Source/BreathOfTheWild/ea9a49a6185cf1e5_0000000000000000_vs.txt b/Source/BreathOfTheWild/ea9a49a6185cf1e5_0000000000000000_vs.txt index 75abc69e..861ac9f8 100644 --- a/Source/BreathOfTheWild/ea9a49a6185cf1e5_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/ea9a49a6185cf1e5_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader ea9a49a6185cf1e5 -// Reflections - corrects the incorrectly scaled reflection -// original shader dumped using cemu 1.10.0f, BotW 1.3.1 -const float resXScale = ; -const float resYScale = ; +// Used for: Fix Reflection +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[2]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/f14bb57cd5c9cb77_00000000000003c9_ps.txt b/Source/BreathOfTheWild/f14bb57cd5c9cb77_00000000000003c9_ps.txt index 57d77076..c80d7113 100644 --- a/Source/BreathOfTheWild/f14bb57cd5c9cb77_00000000000003c9_ps.txt +++ b/Source/BreathOfTheWild/f14bb57cd5c9cb77_00000000000003c9_ps.txt @@ -1,17 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader f14bb57cd5c9cb77 -// AARestore - restores native aa in game -// original shader dumped using cemu 1.10.0f, BotW 1.3.1 -const float resXScale = ; -const float resYScale = ; +// Used for: Restoring the native BotW Anti-Aliasing implementation +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedPS[4]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4713800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Source/BreathOfTheWild/f69e84515ae56e70_0000000000000000_vs.txt b/Source/BreathOfTheWild/f69e84515ae56e70_0000000000000000_vs.txt index 9b23500b..90b27ace 100644 --- a/Source/BreathOfTheWild/f69e84515ae56e70_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/f69e84515ae56e70_0000000000000000_vs.txt @@ -1,18 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader f69e84515ae56e70 -// Fixed radius blur +// Used for: Vertical Bloom Blur // bloom blur v -const float resXScale = ; -const float resYScale = ; +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/BreathOfTheWild/fc3e63a2007625f8_0000000000000000_vs.txt b/Source/BreathOfTheWild/fc3e63a2007625f8_0000000000000000_vs.txt index b55ca267..b63b2cdc 100644 --- a/Source/BreathOfTheWild/fc3e63a2007625f8_0000000000000000_vs.txt +++ b/Source/BreathOfTheWild/fc3e63a2007625f8_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader fc3e63a2007625f8 -// Fixed radius blur -// main menu v -const float resXScale = ; -const float resYScale = ; +// Used For: Vertical Menu Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; @@ -63,7 +55,7 @@ R126f.z = (0.0 > R1f.x)?1.0:0.0; R126f.z /= 2.0; R127f.w = 1.0; PV0f.w = R127f.w; -R126f.x = intBitsToFloat(uf_remappedVS[0].w) / resYScale * intBitsToFloat(0x3fae8a72); +R126f.x = intBitsToFloat(uf_remappedVS[0].w) * (intBitsToFloat(0x3fae8a72)/resYScale); PS0f = R126f.x; // 1 R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); @@ -112,4 +104,4 @@ R1f.w = PV1f.y; gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -} +} \ No newline at end of file diff --git a/Source/BreathOfTheWild/patches.txt b/Source/BreathOfTheWild/patches.txt index 357c7eee..082900ea 100644 --- a/Source/BreathOfTheWild/patches.txt +++ b/Source/BreathOfTheWild/patches.txt @@ -1,20 +1,9 @@ - [BotwAspectsV33] moduleMatches = 0xD91A406D # rodata constants -0x10197FC0 = .float -0x102CCFC0 = .float -0x10331374 = .float +0x10197FC0 = .float $width/$height +0x102CCFC0 = .float $width/$height +0x10331374 = .float $width/$height _aspectAddr = 0x10197FC0 # menu link aspect (calculated every load) @@ -28,9 +17,9 @@ _aspectAddr = 0x10197FC0 [BotwAspectsV48] moduleMatches = 0x0F748D9C # rodata constants -0x10197FC0 = .float -0x102CCFC8 = .float -0x103313A4 = .float +0x10197FC0 = .float $width/$height +0x102CCFC8 = .float $width/$height +0x103313A4 = .float $width/$height _aspectAddr = 0x10197FC0 # menu link aspect (calculated every load) @@ -44,9 +33,9 @@ _aspectAddr = 0x10197FC0 [BotwAspectsV64] moduleMatches = 0x9A61FF4C # rodata constants -0x10198250 = .float -0x102CD450 = .float -0x1033182C = .float +0x10198250 = .float $width/$height +0x102CD450 = .float $width/$height +0x1033182C = .float $width/$height _aspectAddr = 0x10198250 # menu link aspect (calculated every load) @@ -60,9 +49,9 @@ _aspectAddr = 0x10198250 [BotwAspectsV80] moduleMatches = 0x8E3324A9 # rodata constants -0x1019A5A8 = .float -0x102D4E30 = .float -0x103391B4 = .float +0x1019A5A8 = .float $width/$height +0x102D4E30 = .float $width/$height +0x103391B4 = .float $width/$height _aspectAddr = 0x1019A5A8 # menu link aspect (calculated every load) @@ -76,9 +65,9 @@ _aspectAddr = 0x1019A5A8 [BotwAspectsV97] moduleMatches = 0xD71D859D # rodata constants -0x1019F980 = .float -0x102DF8A0 = .float -0x1034122C = .float +0x1019F980 = .float $width/$height +0x102DF8A0 = .float $width/$height +0x1034122C = .float $width/$height _aspectAddr = 0x1019F980 # menu link aspect (calculated every load) @@ -92,9 +81,9 @@ _aspectAddr = 0x1019F980 [BotwAspectsV112] moduleMatches = 0x6FD41A61 # rodata constants -0x1019F9A8 = .float -0x102DFB38 = .float -0x103414D4 = .float +0x1019F9A8 = .float $width/$height +0x102DFB38 = .float $width/$height +0x103414D4 = .float $width/$height _aspectAddr = 0x1019F9A8 # menu link aspect (calculated every load) @@ -108,9 +97,9 @@ _aspectAddr = 0x1019F9A8 [BotwAspectsV144] moduleMatches = 0x9A2CA0C7 # rodata constants -0x101A8A70 = .float -0x102ECFD0 = .float -0x1034F6CC = .float +0x101A8A70 = .float $width/$height +0x102ECFD0 = .float $width/$height +0x1034F6CC = .float $width/$height _aspectAddr = 0x101A8A70 # menu link aspect (calculated every load) @@ -124,9 +113,9 @@ _aspectAddr = 0x101A8A70 [BotwAspectsV160] moduleMatches = 0x29DBB52A # rodata constants -0x101A8A70 = .float -0x102ECF88 = .float -0x1034F684 = .float +0x101A8A70 = .float $width/$height +0x102ECF88 = .float $width/$height +0x1034F684 = .float $width/$height _aspectAddr = 0x101A8A70 # menu link aspect (calculated every load) @@ -140,9 +129,9 @@ _aspectAddr = 0x101A8A70 [BotwAspectsV176V192] moduleMatches = 0xFD091F9F,0xD472D8A5 # rodata constants -0x101BF878 = .float -0x1030A3F4 = .float -0x1036DBDC = .float +0x101BF878 = .float $width/$height +0x1030A3F4 = .float $width/$height +0x1036DBDC = .float $width/$height _aspectAddr = 0x101BF878 # menu link aspect (calculated every load) @@ -156,9 +145,9 @@ _aspectAddr = 0x101BF878 [BotwAspectsV208] moduleMatches = 0x6267BFD0 # rodata constants -0x101BF8E8 = .float -0x1030A57C = .float -0x1036DD4C = .float +0x101BF8E8 = .float $width/$height +0x1030A57C = .float $width/$height +0x1036DD4C = .float $width/$height _aspectAddr = 0x101BF8E8 # menu link aspect (calculated every load) diff --git a/Source/BreathOfTheWild/rules.txt b/Source/BreathOfTheWild/rules.txt index a0cec236..2291e779 100644 --- a/Source/BreathOfTheWild/rules.txt +++ b/Source/BreathOfTheWild/rules.txt @@ -1,262 +1,593 @@ - [Definition] titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - " -version = 2 +name = Resolution +path = "The Legend of Zelda: Breath of the Wild/Graphics/Resolution" +description = Changes the games resolution. You cannot change resolutions on the fly. +version = 3 -[TextureRedefine] #TV +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// For [4:3] resolutions that are multiples of 320x180 +// Performance + +[Preset] +name = 320x180 +$width = 320 +$height = 180 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + + +// For [21:9] resolutions that are multiples of 420x180 +// Performance + +[Preset] +name = (21:9) 1260x540 +$width = 1260 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 1680x720 +$width = 1680 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 2100x900 +$width = 2100 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = (21:9) 2520x1080 +$width = 2520 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 3360x1440 +$width = 3360 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 5040x2160 +$width = 5040 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 6720x2880 +$width = 6720 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiats + +[Preset] +name = (21:9) 10080x4320 +$width = 10080 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 13440x5760 +$width = 13440 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + + +# All 720p textures: +# - 0x001=World Lighting Red8 +# - 0x005=Link and Objects Depth +# - 0x007=World Lighting Red-Green Texture +# - 0x019=Menu Interface/GUI +# - 0x01a=Normals +# - 0x41a=Geometry rendering +# - 0x806=World Fog +# - 0x80e=Depth stencil buffer +# - 0x816=Weapon and Objects Bloom +# - 0x820=Fog/Wind + +# Depth/Geometry/Shading Rendering +[TextureRedefine] width = 1280 height = 720 -formats = 0x19,0x1a -overwriteFormat = 0x1f -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +formats = 0x001,0x005,0x007,0x019,0x01a,0x41a,0x80e,0x806,0x816,0x820 +formatsExcluded = 0x008 # Game Load Opening Background Image +tileModesExcluded = 0x001 # For Video Playback +overwriteWidth = ($width/$gameWidth)* 1280 +overwriteHeight = ($height/$gameHeight)* 720 -[TextureRedefine] #TV -width = 1280 -height = 720 -formatsExcluded = 0x008,0x19,0x1a,0x431 # exclude the intro background texture, champions' photo -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #TV2 -width = 1280 -height = 721 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #TV3 -width = 1280 -height = 608 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #TV4 #Scale to TV, not performance target -width = 1152 -height = 648 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #half-res1 -width = 640 -height = 360 -formatsExcluded = 0x431 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #half-res2 -width = 640 -height = 290 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #half-res3 -width = 640 -height = 288 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #half-res4 -width = 640 -height = 361 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #q-res1, main bloom, AO -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #q-res2 -#width = 320 -#height = 145 -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #q-res3 -#width = 320 -#height = 144 -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] #o-res1 -width = 160 -height = 90 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # O -width = 80 -height = 45 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # M -width = 80 -height = 44 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # G -width = 40 -height = 22 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #fog -width = 720 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #dyeing inventory -width = 1280 -height = 400 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #blur behind stable and shop menu -width = 960 -height = 540 -tileModesExcluded = 0x001 #for 1080p video -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #dialog box -width = 612 -height = 128 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #campfire ui box -width = 564 -height = 128 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #selection boxes -width = 247 -height = 52 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #new item box -width = 566 -height = 216 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #some blur related shit -width = 480 -height = 270 -formatsExcluded = 0x431 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #divine beast 3d minimap -width = 512 -height = 288 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #minimap -width = 192 -height = 192 +# Gamepad - background +[TextureRedefine] +width = 864 +height = 480 formats = 0x019 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #map -width = 1500 -height = 720 -overwriteWidth = -overwriteHeight = +formatsExcluded = 0x034 # Exclude 0x034 which is used for large album thumbnails +overwriteWidth = ($width/$gameWidth)* 864 +overwriteHeight = ($height/$gameHeight)* 480 -[TextureRedefine] #hero mode path -width = 1920 -height = 912 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #open inventory and use weapon boxes -width = 495 -height = 355 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #choose weapon box -width = 555 -height = 355 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #choose bow box -width = 675 -height = 355 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #action blur -width = 416 -height = 233 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #inventory background blur -width = 320 -height = 180 -formats = 0x19 -overwriteFormat = 0x823 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #title menu background bloom -width = 320 -height = 180 -formats = 0x1a -overwriteFormat = 0x823 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #horse customization screen -width = 480 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #lines on map -width = 13 -height = 305 -#overwriteFormat = 0x234 - -[TextureRedefine] #shadows -width = 360 -height = 360 -formats = 0x005 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #shadows -width = 720 -height = 720 -formats = 0x005 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #gamepad. optional +# Gamepad - game render size +[TextureRedefine] width = 854 height = 480 -#overwriteWidth = -#overwriteHeight = +formats = 0x019 +formatsExcluded = 0x034 # Exclude 0x034 which is used for large album thumbnails +overwriteWidth = ($width/$gameWidth)* 854 +overwriteHeight = ($height/$gameHeight)* 480 + + +# All 1/2, 1/4 textures: +# - 0x001=World Lighting - Red +# - 0x005=Depth for Link and Objects +# - 0x019=GUI +# - 0x01a=Blurs and Normals +# - 0x80e=World and Objects Depth 32bit +# - 0x806=World Fog +# - 0x816=World & Weapon Bloom +# - 0x820=Fog/Wind? + +# Required 1/2 resolutions +[TextureRedefine] +width = 640 +height = 368 +formats = 0x001,0x005,0x019,0x01a,0x80e,0x806,0x816,0x820 +formatsExcluded = 0x431 # Exclude 0x431 which is used for adventure log images +overwriteWidth = ($width/$gameWidth)* 640 +overwriteHeight = ($height/$gameHeight)* 368 + +# Required 1/2 resolutions +[TextureRedefine] +width = 640 +height = 360 +formats = 0x001,0x005,0x019,0x01a,0x80e,0x806,0x816,0x820 +formatsExcluded = 0x431 +tileModesExcluded = 0x001 # For Video Playback +overwriteWidth = ($width/$gameWidth)* 640 +overwriteHeight = ($height/$gameHeight)* 360 + +# Required 1/3 resolutions +[TextureRedefine] +width = 384 +height = 192 +formats = 0x001 # World lighting - Red +overwriteWidth = ($width/$gameWidth)* 384 +overwriteHeight = ($height/$gameHeight)* 192 + +# Required 1/4 resolutions +[TextureRedefine] +width = 320 +height = 192 +formats = 0x001,0x005,0x019,0x01a,0x80e,0x816,0x806 +overwriteWidth = ($width/$gameWidth)* 320 +overwriteHeight = ($height/$gameHeight)* 192 + +# Required 1/4 resolutions +[TextureRedefine] +width = 320 +height = 180 +formats = 0x001,0x005,0x019,0x01a,0x80e,0x816,0x806 +overwriteWidth = ($width/$gameWidth)* 320 +overwriteHeight = ($height/$gameHeight)* 180 + +# Required 1/6 resolution +[TextureRedefine] +width = 192 +height = 96 +formats = 0x007,0x806 # Used for Fog +overwriteWidth = ($width/$gameWidth) * 192 +overwriteHeight = ($height/$gameHeight) * 96 + +# Required 1/8 resolution +[TextureRedefine] +width = 160 +height = 96 +formats = 0x007,0x806,0x80e,0x816 # Used for Fog/Depth/Bloom +overwriteWidth = ($width/$gameWidth)* 160 +overwriteHeight = ($height/$gameHeight)* 96 + +# Required 1/8 resolution +[TextureRedefine] +width = 160 +height = 90 +formats = 0x007,0x806,0x80e,0x816 +overwriteWidth = ($width/$gameWidth)* 160 +overwriteHeight = ($height/$gameHeight)* 90 + +# Required 1/13 resolution +[TextureRedefine] +width = 96 +height = 48 +formats = 0x816,0x80e # Used for bloom/depth +overwriteWidth = ($width/$gameWidth)* 96 +overwriteHeight = ($height/$gameHeight)* 48 + +# Required 1/16 resolution +[TextureRedefine] +width = 80 +height = 45 +formats = 0x816,0x806 # Used for bloom/fog +overwriteWidth = ($width/$gameWidth)* 80 +overwriteHeight = ($height/$gameHeight)* 45 + +# 0x01a - Blurs + +# Start Menu Screen "Complete" blur +[TextureRedefine] +width = 160 +height = 64 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 64 + +# Start Menu Screen "Complete" blur +[TextureRedefine] +width = 160 +height = 50 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 50 + +# Select Screen - Time and Temp Blur +[TextureRedefine] +width = 128 +height = 64 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 64 + +# Select Screen - Time and Temp Blur +[TextureRedefine] +width = 128 +height = 50 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 50 + +# Select Screen - Time and Temp Blur +[TextureRedefine] +width = 64 +height = 32 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 32 + +# Select Screen - Time and Temp Blur +[TextureRedefine] +width = 64 +height = 25 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 25 + +# Select Screen - Shrine Locator Blur +[TextureRedefine] +width = 288 +height = 64 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 288 +overwriteHeight = ($height/$gameHeight) * 64 + +# Select Screen - Shrine Locator Blur +[TextureRedefine] +width = 266 +height = 50 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 266 +overwriteHeight = ($height/$gameHeight) * 50 + +# Select Screen - Shrine Locator Blur +[TextureRedefine] +width = 160 +height = 32 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 32 + +# Select Screen - Shrine Locator Blur +[TextureRedefine] +width = 133 +height = 25 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 133 +overwriteHeight = ($height/$gameHeight) * 25 + +# Main menu BOTW logo blur +[TextureRedefine] +width = 120 +height = 80 +formats = 0x01a +overwriteWidth = ($width/$gameWidth)* 120 +overwriteHeight = ($height/$gameHeight)* 80 + +# Main menu BOTW logo blur +[TextureRedefine] +width = 120 +height = 75 +formats = 0x01a +overwriteWidth = ($width/$gameWidth)* 120 +overwriteHeight = ($height/$gameHeight)* 75 + +# 0x806 - Fogs and Dust +# Required +[TextureRedefine] +width = 128 +height = 48 +formats = 0x806 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 48 + + +# 0x816 - Blooms & Effects + +# Heat wave effect +[TextureRedefine] +width = 1024 +height = 512 +depth = 1 +formats = 0x816 +overwriteWidth = ($width/$gameWidth)* 1024 +overwriteHeight = ($height/$gameHeight)* 512 + +# Sheikah slate scope +[TextureRedefine] +width = 512 +height = 256 +depth = 1 +formats = 0x816 +overwriteWidth = ($width/$gameWidth)* 512 +overwriteHeight = ($height/$gameHeight)* 256 + +# World bloom + +[TextureRedefine] +width = 256 +height = 128 +depth = 1 +formats = 0x816 +overwriteWidth = ($width/$gameWidth)* 256 +overwriteHeight = ($height/$gameHeight)* 128 + +[TextureRedefine] +width = 128 +height = 64 +depth = 1 +formats = 0x816 +overwriteWidth = ($width/$gameWidth)* 128 +overwriteHeight = ($height/$gameHeight)* 64 + +[TextureRedefine] +width = 64 +height = 32 +depth = 1 +formats = 0x816 +overwriteWidth = ($width/$gameWidth)* 64 +overwriteHeight = ($height/$gameHeight)* 32 + +[TextureRedefine] +width = 32 +height = 16 +depth = 1 +formats = 0x816 +overwriteWidth = ($width/$gameWidth)* 32 +overwriteHeight = ($height/$gameHeight)* 16 + +[TextureRedefine] +width = 40 +height = 22 +depth = 1 +formats = 0x816 +overwriteWidth = ($width/$gameWidth)* 40 +overwriteHeight = ($height/$gameHeight)* 22 + +[TextureRedefine] +width = 24 +height = 16 +depth = 1 +formats = 0x816 +overwriteWidth = ($width/$gameWidth)* 24 +overwriteHeight = ($height/$gameHeight)* 16 + +[TextureRedefine] +width = 20 +height = 11 +depth = 1 +formats = 0x816 +overwriteWidth = ($width/$gameWidth)* 20 +overwriteHeight = ($height/$gameHeight)* 11 + +# Great Fairy / Stable / Stores Viewports + +# Required, Great Fairy Full Resolution Viewports +[TextureRedefine] +width = 960 +height = 540 +formats = 0x816,0x005,0x007,0x019,0x01a,0x41a,0x80e,0x806 +tileModesExcluded = 0x001 # For Video Playback +overwriteWidth = ($width/$gameWidth) * 960 +overwriteHeight = ($height/$gameHeight) * 540 + +# Required, Great Fairy Full Resolution Viewports +[TextureRedefine] +width = 960 +height = 544 +formats = 0x816,0x005,0x007,0x019,0x01a,0x41a,0x80e,0x806 +overwriteWidth = ($width/$gameWidth) * 960 +overwriteHeight = ($height/$gameHeight) * 544 + +# Required Great Fairy Red Viewport and Depth port of the same size +[TextureRedefine] +width = 512 +height = 272 +depth = 1 +formats = 0x001,0x005 # Red Viewport / Depth +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 272 + +# Required, Great Fairy Half Resolution Viewports +[TextureRedefine] +width = 480 +height = 272 +formats = 0x816,0x01a,0x820,0x001,0x80e,0x820 +overwriteWidth = ($width/$gameWidth) * 480 +overwriteHeight = ($height/$gameHeight) * 272 + +# Required, Great Fairy Half Resolution Viewports +[TextureRedefine] +width = 480 +height = 270 +formats = 0x816,0x01a,0x820,0x001,0x80e,0x820 +overwriteWidth = ($width/$gameWidth) * 480 +overwriteHeight = ($height/$gameHeight) * 270 + +# Required - Great Fairy background heatwave effect +[TextureRedefine] +width = 512 +height = 512 +depth = 1 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 512 + +# Depth +[TextureRedefine] # Top-view to bottom Depth +width = 2048 +height = 2048 +formats = 0x005 +overwriteWidth = ($width/$gameWidth) * 2048 +overwriteHeight = ($height/$gameHeight) * 2048 + +# Disabled since they break stuff + +# Minimap +#[TextureRedefine] +#width = 560 +#height = 560 +#formats = 0x431 +#overwriteWidth = 560 +#overwriteHeight = 560 + +# Album images +#[TextureRedefine] +#width = 854 +#height = 480 +#formats = 0x034 +#overwriteWidth = ($width/$gameWidth) * 854 +#overwriteHeight = ($height/$gameHeight) * 480 + +# Start Menu Controller Mapping Screen Controller Image - Top +#[TextureRedefine] +#width = 480 +#height = 250 +#formats = 0x007 +#overwriteWidth = ($width/$gameWidth) * 480 +#overwriteHeight = ($height/$gameHeight) * 250 + +# Start Menu Controller Mapping Screen Controller Image - Bottom +#[TextureRedefine] +#width = 480 +#height = 125 +#formats = 0x007 +#overwriteWidth = ($width/$gameWidth) * 480 +#overwriteHeight = ($height/$gameHeight) * 125 + +# Save images +#[TextureRedefine] +#width = 256 +#height = 144 +#formats = 0x01a,0x41a +#overwriteWidth = ($width/$gameWidth) * 256 +#overwriteHeight = ($height/$gameHeight) * 144 + +# Scope interface; already scaled +#[TextureRedefine] +#width = 1280 +#height = 608 +#formats = 0x019 +#overwriteWidth = ($width/$gameWidth) * 1280 +#overwriteHeight = ($height/$gameHeight) * 608 diff --git a/Source/BreathOfTheWild_StaticFPS/readme.txt b/Source/BreathOfTheWild_StaticFPS/readme.txt deleted file mode 100644 index 6634d1a7..00000000 --- a/Source/BreathOfTheWild_StaticFPS/readme.txt +++ /dev/null @@ -1,19 +0,0 @@ -This is based on an extreme simplification of the fps++ mod by Xalphenos; it -drops dynamic FPS to prevent graphics judder. The Rajkosto "best fence" method -is also included for performance and stability. Judder was easily noticeable -when Link paraglides; the caveat is that the user must pick a target FPS that -they can maintain. - -It improves over previous static mods in that it allows ANY value as a -static fps target and it includes the stamina fix. Now it also features a fix -for the physics of arrow projectiles. - -To use it simply grab one of the provided versions or edit one with these -changes: a) rules.txt frequency and name b) divide 30 by the target FPS c) use -the result of that calculation and the target fps in patches.txt. - -This readme was derived from a static FPS mod. Additional FPS targets -and discussion are at https://forum.cemu.info/showthread.php/421. If you do -know how to use build.sh at Slashie's repo, it supports arbitrary targets. - - epigramx diff --git a/Source/BreathOfTheWild_StaticFPS/rules.txt b/Source/BreathOfTheWild_StaticFPS/rules.txt deleted file mode 100644 index e36a17a8..00000000 --- a/Source/BreathOfTheWild_StaticFPS/rules.txt +++ /dev/null @@ -1,7 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - static FPS mod" -version = 2 - -[Control] -vsyncFrequency = diff --git a/Source/Brunswick/rules.txt b/Source/Brunswick/rules.txt deleted file mode 100644 index 6d951550..00000000 --- a/Source/Brunswick/rules.txt +++ /dev/null @@ -1,24 +0,0 @@ - -[Definition] -titleIds = 00050000101D4200 -name = "Brunswick Pro Bowling - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/CaptainToad/37a4ec1a7dbc7391_00000000000003c9_ps.txt b/Source/CaptainToad/37a4ec1a7dbc7391_00000000000003c9_ps.txt index 463355e1..af78a53a 100644 --- a/Source/CaptainToad/37a4ec1a7dbc7391_00000000000003c9_ps.txt +++ b/Source/CaptainToad/37a4ec1a7dbc7391_00000000000003c9_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 37a4ec1a7dbc7391 //AA fix -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[4]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5800800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x159db800 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Source/CaptainToad/5c1761d13feccdff_0000000000000000_vs.txt b/Source/CaptainToad/5c1761d13feccdff_0000000000000000_vs.txt index 65bdedf4..a74fbc43 100644 --- a/Source/CaptainToad/5c1761d13feccdff_0000000000000000_vs.txt +++ b/Source/CaptainToad/5c1761d13feccdff_0000000000000000_vs.txt @@ -1,19 +1,11 @@ - - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable // shader 5c1761d13feccdff //Bloom fix heat haze -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/CaptainToad/6f5412f28bd716e8_0000000000000000_vs.txt b/Source/CaptainToad/6f5412f28bd716e8_0000000000000000_vs.txt index 4433fb79..30ab0fa2 100644 --- a/Source/CaptainToad/6f5412f28bd716e8_0000000000000000_vs.txt +++ b/Source/CaptainToad/6f5412f28bd716e8_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 6f5412f28bd716e8 // Used for: Horizontal blur -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/CaptainToad/83f42767ee584d5a_000000000007fffd_ps.txt b/Source/CaptainToad/83f42767ee584d5a_000000000007fffd_ps.txt index ddd44acc..2e1f446d 100644 --- a/Source/CaptainToad/83f42767ee584d5a_000000000007fffd_ps.txt +++ b/Source/CaptainToad/83f42767ee584d5a_000000000007fffd_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader 83f42767ee584d5a // Used for: Third glitter bloom pass -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[5]; layout(binding = 1) uniform sampler2DArray textureUnitPS1;// Tex1 addr 0xf4fb1000 res 320x180x6 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Source/CaptainToad/a0bda935c83e6f2a_0000000000000000_vs.txt b/Source/CaptainToad/a0bda935c83e6f2a_0000000000000000_vs.txt index 67aaa8ca..183147b6 100644 --- a/Source/CaptainToad/a0bda935c83e6f2a_0000000000000000_vs.txt +++ b/Source/CaptainToad/a0bda935c83e6f2a_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader a0bda935c83e6f2a // Used for: Vertical blur -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/CaptainToad/cc5b29e8cb801fb8_000000000007fff9_ps.txt b/Source/CaptainToad/cc5b29e8cb801fb8_000000000007fff9_ps.txt index 3f036e7e..6cdaed49 100644 --- a/Source/CaptainToad/cc5b29e8cb801fb8_000000000007fff9_ps.txt +++ b/Source/CaptainToad/cc5b29e8cb801fb8_000000000007fff9_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader cc5b29e8cb801fb8 // Used for: First glitter bloom pass -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[5]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e0c000 res 320x180x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Source/CaptainToad/d6228044a83341ca_000000000007fffd_ps.txt b/Source/CaptainToad/d6228044a83341ca_000000000007fffd_ps.txt index 9adb1876..6c0bcf41 100644 --- a/Source/CaptainToad/d6228044a83341ca_000000000007fffd_ps.txt +++ b/Source/CaptainToad/d6228044a83341ca_000000000007fffd_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader d6228044a83341ca // Used for: Second glitter bloom pass -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[8]; layout(binding = 1) uniform sampler2DArray textureUnitPS1;// Tex1 addr 0xf4e48800 res 320x180x6 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Source/CaptainToad/patches.txt b/Source/CaptainToad/patches.txt index d13533d6..9f2f7312 100644 --- a/Source/CaptainToad/patches.txt +++ b/Source/CaptainToad/patches.txt @@ -1,20 +1,9 @@ - [KinopioAspectUW] moduleMatches = 0x43781F76, 0xC64B0A12, 0xD80AD9B4 #rodata constants -0x100A0EE0 = .float -0x100BE2EC = .float -0x100D79B4 = .float +0x100A0EE0 = .float $width/$height +0x100BE2EC = .float $width/$height +0x100D79B4 = .float $width/$height _aspectAddr = 0x100A0EE0 #Aspect Calculation @@ -24,9 +13,9 @@ _aspectAddr = 0x100A0EE0 [KinopioAspectUWv16] moduleMatches = 0x9E0461E7, 0x1B377483, 0x0576A725 #rodata constants -0x0100A2D38 = .float -0x0100C0164 = .float -0x0100D982C = .float +0x0100A2D38 = .float $width/$height +0x0100C0164 = .float $width/$height +0x0100D982C = .float $width/$height _aspectAddr = 0x0100A2D38 #Aspect Calculation diff --git a/Source/CaptainToad/rules.txt b/Source/CaptainToad/rules.txt index 70e5ea98..d4a62cb8 100644 --- a/Source/CaptainToad/rules.txt +++ b/Source/CaptainToad/rules.txt @@ -1,115 +1,637 @@ - [Definition] titleIds = 0005000010180600,0005000010180700,0005000010180500 -name = "Captain Toad: Treasure Tracker - " -version = 2 +name = Resolution +path = "Captain Toad: Treasure Tracker/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 -[TextureRedefine] # tv +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +// 21:9 + +[Preset] +name = (21:9) 1280x540 +$width = 1280 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 2100x900 +$width = 2560 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 2560x1080 +$width = 2560 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 3440x1440 +$width = 3440 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 4200x1800 +$width = 4200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 5120x2160 +$width = 5120 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 10240x5320 +$width = 10240 +$height = 5320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 13760x5760 +$width = 13760 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +// 48:9 + +[Preset] +name = (48:9) 1920x360 +$width = 1920 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 3840x720 +$width = 3840 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 4800x900 +$width = 4800 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 11520x2160 +$width = 11520 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 15360x2880 +$width = 15360 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 23040x4320 +$width = 23040 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 30720x5760 +$width = 30720 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] width = 1280 height = 720 -formatsExcluded = 0x008,0x41A,0x034,0x035 # exclude obvious textures -overwriteWidth = -overwriteHeight = +formatsExcluded = 0x008,0x41A,0x034,0x035 0x008 +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 -[TextureRedefine] # zoomed in +[TextureRedefine] #heat haze +width = 1152 +height = 720 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 1152 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] #heat haze width = 1128 height = 720 -overwriteWidth = -overwriteHeight = +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 1128 +overwriteHeight = ($height/$gameHeight) * 720 -[TextureRedefine] # zoom transition -width = 1000 -height = 600 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # zoom transition 2 -width = 1000 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res alpha -width = 640 -height = 360 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res (zoomed in) -width = 564 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res (zoom transition) -width = 500 -height = 300 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res (zoom transition 2) -width = 500 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # quarter-res alpha -width = 320 -height = 180 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res (zoomed in) -width = 282 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res (zoom transition) -width = 250 -height = 150 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res (zoom transition 2) -width = 250 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res (gamepad) -width = 427 -height = 240 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res (gamepad) -width = 214 -height = 120 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # shadows +[TextureRedefine] #shadow width = 1024 height = 1024 formats = 0x005 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width/$gameWidth) * 1024 +overwriteHeight = ($height/$gameHeight) * 1024 + +[TextureRedefine] #Zoom +width = 1024 +height = 608 +#formats = 0x80e,0x810 +overwriteWidth = ($width/$gameWidth) * 1024 +overwriteHeight = ($height/$gameHeight) * 608 + +[TextureRedefine] #Heat haze +width = 1024 +height = 512 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 1024 +overwriteHeight = ($height/$gameHeight) * 512 + +[TextureRedefine] #Zoom +width = 1000 +height = 600 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 1000 +overwriteHeight = ($height/$gameHeight) * 600 + +[TextureRedefine] #sparkly mine +width = 896 +height = 480 +overwriteWidth = ($width/$gameWidth) * 896 +overwriteHeight = ($height/$gameHeight) * 480 + +[TextureRedefine] +width = 864 +height = 480 +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 + +[TextureRedefine] +width = 854 +height = 480 +overwriteWidth = ($width/$gameWidth) * 854 +overwriteHeight = ($height/$gameHeight) * 480 +##672x405 +[TextureRedefine] #Depth 8 +width = 640 +height = 368 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 + +[TextureRedefine] #Depth +width = 640 +height = 360 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 + +[TextureRedefine] #heat haze zoomed +width = 576 +height = 368 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 576 +overwriteHeight = ($height/$gameHeight) * 368 + +[TextureRedefine] #816 fire transition, ? +width = 512 +height = 512 +formats = 0x816 # #0x431,0x235,0x034 +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 512 + +[TextureRedefine] +width = 512 +height = 304 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 304 + +[TextureRedefine] +width = 512 +height = 256 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 256 + +[TextureRedefine] +width = 500 +height = 300 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 500 +overwriteHeight = ($height/$gameHeight) * 300 + +[TextureRedefine] # +width = 480 +height = 272 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 480 +overwriteHeight = ($height/$gameHeight) * 272 + +[TextureRedefine] +width = 480 +height = 270 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 480 +overwriteHeight = ($height/$gameHeight) * 270 + +[TextureRedefine] +width = 320 +height = 192 +#formats = +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + +[TextureRedefine] +width = 320 +height = 180 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 + +[TextureRedefine] #heat haze +width = 288 +height = 192 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 288 +overwriteHeight = ($height/$gameHeight) * 192 + +[TextureRedefine] #Transition fire +width = 282 +height = 180 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 282 +overwriteHeight = ($height/$gameHeight) * 180 + + +[TextureRedefine] +width = 256 +height = 256 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 256 + +[TextureRedefine] +width = 256 +height = 160 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 160 + +[TextureRedefine] +width = 256 +height = 144 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 144 + +[TextureRedefine] +width = 256 +height = 128 +formats = 0x816,0x806 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 128 + +[TextureRedefine] +width = 250 +height = 150 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 250 +overwriteHeight = ($height/$gameHeight) * 150 + +[TextureRedefine] +width = 240 +height = 135 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 240 +overwriteHeight = ($height/$gameHeight) * 135 + +[TextureRedefine] # mine sparkles +width = 224 +height = 128 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 224 +overwriteHeight = ($height/$gameHeight) * 128 + +[TextureRedefine] # mine sparkles +width = 213 +height = 120 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 213 +overwriteHeight = ($height/$gameHeight) * 120 + +[TextureRedefine] +width = 160 +height = 96 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 96 + +[TextureRedefine] +width = 160 +height = 90 +#formats = +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 90 + +[TextureRedefine] +width = 128 +height = 128 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 128 + +[TextureRedefine] #Transition fire +width = 141 +height = 90 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 141 +overwriteHeight = ($height/$gameHeight) * 90 + +[TextureRedefine] +width = 128 +height = 80 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 80 + +[TextureRedefine] +width = 128 +height = 64 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 64 + +#[TextureRedefine] #haze +#width = 128 +#height = 16 +#formats = 0x823 +#overwriteWidth = ($width/$gameWidth) * 128 +#overwriteHeight = ($height/$gameHeight) * 16 + +[TextureRedefine] +width = 125 +height = 75 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 125 +overwriteHeight = ($height/$gameHeight) * 75 + +[TextureRedefine] +width = 120 +height = 67 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 120 +overwriteHeight = ($height/$gameHeight) * 67 + +[TextureRedefine] +width = 96 +height = 48 +#formats = +overwriteWidth = ($width/$gameWidth) * 96 +overwriteHeight = ($height/$gameHeight) * 48 + +[TextureRedefine] +width = 80 +height = 45 +#formats = +overwriteWidth = ($width/$gameWidth) * 80 +overwriteHeight = ($height/$gameHeight) * 45 + +[TextureRedefine] # Transition fire +width = 70 +height = 45 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 70 +overwriteHeight = ($height/$gameHeight) * 45 + +[TextureRedefine] +width = 64 +height = 64 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 64 + +[TextureRedefine] +width = 64 +height = 48 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 48 + +[TextureRedefine] +width = 64 +height = 32 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 32 + +[TextureRedefine] +width = 62 +height = 37 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 60 +overwriteHeight = ($height/$gameHeight) * 37 + +[TextureRedefine] +width = 60 +height = 33 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 60 +overwriteHeight = ($height/$gameHeight) * 33 + +[TextureRedefine] #transition fire +width = 40 +height = 22 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 40 +overwriteHeight = ($height/$gameHeight) * 22 + +[TextureRedefine] +width = 35 +height = 22 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 35 +overwriteHeight = ($height/$gameHeight) * 22 + +[TextureRedefine] +width = 32 +height = 32 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 32 +overwriteHeight = ($height/$gameHeight) * 32 + +[TextureRedefine] +width = 32 +height = 16 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 32 +overwriteHeight = ($height/$gameHeight) * 16 + +[TextureRedefine] +width = 31 +height = 18 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 31 +overwriteHeight = ($height/$gameHeight) * 18 + +[TextureRedefine] +width = 24 +height = 16 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 24 +overwriteHeight = ($height/$gameHeight) * 16 + +[TextureRedefine] +width = 20 +height = 11 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 20 +overwriteHeight = ($height/$gameHeight) * 11 + +[TextureRedefine] #Transition fire +width = 17 +height = 11 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 17 +overwriteHeight = ($height/$gameHeight) * 11 + +[TextureRedefine] +width = 16 +height = 16 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 16 +overwriteHeight = ($height/$gameHeight) * 16 + +[TextureRedefine] +width = 15 +height = 9 +formats = 0x816,0x823 +overwriteWidth = ($width/$gameWidth) * 15 +overwriteHeight = ($height/$gameHeight) * 9 + +#[TextureRedefine]# +#width = 8 +#height = 8 +#formats = 0x816 #,0x823 +#overwriteWidth = ($width/$gameWidth) * 8 +#overwriteHeight = ($height/$gameHeight) * 8 \ No newline at end of file diff --git a/Source/Chariot/rules.txt b/Source/Chariot/rules.txt deleted file mode 100644 index 54d96990..00000000 --- a/Source/Chariot/rules.txt +++ /dev/null @@ -1,57 +0,0 @@ - -[Definition] -titleIds = 0005000010179900, 000500001017AC00, 00050000101B4400 -name = "Chariot - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -formatsExcluded = 0x008,0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res alpha -width = 640 -height = 360 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 128 -height = 128 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 256 -height = 256 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 64 -height = 64 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 12 -height = 12 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 512 -height = 1024 -overwriteWidth = -overwriteHeight = diff --git a/Source/ChimpuzzlePro/rules.txt b/Source/ChimpuzzlePro/rules.txt deleted file mode 100644 index 02c07ccc..00000000 --- a/Source/ChimpuzzlePro/rules.txt +++ /dev/null @@ -1,24 +0,0 @@ - -[Definition] -titleIds = 000500001014DD00 -name = "Chimpuzzle Pro - " -version = 2 - -[TextureRedefine] # tv -width = 1920 -height = 1080 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = diff --git a/Source/ChompyChompChompParty/rules.txt b/Source/ChompyChompChompParty/rules.txt deleted file mode 100644 index 8843b486..00000000 --- a/Source/ChompyChompChompParty/rules.txt +++ /dev/null @@ -1,36 +0,0 @@ - -[Definition] -titleIds = 00050000101A9E00,00050000101A9C00 -name = "Chompy Chomp Chomp Party - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine]# q-res -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/CitizensOfEarth/rules.txt b/Source/CitizensOfEarth/rules.txt deleted file mode 100644 index 294dd669..00000000 --- a/Source/CitizensOfEarth/rules.txt +++ /dev/null @@ -1,24 +0,0 @@ - -[Definition] -titleIds = 0005000010180B00,0005000010177200 -name = "Citizens Of Earth - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/ColorSplash/5019118560a66950_0000000000000000_vs.txt b/Source/ColorSplash/5019118560a66950_0000000000000000_vs.txt deleted file mode 100644 index a4ce7a8b..00000000 --- a/Source/ColorSplash/5019118560a66950_0000000000000000_vs.txt +++ /dev/null @@ -1,71 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 5019118560a66950 -const float resXScale = ; -const float resYScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R123f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -attrDecoder = attrDataSem0; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * intBitsToFloat(0x3f400000) + R2f.y); -PV0f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * intBitsToFloat(0x3f400000) + R2f.x); -PV0f.y = R123f.y; -R1f.w = 1.0; -// 1 -R2f.z = PV0f.y; -R2f.w = PV0f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -} diff --git a/Source/ColorSplash/88a193c7d4d2c9bc_0000000000000079_ps.txt b/Source/ColorSplash/88a193c7d4d2c9bc_0000000000000079_ps.txt deleted file mode 100644 index 63ae1e7b..00000000 --- a/Source/ColorSplash/88a193c7d4d2c9bc_0000000000000079_ps.txt +++ /dev/null @@ -1,82 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 88a193c7d4d2c9bc -const float resXScale = ; -const float resYScale = ; -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4fa7000 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -// 0 -PV0f.x = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3b5a740f) / resXScale; -R2f.y = intBitsToFloat(uf_remappedPS[0].z) * 0.5; -PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0xbb5a740f) / resYScale; -PV0f.w = 0.0; -// 1 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg0f = R0f.x; -backupReg1f = R0f.y; -R0f.xyz = vec3(PV0f.w,PV0f.z,PV0f.w) + vec3(backupReg0f,backupReg1f,backupReg0f); -R0f.w = PV0f.x + backupReg1f; -R1f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw); -// 0 -backupReg0f = R0f.w; -R127f.x = R1f.z + R0f.z; -R127f.x /= 2.0; -PV0f.x = R127f.x; -R127f.y = R1f.y + R0f.y; -R127f.y /= 2.0; -PV0f.y = R127f.y; -R127f.z = R1f.x + R0f.x; -R127f.z /= 2.0; -PV0f.z = R127f.z; -R0f.w = R1f.w + backupReg0f; -R0f.w /= 2.0; -// 1 -PV1f.x = -(PV0f.y) + 0.0; -PV1f.y = -(PV0f.z) + 0.0; -PV1f.w = -(PV0f.x) + 0.0; -// 2 -R0f.x = (mul_nonIEEE(PV1f.y,R2f.y) + R127f.z); -R0f.y = (mul_nonIEEE(PV1f.x,R2f.y) + R127f.y); -R0f.z = (mul_nonIEEE(PV1f.w,R2f.y) + R127f.x); -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Source/ColorSplash/deceb5ab7cca5140_0000000000000079_ps.txt b/Source/ColorSplash/deceb5ab7cca5140_0000000000000079_ps.txt deleted file mode 100644 index d0068ea6..00000000 --- a/Source/ColorSplash/deceb5ab7cca5140_0000000000000079_ps.txt +++ /dev/null @@ -1,82 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader deceb5ab7cca5140 -const float resXScale = ; -const float resYScale = ; -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4c23000 res 640x360x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -// 0 -PV0f.x = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3af5c290) / resXScale; -R2f.y = intBitsToFloat(uf_remappedPS[0].z) * 0.5; -PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0xbaf5c290) / resYScale; -PV0f.w = 0.0; -// 1 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg0f = R0f.x; -backupReg1f = R0f.y; -R0f.xyz = vec3(backupReg0f,backupReg1f,backupReg0f) + vec3(PV0f.z,PV0f.w,PV0f.x); -R0f.w = backupReg1f + PV0f.w; -R1f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw); -// 0 -backupReg0f = R0f.w; -R127f.x = R1f.z + R0f.z; -R127f.x /= 2.0; -PV0f.x = R127f.x; -R127f.y = R1f.y + R0f.y; -R127f.y /= 2.0; -PV0f.y = R127f.y; -R127f.z = R1f.x + R0f.x; -R127f.z /= 2.0; -PV0f.z = R127f.z; -R0f.w = R1f.w + backupReg0f; -R0f.w /= 2.0; -// 1 -PV1f.x = -(PV0f.y) + 0.0; -PV1f.y = -(PV0f.z) + 0.0; -PV1f.w = -(PV0f.x) + 0.0; -// 2 -R0f.x = (mul_nonIEEE(PV1f.y,R2f.y) + R127f.z); -R0f.y = (mul_nonIEEE(PV1f.x,R2f.y) + R127f.y); -R0f.z = (mul_nonIEEE(PV1f.w,R2f.y) + R127f.x); -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Source/ColorSplash/rules.txt b/Source/ColorSplash/rules.txt deleted file mode 100644 index 9be22c35..00000000 --- a/Source/ColorSplash/rules.txt +++ /dev/null @@ -1,84 +0,0 @@ - -[Definition] -titleIds = 000500001F600900,000500001F600A00,000500001F600B00 -name = "Paper Mario: Color Splash - " -version = 2 - -[TextureRedefine] -width = 1280 -height = 720 -formatsExcluded = 0x431 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 1024 -#height = 1024 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 854 -height = 480 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 640 -height = 360 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 512 -#height = 512 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 320 -height = 180 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 256 -#height = 256 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 160 -height = 90 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 64 -#height = 64 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 32 -height = 18 -#formatsExcluded = -overwriteWidth = -overwriteHeight = diff --git a/Source/DevilsThird/rules.txt b/Source/DevilsThird/rules.txt deleted file mode 100644 index d8a4f93a..00000000 --- a/Source/DevilsThird/rules.txt +++ /dev/null @@ -1,25 +0,0 @@ - -[Definition] -titleIds = 0005000010177700, 0005000010177600, 0005000010138F00 -name = "Devil's Third - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/DuckTalesRemastered/rules.txt b/Source/DuckTalesRemastered/rules.txt deleted file mode 100644 index 59e13d14..00000000 --- a/Source/DuckTalesRemastered/rules.txt +++ /dev/null @@ -1,30 +0,0 @@ - -[Definition] -titleIds = 0005000010129000,0005000010129200 -name = "DuckTales Remastered - " -version = 2 - -[TextureRedefine] # tv -width = 1920 -height = 1080 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res -width = 480 -height = 270 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/ElectronicSuperJoyGrooveCity/rules.txt b/Source/ElectronicSuperJoyGrooveCity/rules.txt deleted file mode 100644 index 277cd063..00000000 --- a/Source/ElectronicSuperJoyGrooveCity/rules.txt +++ /dev/null @@ -1,24 +0,0 @@ - -[Definition] -titleIds = 0005000010197300 -name = "Electronic Super Joy Groove City - " -version = 2 - -[TextureRedefine] # tv -width = 1920 -height = 1080 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/FASTRacingNEO/0f53b10e26382ad1_00000000003db249_ps.txt b/Source/FASTRacingNEO/0f53b10e26382ad1_00000000003db249_ps.txt deleted file mode 100644 index 7c1ffd16..00000000 --- a/Source/FASTRacingNEO/0f53b10e26382ad1_00000000003db249_ps.txt +++ /dev/null @@ -1,705 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 0f53b10e26382ad1 -const float resScale = ; -uniform ivec4 uf_remappedPS[20]; -layout(binding = 0) uniform samplerCubeArray textureUnitPS0;// Tex0 addr 0x29119000 res 256x256x1 dim 3 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x6) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 1) uniform samplerCubeArray textureUnitPS1;// Tex1 addr 0x29119000 res 256x256x1 dim 3 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x6) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf4385000 res 1280x720x1 dim 1 tm: 4 format 021f compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4a8d000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4e11000 res 1280x720x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex0 = 0.0; -float cubeMapArrayIndex1 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) * resScale); -if( activeMaskStackC[1] == true ) { -R0i.w = floatBitsToInt(texelFetch(textureUnitPS5, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(uf_remappedPS[0].y))); -R127i.y = floatBitsToInt((intBitsToFloat(R0i.w) * 2.0 + -(1.0))); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedPS[0].x))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].w)); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(PS0i)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].w) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].z) * 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].z)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].x) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].y) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R126i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[2].w)) + intBitsToFloat(PV1i.z))); -PS0i = R127i.z; -// 3 -backupReg0i = R127i.y; -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[2].y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[2].z)) + intBitsToFloat(R127i.w))); -PV1i.w = R123i.w; -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 5 -backupReg0i = R127i.y; -backupReg0i = R127i.y; -backupReg0i = R127i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PV0i.y))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(PV0i.w))); -// 6 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); -// 7 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(PS0i)); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(PS0i)); -PV1i.z = R127i.z; -// 8 -R3i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[5].x)); -PV0i.x = R3i.x; -R4i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(uf_remappedPS[5].y)); -PV0i.y = R4i.y; -R6i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[5].z)); -PV0i.z = R6i.z; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(PV1i.z)); -// 9 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R127i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 10 -R123i.w = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R127i.x) + intBitsToFloat(PS1i))); -PV0i.w = R123i.w; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R3i.x)), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R4i.y)), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R6i.z)), intBitsToFloat(PS0i))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.w)); -R126i.y = floatBitsToInt(tempResultf); -PS1i = R126i.y; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.w = tempi.x; -R4i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R127i.x)), intBitsToFloat(PS1i))); -PS0i = R4i.x; -// 13 -if( (intBitsToFloat(uf_remappedPS[7].y) >= intBitsToFloat(PV0i.x))) discard; -R3i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R127i.y)), intBitsToFloat(R126i.y))); -R4i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R127i.z)), intBitsToFloat(R126i.y))); -} -if( activeMaskStackC[1] == true ) { -R1i.xy = floatBitsToInt(texelFetch(textureUnitPS3, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).xy); -R2i.xyz = floatBitsToInt(texelFetch(textureUnitPS4, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).xyz); -R5i.xyzw = floatBitsToInt(texelFetch(textureUnitPS2, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).xyzw); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.w) * intBitsToFloat(0x437f0000)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.x)),intBitsToFloat(R1i.x)) + intBitsToFloat(0x3f800347))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(sqrt(intBitsToFloat(R2i.y))); -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.y)),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedPS[8].z)) + intBitsToFloat(R2i.y))); -PV1i.z = R123i.z; -PS1i = int(intBitsToFloat(PV0i.z)); -// 2 -R127i.x = PS1i & 0x00000004; -PV0i.x = R127i.x; -R127i.y = PS1i & 0x00000002; -R0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = R0i.z; -R127i.z = floatBitsToInt(sqrt(intBitsToFloat(PV1i.y))); -PS0i = R127i.z; -// 3 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x41300000)); -R0i.y = ((PV0i.x == 0)?(R1i.y):(R1i.y)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i))); -R0i.x = ((PV0i.x == 0)?(R1i.x):(R1i.x)); -PS1i = R0i.x; -// 4 -R1i.z = ((R127i.x == 0)?(R127i.z):(PV1i.w)); -R2i.w = floatBitsToInt(float(R127i.y)); -R2i.w = clampFI32(R2i.w); -PS0i = R2i.w; -// 5 -R1i.x = floatBitsToInt(exp2(intBitsToFloat(R126i.x))); -PS1i = R1i.x; -// 6 -predResult = (intBitsToFloat(uf_remappedPS[7].y) != intBitsToFloat(uf_remappedPS[7].z)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[7].y)) + intBitsToFloat(uf_remappedPS[7].z)); -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(uf_remappedPS[7].y))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(PS1i)); -// 3 -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].w), intBitsToFloat(PS1i))); -// 5 -R3i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R3i.z; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.z = floatBitsToInt(1.0); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[5].w)); -PS0i = R127i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -PV0i.z = R125i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(0x41000000)); -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -backupReg0i = R127i.x; -R127i.xyz = floatBitsToInt(vec3(intBitsToFloat(R4i.x),intBitsToFloat(R3i.y),intBitsToFloat(R4i.z)) + vec3(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z))); -PV1i.x = R127i.x; -PV1i.y = R127i.y; -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(backupReg0i)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + 1.0); -PS1i = R126i.y; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R126i.z = clampFI32(R126i.z); -PS0i = R126i.z; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R3i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -tempResultf = log2(intBitsToFloat(R126i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 7 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -// 8 -R125i.x = floatBitsToInt(min(intBitsToFloat(R0i.z), intBitsToFloat(R126i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R125i.z))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].x), intBitsToFloat(R127i.y))); -tempResultf = log2(intBitsToFloat(PS1i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.x = floatBitsToInt(tempResultf); -PS0i = R127i.x; -// 9 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(PV0i.y),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R2i.y = PV1i.x; -R2i.y = clampFI32(R2i.y); -R125i.z = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x40a00000)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R4i.z))); -R3i.x = floatBitsToInt(exp2(intBitsToFloat(R127i.w))); -PS0i = R3i.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R3i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.x)); -R126i.w = floatBitsToInt(exp2(intBitsToFloat(R125i.z))); -PS0i = R126i.w; -// 13 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3d22f983)); -R125i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(backupReg0i)) + intBitsToFloat(R4i.x))); -R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.y)) + intBitsToFloat(R3i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R1i.z)) + intBitsToFloat(R4i.z))); -PV1i.w = R127i.w; -// 14 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(R2i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R2i.y))); -PV0i.w = R126i.w; -PS0i = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV1i.w)), intBitsToFloat(uf_remappedPS[9].z))); -// 15 -R1i.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R125i.y)),-(intBitsToFloat(R125i.z)),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),1.0,0.0))); -PV1i.x = R1i.x; -PV1i.y = R1i.x; -PV1i.z = R1i.x; -PV1i.w = R1i.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[10].x))); -PS1i = R4i.x; -// 16 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R125i.y)),-(intBitsToFloat(R125i.z)),-(intBitsToFloat(R127i.w)),-0.0),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -// 17 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R125i.y)),-(intBitsToFloat(R125i.z)),-(intBitsToFloat(R127i.w)),-0.0),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.z = tempi.x; -// 18 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(uf_remappedPS[10].y))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(uf_remappedPS[10].z))); -// 19 -predResult = (uf_remappedPS[8].w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + 1.0); -PS0i = R127i.y; -// 1 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -// 3 -backupReg0i = R127i.y; -redcCUBE(vec4(intBitsToFloat(R7i.z),intBitsToFloat(R7i.z),intBitsToFloat(R1i.x),intBitsToFloat(R1i.y)),vec4(intBitsToFloat(R1i.y),intBitsToFloat(R1i.x),intBitsToFloat(R7i.z),intBitsToFloat(R7i.z)),cubeMapSTM,cubeMapFaceId); -R127i.x = floatBitsToInt(cubeMapSTM.x); -R127i.y = floatBitsToInt(cubeMapSTM.y); -R127i.z = floatBitsToInt(cubeMapSTM.z); -R127i.w = cubeMapFaceId; -PV1i.x = R127i.x; -PV1i.y = R127i.y; -PV1i.z = R127i.z; -PV1i.w = R127i.w; -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[16].y))); -PS1i = R0i.w; -// 4 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -backupReg1i = R126i.z; -backupReg2i = R126i.y; -backupReg1i = R126i.z; -redcCUBE(vec4(intBitsToFloat(R126i.z),intBitsToFloat(R126i.z),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); -R126i.x = floatBitsToInt(cubeMapSTM.x); -R126i.y = floatBitsToInt(cubeMapSTM.y); -R126i.z = floatBitsToInt(cubeMapSTM.z); -R126i.w = cubeMapFaceId; -PV0i.x = R126i.x; -PV0i.y = R126i.y; -PV0i.z = R126i.z; -PV0i.w = R126i.w; -R0i.z = PV1i.w; -PS0i = R0i.z; -// 5 -R2i.x = floatBitsToInt((0.0 * intBitsToFloat(uf_remappedPS[8].x) + 1.0)); -R1i.z = PV0i.w; -R1i.w = uf_remappedPS[16].x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(R127i.z))); -// 6 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS1i)) + 1.5)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(R126i.z))); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS0i)) + 1.5)); -PV1i.x = R123i.x; -R0i.y = PV0i.w; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS0i)) + 1.5)); -PV1i.w = R123i.w; -R0i.x = PV0i.z; -PS1i = R0i.x; -// 8 -R1i.x = PV1i.x; -R1i.y = PV1i.w; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(textureLod(textureUnitPS1, vec4(redcCUBEReverse(intBitsToFloat(R0i.xy),R0i.z),cubeMapArrayIndex1),intBitsToFloat(R0i.w)).xyz); -R1i.xyz = floatBitsToInt(textureLod(textureUnitPS0, vec4(redcCUBEReverse(intBitsToFloat(R1i.xy),R1i.z),cubeMapArrayIndex0),intBitsToFloat(R1i.w)).xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].w), intBitsToFloat(R0i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].w), intBitsToFloat(backupReg0i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[16].w), intBitsToFloat(R0i.z))); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedPS[17].x))); -PS0i = R0i.x; -// 1 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(uf_remappedPS[17].y))); -PS1i = R0i.y; -// 2 -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(uf_remappedPS[17].z))); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].y))); -R127i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].z)) * intBitsToFloat(0x3dcccccd)); -// 1 -R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].x))); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 6 -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(0x3ecccccd))); -// 7 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[18].x))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[18].y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[18].z))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(max(intBitsToFloat(R6i.z), 0.0)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R4i.x))); -PV0i.z = R3i.w; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R4i.y))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R4i.z))); -PS0i = R126i.w; -// 1 -R127i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 0.0)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R0i.w = floatBitsToInt(1.0); -PS1i = R0i.w; -// 2 -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(PV1i.w)) + 1.0)); -PV0i.z = R123i.z; -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(PV0i.z)) + 1.0)); -PV1i.y = R123i.y; -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[18].x)) + -(intBitsToFloat(R0i.x)))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[18].z)) + -(intBitsToFloat(R0i.z)))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[18].y)) + -(intBitsToFloat(R0i.y)))); -PV0i.w = R123i.w; -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R2i.w)) + intBitsToFloat(R0i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R2i.w)) + intBitsToFloat(R0i.x))); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R2i.w)) + intBitsToFloat(R0i.z))); -PV1i.w = R123i.w; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[19].z)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[19].y)) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[19].x)) + intBitsToFloat(PV1i.y))); -PV0i.z = R123i.z; -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PV0i.z))); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.z))); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.y))); -// 11 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV0i.z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV0i.y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV0i.x))); -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -} diff --git a/Source/FASTRacingNEO/33fa3ac7f0222908_0000000000000079_ps.txt b/Source/FASTRacingNEO/33fa3ac7f0222908_0000000000000079_ps.txt deleted file mode 100644 index 706dc25f..00000000 --- a/Source/FASTRacingNEO/33fa3ac7f0222908_0000000000000079_ps.txt +++ /dev/null @@ -1,180 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 33fa3ac7f0222908 -const float resScale = ; -uniform ivec4 uf_remappedPS[9]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5c2b800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 1) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) * resScale; -R1f = passParameterSem0; -R3f.xz = (texelFetch(textureUnitPS0, ivec2(R0f.x, R0f.y), 0).xz); -// 0 -PV0f.x = mul_nonIEEE(R1f.x, R1f.x); -PV0f.y = -(intBitsToFloat(uf_remappedPS[0].w)) + intBitsToFloat(uf_remappedPS[1].x); -R127f.z = mul_nonIEEE(R3f.x, R3f.x); -PV0f.w = mul_nonIEEE(R3f.z, R3f.z); -R4f.w = 1.0; -PS0f = R4f.w; -// 1 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -R0f.x = (mul_nonIEEE(-(R1f.x),intBitsToFloat(uf_remappedPS[2].w)) + backupReg0f); -R0f.y = (intBitsToFloat(uf_remappedPS[2].w) * 0.25 + backupReg1f); -R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),PV0f.w) + -(R3f.z)); -R123f.w = (mul_nonIEEE(R1f.y,R1f.y) + PV0f.x); -PV1f.w = R123f.w; -R1f.w = 1.0 / PV0f.y; -PS1f = R1f.w; -// 2 -R1f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R127f.z) + -(R3f.x)); -R0f.z = sqrt(PV1f.w); -PS0f = R0f.z; -R0f.w = (texelFetch(textureUnitPS0, ivec2(R0f.x, R0f.y), 0).y); -// 0 -PV0f.y = -(intBitsToFloat(uf_remappedPS[0].w)) + R0f.z; -R126f.z = R0f.w; -PV0f.z = R126f.z; -// 1 -R127f.x = intBitsToFloat(uf_remappedPS[3].x) + -(intBitsToFloat(uf_remappedPS[4].x)); -PV1f.y = mul_nonIEEE(PV0f.z, PV0f.z); -PV1f.z = PV0f.y * R1f.w; -PV1f.z = clamp(PV1f.z, 0.0, 1.0); -R126f.w = intBitsToFloat(uf_remappedPS[3].y) + -(intBitsToFloat(uf_remappedPS[4].y)); -// 2 -R123f.x = (intBitsToFloat(0xc0000000) * PV1f.z + intBitsToFloat(0x40400000)); -PV0f.x = R123f.x; -PV0f.y = mul_nonIEEE(PV1f.z, PV1f.z); -R127f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),PV1f.y) + -(R126f.z)); -// 3 -R126f.x = intBitsToFloat(uf_remappedPS[3].z) + -(intBitsToFloat(uf_remappedPS[4].z)); -PV1f.w = mul_nonIEEE(PV0f.y, PV0f.x); -// 4 -R127f.w = mul_nonIEEE(PV1f.w, intBitsToFloat(uf_remappedPS[5].x)); -PV0f.w = R127f.w; -// 5 -R125f.x = (mul_nonIEEE(R1f.z,PV0f.w) + R3f.x); -R127f.y = (mul_nonIEEE(R127f.z,PV0f.w) + R126f.z); -// 6 -R127f.z = (mul_nonIEEE(R2f.z,R127f.w) + R3f.z); -PV0f.z = R127f.z; -// 7 -tempf.x = dot(vec4(R125f.x,R127f.y,PV0f.z,-0.0),vec4(intBitsToFloat(0x3e99096c),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -// 8 -R127f.w = min(PV1f.x, 1.0); -PV0f.w = R127f.w; -// 9 -R123f.y = (mul_nonIEEE(R126f.x,PV0f.w) + intBitsToFloat(uf_remappedPS[4].z)); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(R126f.w,PV0f.w) + intBitsToFloat(uf_remappedPS[4].y)); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(R127f.x,PV0f.w) + intBitsToFloat(uf_remappedPS[4].x)); -PV1f.w = R123f.w; -// 10 -PV0f.x = -(R125f.x) + PV1f.w; -PV0f.z = -(R127f.z) + PV1f.y; -PV0f.w = -(R127f.y) + PV1f.z; -// 11 -backupReg0f = R125f.x; -R125f.x = (mul_nonIEEE(PV0f.w,intBitsToFloat(uf_remappedPS[6].y)) + R127f.y); -PV1f.x = R125f.x; -R127f.y = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[6].x)) + backupReg0f); -PV1f.y = R127f.y; -R126f.w = (mul_nonIEEE(PV0f.z,intBitsToFloat(uf_remappedPS[6].z)) + R127f.z); -PV1f.w = R126f.w; -// 12 -PV0f.x = R127f.w + -(PV1f.w); -PV0f.y = R127f.w + -(PV1f.x); -PV0f.z = R127f.w + -(PV1f.y); -// 13 -R123f.y = (mul_nonIEEE(PV0f.x,-(intBitsToFloat(uf_remappedPS[7].x))) + R126f.w); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(PV0f.y,-(intBitsToFloat(uf_remappedPS[7].x))) + R125f.x); -PV1f.z = R123f.z; -R123f.w = (mul_nonIEEE(PV0f.z,-(intBitsToFloat(uf_remappedPS[7].x))) + R127f.y); -PV1f.w = R123f.w; -// 14 -R125f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].x), PV1f.w); -PV0f.x = R125f.x; -R127f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].z), PV1f.y); -PV0f.z = R127f.z; -R127f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].y), PV1f.z); -PV0f.w = R127f.w; -// 15 -PV1f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].w), PV0f.w); -PV1f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].w), PV0f.x); -R126f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[8].w), PV0f.z); -PV1f.w = R126f.w; -// 16 -PV0f.x = intBitsToFloat(uf_remappedPS[0].y) + PV1f.w; -PV0f.y = intBitsToFloat(uf_remappedPS[0].y) + PV1f.x; -PV0f.z = intBitsToFloat(uf_remappedPS[0].y) + PV1f.y; -PV0f.w = intBitsToFloat(uf_remappedPS[0].x) + PV1f.y; -R125f.w = intBitsToFloat(uf_remappedPS[0].x) + PV1f.x; -PS0f = R125f.w; -// 17 -PV1f.x = intBitsToFloat(uf_remappedPS[0].x) + R126f.w; -R126f.y = (mul_nonIEEE(R127f.z,PV0f.x) + intBitsToFloat(uf_remappedPS[0].z)); -R126f.z = (mul_nonIEEE(R127f.w,PV0f.y) + intBitsToFloat(uf_remappedPS[0].z)); -R123f.w = (mul_nonIEEE(R125f.x,PV0f.z) + intBitsToFloat(uf_remappedPS[0].z)); -PV1f.w = R123f.w; -R127f.y = mul_nonIEEE(R125f.x, PV0f.w); -PS1f = R127f.y; -// 18 -R125f.x = mul_nonIEEE(R127f.w, R125f.w); -R127f.w = mul_nonIEEE(R127f.z, PV1f.x); -PS0f = 1.0 / PV1f.w; -// 19 -R4f.x = R127f.y * PS0f; -PS1f = 1.0 / R126f.z; -// 20 -R4f.y = R125f.x * PS1f; -PS0f = 1.0 / R126f.y; -// 21 -R4f.z = R127f.w * PS0f; -// export -passPixelColor0 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -} diff --git a/Source/FASTRacingNEO/935b8d72d8f53ccc_00000000003c9249_ps.txt b/Source/FASTRacingNEO/935b8d72d8f53ccc_00000000003c9249_ps.txt deleted file mode 100644 index f0ca7aeb..00000000 --- a/Source/FASTRacingNEO/935b8d72d8f53ccc_00000000003c9249_ps.txt +++ /dev/null @@ -1,607 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 935b8d72d8f53ccc -const float resScale = ; -uniform ivec4 uf_remappedPS[21]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x208f7800 res 3072x2048x1 dim 1 tm: 4 format 0035 compSel: 0 1 4 5 mipView: 0x0 (num 0xc) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x211a5800 res 3072x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xc) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf4385000 res 1280x720x1 dim 1 tm: 4 format 021f compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4a8d000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4e11000 res 1280x720x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) * resScale); -if( activeMaskStackC[1] == true ) { -R0i.w = floatBitsToInt(texelFetch(textureUnitPS5, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).x); -R1i.xy = floatBitsToInt(texelFetch(textureUnitPS3, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).xy); -R6i.xyzw = floatBitsToInt(texelFetch(textureUnitPS2, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).xyzw); -R4i.xyzw = floatBitsToInt(texelFetch(textureUnitPS4, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R0i.w) * 2.0 + -(1.0))); -R127i.y = floatBitsToInt(intBitsToFloat(R0i.x) + -(intBitsToFloat(uf_remappedPS[0].x))); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(uf_remappedPS[0].y))); -R126i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.x)),intBitsToFloat(R1i.x)) + intBitsToFloat(0x3f800347))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].w)); -// 1 -R126i.x = floatBitsToInt(intBitsToFloat(R6i.w) * intBitsToFloat(0x437f0000)); -PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].w) * 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].z) * 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].z)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].y) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].x) * 1.0); -R125i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedPS[2].w)) + intBitsToFloat(PV1i.y))); -PS0i = R127i.y; -// 3 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + -(1.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[2].y)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[2].z)) + intBitsToFloat(R127i.w))); -PV1i.w = R123i.w; -R125i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.y)),intBitsToFloat(R1i.y)) + intBitsToFloat(R126i.w))); -PS1i = R125i.x; -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(R127i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R125i.w = int(intBitsToFloat(R126i.x)); -PS0i = R125i.w; -// 5 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(PV0i.z))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(PV0i.w))); -R127i.y = floatBitsToInt(sqrt(intBitsToFloat(R125i.x))); -PS1i = R127i.y; -// 6 -backupReg0i = R125i.w; -R126i.x = floatBitsToInt(-(intBitsToFloat(R4i.x)) + 1.0); -R125i.y = R125i.w & 0x00000002; -R126i.z = floatBitsToInt(-(intBitsToFloat(PS1i))); -R125i.w = backupReg0i & 0x00000004; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 7 -R2i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -PV1i.x = R2i.x; -R2i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(PS0i)); -PV1i.y = R2i.y; -R7i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -PV1i.z = R7i.z; -PS1i = floatBitsToInt(sqrt(intBitsToFloat(R4i.y))); -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R4i.y))); -PS0i = R126i.y; -// 9 -R0i.x = ((R125i.w == 0)?(R1i.x):(R1i.x)); -R0i.y = ((R125i.w == 0)?(R1i.y):(R1i.y)); -R1i.z = ((R125i.w == 0)?(R127i.y):(R126i.z)); -PV1i.z = R1i.z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 10 -R3i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R2i.x)), intBitsToFloat(PS1i))); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R2i.y)), intBitsToFloat(PS1i))); -PV0i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R7i.z)), intBitsToFloat(PS1i))); -PV0i.z = R3i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[6].z))); -R8i.z = floatBitsToInt(min(intBitsToFloat(R126i.y), 1.0)); -PS0i = R8i.z; -// 11 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedPS[6].x)); -PV1i.x = R127i.x; -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(uf_remappedPS[6].y)); -PV1i.y = R126i.y; -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(uf_remappedPS[6].z)); -PV1i.z = R126i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x41300000)); -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(PV0i.w))); -PS1i = R125i.x; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -PS0i = R127i.w; -// 13 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS1i))); -R125i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(R125i.x))); -PS0i = R3i.w; -// 15 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(0x41000000)); -PS1i = R127i.x; -// 16 -backupReg0i = R125i.y; -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R125i.y = floatBitsToInt(max(intBitsToFloat(R3i.w), 0.0)); -R126i.z = floatBitsToInt(max(intBitsToFloat(R125i.w), 0.0)); -R125i.w = floatBitsToInt(min(intBitsToFloat(R8i.z), intBitsToFloat(R126i.x))); -R5i.w = floatBitsToInt(float(backupReg0i)); -R5i.w = clampFI32(R5i.w); -PS0i = R5i.w; -// 17 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 18 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); -R2i.z = floatBitsToInt(min(intBitsToFloat(R4i.w), intBitsToFloat(R125i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.x)); -tempResultf = log2(intBitsToFloat(R126i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 19 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x40a00000)); -R1i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(backupReg0i)) + intBitsToFloat(R3i.x))); -R0i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.y)) + intBitsToFloat(R3i.y))); -R0i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R1i.z)) + intBitsToFloat(R3i.z))); -PV1i.w = R0i.w; -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 20 -PV0i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV1i.w)), intBitsToFloat(uf_remappedPS[7].z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.x))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 21 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.z)),intBitsToFloat(uf_remappedPS[7].y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3d22f983)); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(R4i.x))); -PS1i = R2i.y; -// 22 -R1i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.y)),intBitsToFloat(uf_remappedPS[7].x)) + intBitsToFloat(PV1i.x))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R2i.z))); -PV0i.w = R1i.w; -PS0i = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R0i.w)), intBitsToFloat(uf_remappedPS[8].z))); -// 23 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R0i.z)),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.y = tempi.x; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[9].x))); -PS1i = R5i.x; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R0i.z)),-(intBitsToFloat(R0i.w)),-0.0),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.z = tempi.x; -// 1 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[9].y))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[9].z))); -// 2 -predResult = (uf_remappedPS[5].w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + 1.0); -PS0i = R127i.y; -// 1 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -R127i.x = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(0x3f400000) + 0.25)); -PS1i = R127i.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -PS0i = R127i.w; -// 3 -redcCUBE(vec4(intBitsToFloat(R0i.z),intBitsToFloat(R0i.z),intBitsToFloat(R1i.x),intBitsToFloat(R4i.y)),vec4(intBitsToFloat(R4i.y),intBitsToFloat(R1i.x),intBitsToFloat(R0i.z),intBitsToFloat(R0i.z)),cubeMapSTM,cubeMapFaceId); -R125i.x = floatBitsToInt(cubeMapSTM.x); -R125i.y = floatBitsToInt(cubeMapSTM.y); -R125i.z = floatBitsToInt(cubeMapSTM.z); -R125i.w = cubeMapFaceId; -PV1i.x = R125i.x; -PV1i.y = R125i.y; -PV1i.z = R125i.z; -PV1i.w = R125i.w; -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedPS[14].y))); -PS1i = R0i.w; -// 4 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -backupReg1i = R126i.z; -backupReg2i = R126i.y; -backupReg1i = R126i.z; -redcCUBE(vec4(intBitsToFloat(R126i.z),intBitsToFloat(R126i.z),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); -R126i.x = floatBitsToInt(cubeMapSTM.x); -R126i.y = floatBitsToInt(cubeMapSTM.y); -R126i.z = floatBitsToInt(cubeMapSTM.z); -R126i.w = cubeMapFaceId; -PV0i.x = R126i.x; -PV0i.y = R126i.y; -PV0i.z = R126i.z; -PV0i.w = R126i.w; -R0i.z = PV1i.w; -PS0i = R0i.z; -// 5 -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(R127i.x))); -R1i.z = PV0i.w; -R1i.w = uf_remappedPS[14].x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(R125i.z))); -// 6 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PS1i)) + 1.5)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(R126i.z))); -// 7 -R0i.x = PV0i.z; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS0i)) + 1.5)); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS0i)) + 1.5)); -PV1i.w = R123i.w; -R0i.y = PV0i.w; -PS1i = R0i.y; -// 8 -R1i.x = PV1i.w; -R1i.y = PV1i.y; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(textureLod(textureUnitPS1, intBitsToFloat(R0i.xy),intBitsToFloat(R0i.w)).xyz); -R1i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R1i.xy),intBitsToFloat(R1i.w)).xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[14].w), intBitsToFloat(R0i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[14].w), intBitsToFloat(backupReg0i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[14].w), intBitsToFloat(R0i.z))); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedPS[15].x))); -PS0i = R0i.x; -// 1 -backupReg0i = R5i.x; -backupReg1i = R5i.y; -backupReg2i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(uf_remappedPS[15].y))); -PS1i = R0i.y; -// 2 -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(uf_remappedPS[15].z))); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].y))); -R127i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].z)) * intBitsToFloat(0x3dcccccd)); -// 1 -R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].x))); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 6 -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(0x3ecccccd))); -// 7 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[16].x))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[16].y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[16].z))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R5i.y))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(R2i.w), 0.0)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R5i.x))); -PV0i.w = R3i.w; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R5i.z))); -PS0i = R126i.x; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), 0.0)); -// 2 -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(PV1i.x)) + 1.0)); -PV0i.w = R123i.w; -// 3 -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.w)) + 1.0)); -PV1i.z = R123i.z; -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[16].y)) + -(intBitsToFloat(R0i.y)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[16].x)) + -(intBitsToFloat(R0i.x)))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[16].z)) + -(intBitsToFloat(R0i.z)))); -PV0i.w = R123i.w; -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R5i.w)) + intBitsToFloat(R0i.z))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R5i.w)) + intBitsToFloat(R0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R5i.w)) + intBitsToFloat(R0i.x))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[17].z)) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[17].y)) + intBitsToFloat(PV1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[17].x)) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.z))); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.z))); -// 9 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.w))); -// 10 -predResult = (intBitsToFloat(uf_remappedPS[18].z) != 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(uf_remappedPS[18].y)); -R0i.w = 0; -PV0i.w = R0i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z)),-(intBitsToFloat(PV0i.w))),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].z)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z), intBitsToFloat(R127i.y))); -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 3 -R126i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[19].x)) + intBitsToFloat(uf_remappedPS[20].x)); -R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[19].y)) + intBitsToFloat(uf_remappedPS[20].y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x41200000)); -// 4 -R127i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[19].z)) + intBitsToFloat(uf_remappedPS[20].z)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[20].w))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(R127i.x))); -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -// 7 -backupReg0i = R126i.x; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[19].x))); -PV1i.x = R126i.x; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[19].z))); -PV1i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[19].y))); -PV1i.w = R127i.w; -// 8 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.z) + -(intBitsToFloat(PV1i.z))); -// 9 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R126i.z)) + intBitsToFloat(R126i.x))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.w))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.z))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R0i.w = floatBitsToInt(1.0); -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -} diff --git a/Source/FASTRacingNEO/935b8d72d8f53ccc_00000000003db249_ps.txt b/Source/FASTRacingNEO/935b8d72d8f53ccc_00000000003db249_ps.txt deleted file mode 100644 index 45299552..00000000 --- a/Source/FASTRacingNEO/935b8d72d8f53ccc_00000000003db249_ps.txt +++ /dev/null @@ -1,646 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 935b8d72d8f53ccc -const float resScale = ; -uniform ivec4 uf_remappedPS[21]; -layout(binding = 0) uniform samplerCubeArray textureUnitPS0;// Tex0 addr 0x1b70a000 res 512x512x1 dim 3 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x6) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 1) uniform samplerCubeArray textureUnitPS1;// Tex1 addr 0x1b70a000 res 512x512x1 dim 3 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x6) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf4385000 res 1280x720x1 dim 1 tm: 4 format 021f compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4a8d000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4e11000 res 1280x720x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex0 = 0.0; -float cubeMapArrayIndex1 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) * resScale); -if( activeMaskStackC[1] == true ) { -R0i.w = floatBitsToInt(texelFetch(textureUnitPS5, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).x); -R1i.xy = floatBitsToInt(texelFetch(textureUnitPS3, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).xy); -R6i.xyzw = floatBitsToInt(texelFetch(textureUnitPS2, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).xyzw); -R4i.xyzw = floatBitsToInt(texelFetch(textureUnitPS4, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R0i.w) * 2.0 + -(1.0))); -R127i.y = floatBitsToInt(intBitsToFloat(R0i.x) + -(intBitsToFloat(uf_remappedPS[0].x))); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(uf_remappedPS[0].y))); -R126i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.x)),intBitsToFloat(R1i.x)) + intBitsToFloat(0x3f800347))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].w)); -// 1 -R126i.x = floatBitsToInt(intBitsToFloat(R6i.w) * intBitsToFloat(0x437f0000)); -PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].w) * 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].z) * 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].z)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].y) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].x) * 1.0); -R125i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedPS[2].w)) + intBitsToFloat(PV1i.y))); -PS0i = R127i.y; -// 3 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + -(1.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[2].y)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[2].z)) + intBitsToFloat(R127i.w))); -PV1i.w = R123i.w; -R125i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.y)),intBitsToFloat(R1i.y)) + intBitsToFloat(R126i.w))); -PS1i = R125i.x; -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(R127i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R125i.w = int(intBitsToFloat(R126i.x)); -PS0i = R125i.w; -// 5 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(PV0i.z))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(PV0i.w))); -R127i.y = floatBitsToInt(sqrt(intBitsToFloat(R125i.x))); -PS1i = R127i.y; -// 6 -backupReg0i = R125i.w; -R126i.x = floatBitsToInt(-(intBitsToFloat(R4i.x)) + 1.0); -R125i.y = R125i.w & 0x00000002; -R126i.z = floatBitsToInt(-(intBitsToFloat(PS1i))); -R125i.w = backupReg0i & 0x00000004; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 7 -R2i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -PV1i.x = R2i.x; -R2i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(PS0i)); -PV1i.y = R2i.y; -R7i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -PV1i.z = R7i.z; -PS1i = floatBitsToInt(sqrt(intBitsToFloat(R4i.y))); -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R4i.y))); -PS0i = R126i.y; -// 9 -R0i.x = ((R125i.w == 0)?(R1i.x):(R1i.x)); -R0i.y = ((R125i.w == 0)?(R1i.y):(R1i.y)); -R1i.z = ((R125i.w == 0)?(R127i.y):(R126i.z)); -PV1i.z = R1i.z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 10 -R3i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R2i.x)), intBitsToFloat(PS1i))); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R2i.y)), intBitsToFloat(PS1i))); -PV0i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R7i.z)), intBitsToFloat(PS1i))); -PV0i.z = R3i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[6].z))); -R8i.z = floatBitsToInt(min(intBitsToFloat(R126i.y), 1.0)); -PS0i = R8i.z; -// 11 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedPS[6].x)); -PV1i.x = R127i.x; -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(uf_remappedPS[6].y)); -PV1i.y = R126i.y; -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(uf_remappedPS[6].z)); -PV1i.z = R126i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x41300000)); -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(PV0i.w))); -PS1i = R125i.x; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -PS0i = R127i.w; -// 13 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 14 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS1i))); -R125i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(R125i.x))); -PS0i = R3i.w; -// 15 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(0x41000000)); -PS1i = R127i.x; -// 16 -backupReg0i = R125i.y; -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R125i.y = floatBitsToInt(max(intBitsToFloat(R3i.w), 0.0)); -R126i.z = floatBitsToInt(max(intBitsToFloat(R125i.w), 0.0)); -R125i.w = floatBitsToInt(min(intBitsToFloat(R8i.z), intBitsToFloat(R126i.x))); -R5i.w = floatBitsToInt(float(backupReg0i)); -R5i.w = clampFI32(R5i.w); -PS0i = R5i.w; -// 17 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 18 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); -R2i.z = floatBitsToInt(min(intBitsToFloat(R4i.w), intBitsToFloat(R125i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.x)); -tempResultf = log2(intBitsToFloat(R126i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 19 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x40a00000)); -R1i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(backupReg0i)) + intBitsToFloat(R3i.x))); -R0i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.y)) + intBitsToFloat(R3i.y))); -R0i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R1i.z)) + intBitsToFloat(R3i.z))); -PV1i.w = R0i.w; -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 20 -PV0i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV1i.w)), intBitsToFloat(uf_remappedPS[7].z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.x))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 21 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R0i.z)),intBitsToFloat(uf_remappedPS[7].y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3d22f983)); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(R4i.x))); -PS1i = R2i.y; -// 22 -R1i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.y)),intBitsToFloat(uf_remappedPS[7].x)) + intBitsToFloat(PV1i.x))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R2i.z))); -PV0i.w = R1i.w; -PS0i = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R0i.w)), intBitsToFloat(uf_remappedPS[8].z))); -// 23 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R0i.z)),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.y = tempi.x; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[9].x))); -PS1i = R5i.x; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R0i.z)),-(intBitsToFloat(R0i.w)),-0.0),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.z = tempi.x; -// 1 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[9].y))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[9].z))); -// 2 -predResult = (uf_remappedPS[5].w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + 1.0); -PS0i = R127i.y; -// 1 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -R127i.x = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(0x3f400000) + 0.25)); -PS1i = R127i.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -PS0i = R127i.w; -// 3 -redcCUBE(vec4(intBitsToFloat(R0i.z),intBitsToFloat(R0i.z),intBitsToFloat(R1i.x),intBitsToFloat(R4i.y)),vec4(intBitsToFloat(R4i.y),intBitsToFloat(R1i.x),intBitsToFloat(R0i.z),intBitsToFloat(R0i.z)),cubeMapSTM,cubeMapFaceId); -R125i.x = floatBitsToInt(cubeMapSTM.x); -R125i.y = floatBitsToInt(cubeMapSTM.y); -R125i.z = floatBitsToInt(cubeMapSTM.z); -R125i.w = cubeMapFaceId; -PV1i.x = R125i.x; -PV1i.y = R125i.y; -PV1i.z = R125i.z; -PV1i.w = R125i.w; -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedPS[14].y))); -PS1i = R0i.w; -// 4 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -backupReg1i = R126i.z; -backupReg2i = R126i.y; -backupReg1i = R126i.z; -redcCUBE(vec4(intBitsToFloat(R126i.z),intBitsToFloat(R126i.z),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); -R126i.x = floatBitsToInt(cubeMapSTM.x); -R126i.y = floatBitsToInt(cubeMapSTM.y); -R126i.z = floatBitsToInt(cubeMapSTM.z); -R126i.w = cubeMapFaceId; -PV0i.x = R126i.x; -PV0i.y = R126i.y; -PV0i.z = R126i.z; -PV0i.w = R126i.w; -R0i.z = PV1i.w; -PS0i = R0i.z; -// 5 -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(R127i.x))); -R1i.z = PV0i.w; -R1i.w = uf_remappedPS[14].x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(R125i.z))); -// 6 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PS1i)) + 1.5)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(R126i.z))); -// 7 -R0i.x = PV0i.z; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS0i)) + 1.5)); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS0i)) + 1.5)); -PV1i.w = R123i.w; -R0i.y = PV0i.w; -PS1i = R0i.y; -// 8 -R1i.x = PV1i.w; -R1i.y = PV1i.y; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(textureLod(textureUnitPS1, vec4(redcCUBEReverse(intBitsToFloat(R0i.xy),R0i.z),cubeMapArrayIndex1),intBitsToFloat(R0i.w)).xyz); -R1i.xyz = floatBitsToInt(textureLod(textureUnitPS0, vec4(redcCUBEReverse(intBitsToFloat(R1i.xy),R1i.z),cubeMapArrayIndex0),intBitsToFloat(R1i.w)).xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[14].w), intBitsToFloat(R0i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[14].w), intBitsToFloat(backupReg0i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[14].w), intBitsToFloat(R0i.z))); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedPS[15].x))); -PS0i = R0i.x; -// 1 -backupReg0i = R5i.x; -backupReg1i = R5i.y; -backupReg2i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(uf_remappedPS[15].y))); -PS1i = R0i.y; -// 2 -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(uf_remappedPS[15].z))); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].y))); -R127i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].z)) * intBitsToFloat(0x3dcccccd)); -// 1 -R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[6].x))); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 6 -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(0x3ecccccd))); -// 7 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[16].x))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[16].y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[16].z))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R5i.y))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(R2i.w), 0.0)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R5i.x))); -PV0i.w = R3i.w; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R5i.z))); -PS0i = R126i.x; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), 0.0)); -// 2 -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(PV1i.x)) + 1.0)); -PV0i.w = R123i.w; -// 3 -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.w)) + 1.0)); -PV1i.z = R123i.z; -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[16].y)) + -(intBitsToFloat(R0i.y)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[16].x)) + -(intBitsToFloat(R0i.x)))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[16].z)) + -(intBitsToFloat(R0i.z)))); -PV0i.w = R123i.w; -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R5i.w)) + intBitsToFloat(R0i.z))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R5i.w)) + intBitsToFloat(R0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R5i.w)) + intBitsToFloat(R0i.x))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[17].z)) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[17].y)) + intBitsToFloat(PV1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[17].x)) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.z))); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.z))); -// 9 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.w))); -// 10 -predResult = (intBitsToFloat(uf_remappedPS[18].z) != 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(uf_remappedPS[18].y)); -R0i.w = 0; -PV0i.w = R0i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z)),-(intBitsToFloat(PV0i.w))),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].z)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z), intBitsToFloat(R127i.y))); -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 3 -R126i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[19].x)) + intBitsToFloat(uf_remappedPS[20].x)); -R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[19].y)) + intBitsToFloat(uf_remappedPS[20].y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x41200000)); -// 4 -R127i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[19].z)) + intBitsToFloat(uf_remappedPS[20].z)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[20].w))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(R127i.x))); -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -// 7 -backupReg0i = R126i.x; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[19].x))); -PV1i.x = R126i.x; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[19].z))); -PV1i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[19].y))); -PV1i.w = R127i.w; -// 8 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.z) + -(intBitsToFloat(PV1i.z))); -// 9 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R126i.z)) + intBitsToFloat(R126i.x))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.w))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.z))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R0i.w = floatBitsToInt(1.0); -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -} diff --git a/Source/FASTRacingNEO/c64145ed80397137_00000000000003c9_ps.txt b/Source/FASTRacingNEO/c64145ed80397137_00000000000003c9_ps.txt deleted file mode 100644 index 2862035e..00000000 --- a/Source/FASTRacingNEO/c64145ed80397137_00000000000003c9_ps.txt +++ /dev/null @@ -1,221 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader c64145ed80397137 -uniform ivec4 uf_remappedPS[6]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2a0e3000 res 32x128x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x396e3800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 2) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem1); -R2i = floatBitsToInt(passParameterSem2); -R3i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -if( activeMaskStackC[1] == true ) { -R0i.xy = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -R4i.x = floatBitsToInt(intBitsToFloat(R0i.w) * intBitsToFloat(0x41000000)); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[0].x) + -(0.5)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(R2i.w)); -PS0i = R127i.z; -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R0i.y)); -// 2 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[1].x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[1].x))); -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z))); -R0i.z = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y))); -// 4 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.w))); -R0i.w = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV1i.w)); -} -if( activeMaskStackC[1] == true ) { -R0i.w = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.zw)).w); -R0i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -backupReg3i = R0i.w; -R0i.x = backupReg0i; -R0i.x = clampFI32(R0i.x); -R0i.y = backupReg1i; -R0i.y = clampFI32(R0i.y); -R0i.z = backupReg2i; -R0i.z = clampFI32(R0i.z); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg3i))); -R0i.w = clampFI32(R0i.w); -// 1 -predResult = (uf_remappedPS[2].w == int(1)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.xyz = ivec3(uf_remappedPS[3].x,uf_remappedPS[3].y,uf_remappedPS[3].z); -R0i.w = uf_remappedPS[3].w; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.w; -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[2].z))); -// 1 -predResult = (uf_remappedPS[2].w == 0x00000002); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(R0i.y)) + intBitsToFloat(uf_remappedPS[3].y)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(uf_remappedPS[3].x)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R0i.z)) + intBitsToFloat(uf_remappedPS[3].z)); -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(backupReg1i))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(backupReg2i))); -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (uf_remappedPS[2].w == 0x00000003); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -backupReg3i = R0i.w; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[3].x))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[3].y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(uf_remappedPS[3].z))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg3i), intBitsToFloat(uf_remappedPS[3].w))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R1i.w = 0; -// 1 -predResult = (uf_remappedPS[2].y != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = ((intBitsToFloat(uf_remappedPS[4].z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (R1i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(uf_remappedPS[5].y))); -R127i.y = floatBitsToInt(intBitsToFloat(R0i.x) + -(intBitsToFloat(uf_remappedPS[5].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(uf_remappedPS[4].y)); -// 1 -backupReg0i = R0i.z; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z), intBitsToFloat(PV0i.w))); -PV1i.z = clampFI32(PV1i.z); -PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedPS[5].z))); -// 2 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[5].x))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[5].y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[5].z))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -// export -//passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -} diff --git a/Source/FASTRacingNEO/e54c6857324898f3_00000000003db249_ps.txt b/Source/FASTRacingNEO/e54c6857324898f3_00000000003db249_ps.txt deleted file mode 100644 index 05341f65..00000000 --- a/Source/FASTRacingNEO/e54c6857324898f3_00000000003db249_ps.txt +++ /dev/null @@ -1,634 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader e54c6857324898f3 -const float resScale = ; -uniform ivec4 uf_remappedPS[20]; -layout(binding = 0) uniform samplerCubeArray textureUnitPS0;// Tex0 addr 0x29119000 res 256x256x1 dim 3 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x6) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 1) uniform samplerCubeArray textureUnitPS1;// Tex1 addr 0x29119000 res 256x256x1 dim 3 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x6) Sampler1 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf4385000 res 1280x720x1 dim 1 tm: 4 format 021f compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4a8d000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 0 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4e11000 res 1280x720x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex0 = 0.0; -float cubeMapArrayIndex1 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) * resScale); -if( activeMaskStackC[1] == true ) { -R0i.w = floatBitsToInt(texelFetch(textureUnitPS5, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R0i.w) * 2.0 + -(1.0))); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(uf_remappedPS[0].y))); -R127i.w = floatBitsToInt(intBitsToFloat(R0i.x) + -(intBitsToFloat(uf_remappedPS[0].x))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].w)); -// 1 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].z) * 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].w) * 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].z)); -// 2 -R125i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].y) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].x) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedPS[2].w)) + intBitsToFloat(PV1i.w))); -PS0i = R127i.w; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedPS[2].y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedPS[2].z)) + intBitsToFloat(R126i.x))); -PV1i.w = R123i.w; -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.x)),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.x)),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.x)),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.x)),intBitsToFloat(uf_remappedPS[3].w)) + intBitsToFloat(R127i.w))); -PV0i.w = R123i.w; -// 5 -backupReg0i = R127i.y; -backupReg0i = R127i.y; -backupReg0i = R127i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PV0i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[4].w)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 6 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 7 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -PV1i.x = R125i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.z = R127i.z; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[5].w)); -PS1i = R127i.y; -// 8 -R1i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(uf_remappedPS[5].x)); -PV0i.x = R1i.x; -R1i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(uf_remappedPS[5].y)); -PV0i.y = R1i.y; -R0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[5].z)); -PV0i.z = R0i.z; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(PV1i.z)); -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 10 -PV0i.x = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R0i.z)); -R123i.y = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(R125i.x) + intBitsToFloat(PS1i))); -PV0i.y = R123i.y; -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 11 -R123i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(R127i.y)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(tempResultf); -// 12 -R123i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(R1i.x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R4i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R125i.x)), intBitsToFloat(PS1i))); -R1i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R1i.z = clampFI32(R1i.z); -PV0i.z = R1i.z; -R0i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R126i.y)), intBitsToFloat(PS1i))); -R2i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R127i.z)), intBitsToFloat(PS1i))); -PS0i = R2i.z; -// 13 -if( (intBitsToFloat(PV0i.z) == 0.0)) discard; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R2i.y = floatBitsToInt(tempResultf); -PS1i = R2i.y; -} -if( activeMaskStackC[1] == true ) { -R3i.xy = floatBitsToInt(texelFetch(textureUnitPS3, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).xy); -R5i.xyzw = floatBitsToInt(texelFetch(textureUnitPS2, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).xyzw); -R6i.xyz = floatBitsToInt(texelFetch(textureUnitPS4, ivec2(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y)), 0).xyz); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R1i.x; -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.y))); -PV0i.x = R1i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.x)),intBitsToFloat(R3i.x)) + intBitsToFloat(0x3f800347))); -PV0i.y = R123i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R2i.y))); -PV0i.z = R125i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R2i.y))); -PV0i.w = R127i.w; -PS0i = floatBitsToInt(intBitsToFloat(R5i.w) * intBitsToFloat(0x437f0000)); -// 1 -R126i.x = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.z = R126i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.y)),intBitsToFloat(R3i.y)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -R127i.z = int(intBitsToFloat(PS0i)); -PS1i = R127i.z; -// 2 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R127i.x = floatBitsToInt(sqrt(intBitsToFloat(PV1i.w))); -PS0i = R127i.x; -// 3 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -R124i.x = floatBitsToInt(-(intBitsToFloat(R6i.x)) + 1.0); -R126i.y = floatBitsToInt(-(intBitsToFloat(PS0i))); -R127i.z = backupReg0i & 0x00000004; -PV1i.z = R127i.z; -R125i.w = backupReg0i & 0x00000002; -PS1i = floatBitsToInt(sqrt(intBitsToFloat(R6i.y))); -// 4 -R0i.x = ((PV1i.z == 0)?(R3i.x):(R3i.x)); -R0i.y = ((PV1i.z == 0)?(R3i.y):(R3i.y)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(R6i.y))); -PV0i.w = R123i.w; -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R0i.z = ((R127i.z == 0)?(R127i.x):(R126i.y)); -PV1i.z = R0i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS0i))); -R3i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PS1i = R3i.z; -// 6 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x41300000)); -// 7 -backupReg0i = R0i.z; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R2i.z))); -R126i.y = floatBitsToInt(min(intBitsToFloat(R3i.z), intBitsToFloat(R124i.x))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PS0i))); -PS1i = R127i.w; -// 8 -backupReg0i = R0i.y; -R3i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R4i.y),intBitsToFloat(R0i.w),1.0,0.0))); -PV0i.x = R3i.x; -PV0i.y = R3i.x; -PV0i.z = R3i.x; -PV0i.w = R3i.x; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -backupReg0i = R0i.y; -backupReg1i = R125i.z; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R2i.z))); -R125i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(0x41000000)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)) + intBitsToFloat(R126i.w))); -PS1i = R122i.x; -// 10 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R0i.w)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 11 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(R4i.y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R125i.z))); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 12 -R124i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3d22f983)); -R127i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x40a00000)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.x)); -tempResultf = log2(intBitsToFloat(R1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.x)) + intBitsToFloat(R4i.y))); -R2i.y = R2i.w; -R2i.y = clampFI32(R2i.y); -PV1i.y = R2i.y; -R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.y)) + intBitsToFloat(R0i.w))); -R124i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R0i.z)) + intBitsToFloat(R2i.z))); -PV1i.w = R124i.w; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].x), intBitsToFloat(PS0i))); -PS1i = R126i.w; -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV1i.w)), intBitsToFloat(uf_remappedPS[8].z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PV1i.y))); -PV0i.w = R127i.w; -PS0i = floatBitsToInt(exp2(intBitsToFloat(R127i.y))); -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(uf_remappedPS[8].y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[9].y))); -R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.y)) + intBitsToFloat(R6i.x))); -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[9].x))); -PS1i = R4i.x; -// 16 -R1i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.x)),intBitsToFloat(uf_remappedPS[8].x)) + intBitsToFloat(PV1i.x))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedPS[9].z))); -R3i.w = floatBitsToInt(float(R125i.w)); -R3i.w = clampFI32(R3i.w); -PS0i = R3i.w; -// 17 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R125i.z)),-(intBitsToFloat(R124i.w)),-0.0),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.y = tempi.x; -R3i.y = floatBitsToInt(exp2(intBitsToFloat(R126i.w))); -PS1i = R3i.y; -// 18 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R125i.z)),-(intBitsToFloat(R124i.w)),-0.0),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = tempi.x; -// 19 -predResult = (uf_remappedPS[6].w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),-0.0),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R3i.z)) + 1.0); -PS0i = R127i.y; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),-0.0),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),-0.0),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -// 3 -backupReg0i = R127i.y; -redcCUBE(vec4(intBitsToFloat(R1i.z),intBitsToFloat(R1i.z),intBitsToFloat(R1i.x),intBitsToFloat(R1i.y)),vec4(intBitsToFloat(R1i.y),intBitsToFloat(R1i.x),intBitsToFloat(R1i.z),intBitsToFloat(R1i.z)),cubeMapSTM,cubeMapFaceId); -R127i.x = floatBitsToInt(cubeMapSTM.x); -R127i.y = floatBitsToInt(cubeMapSTM.y); -R127i.z = floatBitsToInt(cubeMapSTM.z); -R127i.w = cubeMapFaceId; -PV1i.x = R127i.x; -PV1i.y = R127i.y; -PV1i.z = R127i.z; -PV1i.w = R127i.w; -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[15].y))); -PS1i = R0i.w; -// 4 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -backupReg1i = R126i.z; -backupReg2i = R126i.y; -backupReg1i = R126i.z; -redcCUBE(vec4(intBitsToFloat(R126i.z),intBitsToFloat(R126i.z),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg1i)),cubeMapSTM,cubeMapFaceId); -R126i.x = floatBitsToInt(cubeMapSTM.x); -R126i.y = floatBitsToInt(cubeMapSTM.y); -R126i.z = floatBitsToInt(cubeMapSTM.z); -R126i.w = cubeMapFaceId; -PV0i.x = R126i.x; -PV0i.y = R126i.y; -PV0i.z = R126i.z; -PV0i.w = R126i.w; -R0i.z = PV1i.w; -PS0i = R0i.z; -// 5 -R2i.x = floatBitsToInt((0.0 * intBitsToFloat(uf_remappedPS[6].x) + 1.0)); -R1i.z = PV0i.w; -R1i.w = uf_remappedPS[15].x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(R127i.z))); -// 6 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS1i)) + 1.5)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(R126i.z))); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS0i)) + 1.5)); -PV1i.x = R123i.x; -R0i.y = PV0i.w; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS0i)) + 1.5)); -PV1i.w = R123i.w; -R0i.x = PV0i.z; -PS1i = R0i.x; -// 8 -R1i.x = PV1i.x; -R1i.y = PV1i.w; -} -if( activeMaskStackC[2] == true ) { -R0i.xyz = floatBitsToInt(textureLod(textureUnitPS1, vec4(redcCUBEReverse(intBitsToFloat(R0i.xy),R0i.z),cubeMapArrayIndex1),intBitsToFloat(R0i.w)).xyz); -R1i.xyz = floatBitsToInt(textureLod(textureUnitPS0, vec4(redcCUBEReverse(intBitsToFloat(R1i.xy),R1i.z),cubeMapArrayIndex0),intBitsToFloat(R1i.w)).xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].w), intBitsToFloat(R0i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].w), intBitsToFloat(backupReg0i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[15].w), intBitsToFloat(R0i.z))); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedPS[16].x))); -PS0i = R0i.x; -// 1 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(uf_remappedPS[16].y))); -PS1i = R0i.y; -// 2 -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(uf_remappedPS[16].z))); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[17].y))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[17].z)) * intBitsToFloat(0x3dcccccd)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[17].x))); -PV0i.z = R127i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -// 4 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 5 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x3ecccccd))); -// 6 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[18].x))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[18].y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[18].z))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(R4i.y))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(R3i.x), 0.0)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(R4i.x))); -PV0i.w = R2i.w; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(R4i.z))); -PS0i = R126i.x; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), 0.0)); -R0i.w = floatBitsToInt(1.0); -// 2 -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(PV1i.x)) + 1.0)); -PV0i.w = R123i.w; -// 3 -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.w)) + 1.0)); -PV1i.z = R123i.z; -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[18].y)) + -(intBitsToFloat(R0i.y)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[18].x)) + -(intBitsToFloat(R0i.x)))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[18].z)) + -(intBitsToFloat(R0i.z)))); -PV0i.w = R123i.w; -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.w)) + intBitsToFloat(R0i.z))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.w)) + intBitsToFloat(R0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.w)) + intBitsToFloat(R0i.x))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[19].z)) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[19].y)) + intBitsToFloat(PV1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[19].x)) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV0i.z))); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.z))); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -// 10 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV1i.z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV1i.y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV1i.x))); -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -} diff --git a/Source/FASTRacingNEO/f0d0fb541a9e26ea_0000000000000079_ps.txt b/Source/FASTRacingNEO/f0d0fb541a9e26ea_0000000000000079_ps.txt deleted file mode 100644 index 19bb6f6e..00000000 --- a/Source/FASTRacingNEO/f0d0fb541a9e26ea_0000000000000079_ps.txt +++ /dev/null @@ -1,57 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader f0d0fb541a9e26ea -const float resScale = ; -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3750b000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) * resScale; -// 0 -R1f.w = 1.0; -PS0f = 1.0 / intBitsToFloat(uf_remappedPS[0].x); -// 1 -backupReg0f = R0f.y; -PV1f.y = R0f.x * PS0f; -PV1f.w = backupReg0f * PS0f; -// 2 -PV0f.x = floor(PV1f.y); -PV0f.z = floor(PV1f.w); -// 3 -R0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), PV0f.x); -R0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), PV0f.z); -R1f.xyz = (texelFetch(textureUnitPS0, ivec2(R0f.x, R0f.y), 0).xyz); -// export -passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -} diff --git a/Source/FASTRacingNEO/rules.txt b/Source/FASTRacingNEO/rules.txt index 1b0218c0..db073ad2 100644 --- a/Source/FASTRacingNEO/rules.txt +++ b/Source/FASTRacingNEO/rules.txt @@ -1,49 +1,271 @@ - [Definition] titleIds = 000500001012f000,00050000101d6000,00050000101e4100 -name = "FAST Racing NEO - " -version = 2 +name = Resolution +path = "Fast Racing Neo/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 -[TextureRedefine] # TV +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] # Game Resolution width = 1280 height = 720 -formatsExcluded = 0x433 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 1280 +overwriteHeight = ($height / $gameHeight) * 720 -[TextureRedefine] # Half-width 1 +[TextureRedefine] # Light Shafts Pass +width = 1024 +height = 512 +formats = 0x1 +overwriteWidth = ($width / $gameWidth) * 1024 +overwriteHeight = ($height / $gameHeight) * 512 + +[TextureRedefine] # Light Shafts Pass Mip +width = 512 +height = 256 +formats = 0x1 +overwriteWidth = ($width / $gameWidth) * 512 +overwriteHeight = ($height / $gameHeight) * 256 + +[TextureRedefine] # Bloom Pass width = 640 -height = 720 -overwriteWidth = -overwriteHeight = +height = 368 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 368 -[TextureRedefine] # Half-res +[TextureRedefine] # Bloom Pass width = 640 height = 360 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 360 -[TextureRedefine] # Half-width 2 +[TextureRedefine] # Bloom Pass Mip width = 320 -height = 360 -overwriteWidth = -overwriteHeight = +height = 192 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 192 -[TextureRedefine] # Q-res -width = 160 +[TextureRedefine] # Bloom Pass Mip +width = 320 height = 180 -overwriteWidth = -overwriteHeight = +formatsExcluded = 0x41a +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 180 -[TextureRedefine] # gamepad +[TextureRedefine] # Bloom Pass Mip +width = 160 +height = 96 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 96 + +[TextureRedefine] # Bloom Pass Mip +width = 160 +height = 90 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 90 + +[TextureRedefine] # Bloom Pass Mip +width = 96 +height = 48 +overwriteWidth = ($width / $gameWidth) * 96 +overwriteHeight = ($height / $gameHeight) * 48 + +[TextureRedefine] # Bloom Pass Mip +width = 80 +height = 45 +overwriteWidth = ($width / $gameWidth) * 80 +overwriteHeight = ($height / $gameHeight) * 45 + +[TextureRedefine] # Bloom Pass Mip +width = 64 +height = 32 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 64 +overwriteHeight = ($height / $gameHeight) * 32 + +[TextureRedefine] # Bloom Pass Mip +width = 40 +height = 22 +overwriteWidth = ($width / $gameWidth) * 40 +overwriteHeight = ($height / $gameHeight) * 22 + +[TextureRedefine] # Gamepad Resolution width = 854 height = 480 -#overwriteWidth = -#overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 854 +overwriteHeight = ($height / $gameHeight) * 480 + +[TextureRedefine] # Game Resolution +width = 1280 +height = 592 +overwriteWidth = ($width / $gameWidth) * 1280 +overwriteHeight = ($height / $gameHeight) * 592 + +[TextureRedefine] # Game Resolution +width = 1280 +height = 580 +overwriteWidth = ($width / $gameWidth) * 1280 +overwriteHeight = ($height / $gameHeight) * 580 + +[TextureRedefine] # Bloom Pass +width = 640 +height = 304 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 304 + +[TextureRedefine] # Bloom Pass +width = 640 +height = 290 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 290 + +[TextureRedefine] # Bloom Pass Mip +width = 320 +height = 160 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 160 + +[TextureRedefine] # Bloom Pass Mip +width = 320 +height = 145 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 145 + +[TextureRedefine] # Bloom Pass Mip +width = 160 +height = 80 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 80 + +[TextureRedefine] # Bloom Pass Mip +width = 160 +height = 72 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 72 + +[TextureRedefine] # Bloom Pass Mip +width = 96 +height = 48 +overwriteWidth = ($width / $gameWidth) * 96 +overwriteHeight = ($height / $gameHeight) * 48 + +[TextureRedefine] # Bloom Pass Mip +width = 80 +height = 36 +overwriteWidth = ($width / $gameWidth) * 80 +overwriteHeight = ($height / $gameHeight) * 36 + +[TextureRedefine] # Bloom Pass Mip +width = 40 +height = 18 +overwriteWidth = ($width / $gameWidth) * 40 +overwriteHeight = ($height / $gameHeight) * 18 diff --git a/Source/FamilyTennisSP/rules.txt b/Source/FamilyTennisSP/rules.txt deleted file mode 100644 index d897d752..00000000 --- a/Source/FamilyTennisSP/rules.txt +++ /dev/null @@ -1,24 +0,0 @@ - -[Definition] -titleIds = 000500001019AE00,00050000101A2C00 -name = "Family Tennis SP - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/FistoftheNorthStar/rules.txt b/Source/FistoftheNorthStar/rules.txt deleted file mode 100644 index a537f1b7..00000000 --- a/Source/FistoftheNorthStar/rules.txt +++ /dev/null @@ -1,49 +0,0 @@ - -[Definition] -titleIds = 0005000010116600,000500001012B800 -name = "Fist of the North Star: Ken's Rage 2 - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res 2 -width = 322 -height = 182 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # o-res -width = 160 -height = 90 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # o-res 2 -width = 162 -height = 92 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/FrenchyBird/rules.txt b/Source/FrenchyBird/rules.txt deleted file mode 100644 index 168c691f..00000000 --- a/Source/FrenchyBird/rules.txt +++ /dev/null @@ -1,30 +0,0 @@ - -[Definition] -titleIds = 000500001017DC00,0005000010182800 -name = "Frenchy Bird - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/GhostBladeHD/rules.txt b/Source/GhostBladeHD/rules.txt deleted file mode 100644 index d7566eb4..00000000 --- a/Source/GhostBladeHD/rules.txt +++ /dev/null @@ -1,139 +0,0 @@ - - -[Definition] -titleIds = 00050000101FFC00 -name = "Ghost Blade HD - " -version = 2 - -[TextureRedefine] -width = 1280 -height = 720 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 1280 -height = 220 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 1280 -height = 183 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 1280 -height = 147 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 1280 -height = 109 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 1280 -height = 73 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 1280 -height = 36 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 854 -height = 480 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 576 -height = 720 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 435 -height = 293 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 435 -height = 256 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 435 -height = 220 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 435 -height = 183 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 435 -height = 147 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 435 -height = 109 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 435 -height = 73 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 435 -height = 36 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 352 -height = 720 -#formatsExcluded = -overwriteWidth = -overwriteHeight = diff --git a/Source/GhostlyAdventures/rules.txt b/Source/GhostlyAdventures/rules.txt deleted file mode 100644 index ed915ac8..00000000 --- a/Source/GhostlyAdventures/rules.txt +++ /dev/null @@ -1,44 +0,0 @@ - -[Definition] -titleIds = 0005000010146300,0005000010147900 -name = "Pac-Man and the Ghostly Adventures - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -formatsExcluded = 0x031,0x033 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #o-res -width = 160 -height = 90 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/GhostlyAdventures2/rules.txt b/Source/GhostlyAdventures2/rules.txt deleted file mode 100644 index 8dc639ea..00000000 --- a/Source/GhostlyAdventures2/rules.txt +++ /dev/null @@ -1,44 +0,0 @@ - -[Definition] -titleIds = 000500001017E600,000500001017E500 -name = "Pac-Man and the Ghostly Adventures 2 - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -formatsExcluded = 0x031,0x033 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #o-res -width = 160 -height = 90 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/GianaSistersTwistedDreams/rules.txt b/Source/GianaSistersTwistedDreams/rules.txt deleted file mode 100644 index cd9552b4..00000000 --- a/Source/GianaSistersTwistedDreams/rules.txt +++ /dev/null @@ -1,46 +0,0 @@ - -[Definition] -titleIds = 000500001014c600, 000500001014cb00 -name = "Giana Sisters Twisted Dreams - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -formatsExcluded = 0x008,0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res alpha -width = 640 -height = 360 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 32 -height = 32 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 64 -height = 64 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -formatsExcluded = 0x33 -width = 128 -height = 128 -overwriteWidth = -overwriteHeight = diff --git a/Source/Guacamelee/rules.txt b/Source/Guacamelee/rules.txt deleted file mode 100644 index 2acbba76..00000000 --- a/Source/Guacamelee/rules.txt +++ /dev/null @@ -1,25 +0,0 @@ - -[Definition] -titleIds = 0005000010176800,0005000010179700 -name = "Guacamelee! Super Turbo Championship Edition - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/HyruleWarriors/patches.txt b/Source/HyruleWarriors/patches.txt deleted file mode 100644 index 13bffd16..00000000 --- a/Source/HyruleWarriors/patches.txt +++ /dev/null @@ -1,20 +0,0 @@ - -[HyruleWarriors_219v208] -moduleMatches = 0xE159AE91 - -#rodata constant changes - -0x1009609C = .float -0x10096124 = .float -0x10096948 = .float -0x10096974 = .float diff --git a/Source/HyruleWarriors/rules.txt b/Source/HyruleWarriors/rules.txt deleted file mode 100644 index 5593542a..00000000 --- a/Source/HyruleWarriors/rules.txt +++ /dev/null @@ -1,107 +0,0 @@ - -[Definition] -titleIds = 000500001017D800,000500001017D900,000500001017CD00 -name = "Hyrule Warriors - " -version = 2 - -[TextureRedefine] #Game Resolution -width = 1280 -height = 720 -formatsExcluded = 0x431,0x433 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Game Resolution (Co-Op) -width = 864 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Gamepad (Co-Op) -width = 648 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Only saw depth in Nsight -width = 640 -height = 360 -formatsExcluded = 0x35 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Lighting? -width = 322 -height = 182 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Dupe of Main Game -width = 320 -height = 180 -formatsExcluded = 0x35,0x433 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Lighting Blur? -width = 162 -height = 92 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Lighting Blur? -width = 160 -height = 90 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Dupe of Main Game? -width = 64 -height = 64 -formats = 0x005 -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] #Dupe of Main Game? -width = 16 -height = 16 -formats = 0x005 -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] #Dupe of Main Game? -width = 4 -height = 4 -formats = 0x005 -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] #Dupe of Main Game? -width = 1 -height = 1 -formats = 0x005 -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] # shadows -width = 1024 -height = 2048 -formats = 0x005 -overwriteWidth = -overwriteHeight = diff --git a/Source/InfinityRunner/rules.txt b/Source/InfinityRunner/rules.txt deleted file mode 100644 index 9a7dba80..00000000 --- a/Source/InfinityRunner/rules.txt +++ /dev/null @@ -1,25 +0,0 @@ - -[Definition] -titleIds = 0005000010183C00,0005000010184400 -name = "Infinity Runner - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -formatsExcluded = 0x031,0x033 #exclude intro/menu background -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/KamenRider/rules.txt b/Source/KamenRider/rules.txt deleted file mode 100644 index f5e788f2..00000000 --- a/Source/KamenRider/rules.txt +++ /dev/null @@ -1,24 +0,0 @@ - -[Definition] -titleIds = 0005000010170700 -name = "Kamen Rider - Battride War II - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/KickandFennick/rules.txt b/Source/KickandFennick/rules.txt deleted file mode 100644 index 799f6b74..00000000 --- a/Source/KickandFennick/rules.txt +++ /dev/null @@ -1,36 +0,0 @@ - -[Definition] -titleIds = 00050000101DC300,00050000101D9700 -name = "Kick and Fennick - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/KirbyRainbowCurse/rules.txt b/Source/KirbyRainbowCurse/rules.txt deleted file mode 100644 index af31795e..00000000 --- a/Source/KirbyRainbowCurse/rules.txt +++ /dev/null @@ -1,76 +0,0 @@ - -[Definition] -titleIds = 00050000101ABC00 -name = "Kirby and the Rainbow Curse - " -version = 2 - -[TextureRedefine] # tv -width = 1024 -height = 576 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # tv -width = 1025 -height = 577 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # tv ui 1 -width = 1280 -height = 720 -formatsExcluded = 0x41a,0x034 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # tv ui 2 -width = 1281 -height = 721 -formatsExcluded = 0x41a,0x034 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 512 -height = 288 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res -width = 256 -height = 144 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 855 -height = 481 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad half-res -width = 427 -height = 240 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad q-res -width = 213 -height = 120 -overwriteWidth = -overwriteHeight = diff --git a/Source/KungFuPanda/rules.txt b/Source/KungFuPanda/rules.txt deleted file mode 100644 index f9eedd67..00000000 --- a/Source/KungFuPanda/rules.txt +++ /dev/null @@ -1,37 +0,0 @@ - -[Definition] -titleIds = 00050000101A6500,00050000101AA500 -name = "Kung Fu Panda: Showdown of Legendary Legends - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -formatsExcluded = 0x041a,0x433,0x431 #exclude intro/menu backgrounds -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine]# q-res -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/LEGOCityUndercover/rules.txt b/Source/LEGOCityUndercover/rules.txt deleted file mode 100644 index 36b4a2d7..00000000 --- a/Source/LEGOCityUndercover/rules.txt +++ /dev/null @@ -1,37 +0,0 @@ - -[Definition] -titleIds = 0005000010101A00,0005000010101B00 -name = "LEGO City Undercover - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/M&SRio2016/rules.txt b/Source/M&SRio2016/rules.txt new file mode 100644 index 00000000..8c7efe03 --- /dev/null +++ b/Source/M&SRio2016/rules.txt @@ -0,0 +1,313 @@ +[Definition] +titleIds = 0005000010190300,00050000101E5300,00050000101E5400 +name = Resolution +path = "Mario & Sonic at the Rio 2016 Olympic Games/Graphics/Resolution" +description = Changes the resolution of the game. Known issues: Lower resolution results in a "deep-fried" look. Depth of field and bloom needs shader edits. +version = 3 + +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] # Game Resolution +width = 1280 +height = 720 +formatsExcluded = 0x31,0x33 +tileModesExcluded = 0x001 +overwriteWidth = ($width / $gameWidth) * 1280 +overwriteHeight = ($height / $gameHeight) * 720 + +[TextureRedefine] +width = 768 +height = 480 +overwriteWidth = ($width / $gameWidth) * 768 +overwriteHeight = ($height / $gameHeight) * 480 + +[TextureRedefine] +width = 746 +height = 470 +overwriteWidth = ($width / $gameWidth) * 746 +overwriteHeight = ($height / $gameHeight) * 470 + +[TextureRedefine] +width = 768 +height = 432 +overwriteWidth = ($width / $gameWidth) * 768 +overwriteHeight = ($height / $gameHeight) * 432 + +[TextureRedefine] +width = 746 +height = 420 +overwriteWidth = ($width / $gameWidth) * 746 +overwriteHeight = ($height / $gameHeight) * 420 + +[TextureRedefine] +width = 576 +height = 432 +overwriteWidth = ($width / $gameWidth) * 576 +overwriteHeight = ($height / $gameHeight) * 432 + +[TextureRedefine] +width = 570 +height = 420 +overwriteWidth = ($width / $gameWidth) * 570 +overwriteHeight = ($height / $gameHeight) * 420 + +[TextureRedefine] +width = 544 +height = 384 +overwriteWidth = ($width / $gameWidth) * 544 +overwriteHeight = ($height / $gameHeight) * 384 + +[TextureRedefine] +width = 533 +height = 380 +overwriteWidth = ($width / $gameWidth) * 533 +overwriteHeight = ($height / $gameHeight) * 380 + +[TextureRedefine] +width = 512 +height = 480 +overwriteWidth = ($width / $gameWidth) * 512 +overwriteHeight = ($height / $gameHeight) * 480 + +[TextureRedefine] +width = 490 +height = 476 +overwriteWidth = ($width / $gameWidth) * 490 +overwriteHeight = ($height / $gameHeight) * 476 + +[TextureRedefine] +width = 320 +height = 192 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 192 + +[TextureRedefine] +width = 320 +height = 180 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 180 + +[TextureRedefine] +width = 256 +height = 96 +overwriteWidth = ($width / $gameWidth) * 256 +overwriteHeight = ($height / $gameHeight) * 96 + +[TextureRedefine] +width = 160 +height = 96 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 96 + +[TextureRedefine] +width = 160 +height = 90 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 90 + +[TextureRedefine] +width = 128 +height = 48 +overwriteWidth = ($width / $gameWidth) * 128 +overwriteHeight = ($height / $gameHeight) * 48 + +[TextureRedefine] +width = 80 +height = 45 +overwriteWidth = ($width / $gameWidth) * 80 +overwriteHeight = ($height / $gameHeight) * 45 + +[TextureRedefine] +width = 64 +height = 64 +formats = 0x80e +overwriteWidth = ($width / $gameWidth) * 64 +overwriteHeight = ($height / $gameHeight) * 64 + +[TextureRedefine] +width = 64 +height = 32 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 64 +overwriteHeight = ($height / $gameHeight) * 32 + +[TextureRedefine] +width = 40 +height = 22 +overwriteWidth = ($width / $gameWidth) * 40 +overwriteHeight = ($height / $gameHeight) * 22 + +[TextureRedefine] +width = 32 +height = 16 +formats = 0x816,0x80e +overwriteWidth = ($width / $gameWidth) * 32 +overwriteHeight = ($height / $gameHeight) * 16 + +[TextureRedefine] +width = 20 +height = 11 +overwriteWidth = ($width / $gameWidth) * 20 +overwriteHeight = ($height / $gameHeight) * 11 + +[TextureRedefine] +width = 16 +height = 16 +formats = 0x80e +overwriteWidth = ($width / $gameWidth) * 16 +overwriteHeight = ($height / $gameHeight) * 16 + +[TextureRedefine] +width = 16 +height = 8 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 16 +overwriteHeight = ($height / $gameHeight) * 8 + +[TextureRedefine] +width = 10 +height = 5 +overwriteWidth = ($width / $gameWidth) * 10 +overwriteHeight = ($height / $gameHeight) * 5 + +[TextureRedefine] +width = 8 +height = 8 +formats = 0x816,0x80e +overwriteWidth = ($width / $gameWidth) * 8 +overwriteHeight = ($height / $gameHeight) * 8 + +[TextureRedefine] +width = 5 +height = 2 +overwriteWidth = ($width / $gameWidth) * 5 +overwriteHeight = ($height / $gameHeight) * 2 + +[TextureRedefine] +width = 4 +height = 4 +formats = 0x80e +overwriteWidth = ($width / $gameWidth) * 4 +overwriteHeight = ($height / $gameHeight) * 4 + +[TextureRedefine] +width = 1 +height = 1 +formats = 0x816,0x80e +overwriteWidth = ($width / $gameWidth) * 1 +overwriteHeight = ($height / $gameHeight) * 1 + +[TextureRedefine] # Gamepad Resolution +width = 864 +height = 480 +overwriteWidth = ($width / $gameWidth) * 864 +overwriteHeight = ($height / $gameHeight) * 480 diff --git a/Source/MarioKart8/2e78a0d0a0aa66bb_0000000000000000_vs.txt b/Source/MarioKart8/2e78a0d0a0aa66bb_0000000000000000_vs.txt index 8cd97aa5..f02e0252 100644 --- a/Source/MarioKart8/2e78a0d0a0aa66bb_0000000000000000_vs.txt +++ b/Source/MarioKart8/2e78a0d0a0aa66bb_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable // shader 2e78a0d0a0aa66bb -// horizontal bloom blur texture coordinates -const float resXScale = ; -const float resYScale = ; +// Used for: Horizontal (Menu) Bloom Blur +const float resScale = ($width/$gameWidth); uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; @@ -34,7 +26,7 @@ else if( v == 0xFFFFFFFF ) return floatBitsToInt(0.0); return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); } -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} void main() { vec4 R0f = vec4(0.0); @@ -73,11 +65,11 @@ R1f.y = backupReg1f; R1f.y *= 2.0; R1f.z = 0.0; R1f.w = 1.0; -R127f.y = intBitsToFloat(uf_remappedVS[0].x) * intBitsToFloat(0x3fb13a93) / resYScale; +R127f.y = intBitsToFloat(uf_remappedVS[0].x) * (intBitsToFloat(0x3fb13a93)/resScale); PS0f = R127f.y; // 1 -PV1f.x = intBitsToFloat(uf_remappedVS[0].x) * intBitsToFloat(0x404ec4f0) / resXScale; -R126f.y = intBitsToFloat(uf_remappedVS[0].x) * intBitsToFloat(0x40a275f7) / resYScale; +PV1f.x = intBitsToFloat(uf_remappedVS[0].x) * (intBitsToFloat(0x404ec4f0)/resScale); +R126f.y = intBitsToFloat(uf_remappedVS[0].x) * (intBitsToFloat(0x40a275f7)/resScale); R3f.z = R2f.x + PS0f; R3f.w = R2f.x; R3f.x = R2f.y; diff --git a/Source/MarioKart8/74126253134563de_0000000000000000_vs.txt b/Source/MarioKart8/74126253134563de_0000000000000000_vs.txt index 8fc605cd..9c310e84 100644 --- a/Source/MarioKart8/74126253134563de_0000000000000000_vs.txt +++ b/Source/MarioKart8/74126253134563de_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable // shader 74126253134563de -// Used for: Background blur Vertical Pass -const float resXScale = ; -const float resYScale = ; +// Used for: Vertical Menu Background Blur +const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; @@ -30,7 +23,7 @@ else if( v == 0xFFFFFFFF ) return floatBitsToInt(0.0); return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); } -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} void main() { vec4 R0f = vec4(0.0); @@ -62,7 +55,7 @@ R126f.z = (0.0 > R1f.x)?1.0:0.0; R126f.z /= 2.0; R127f.w = 1.0; PV0f.w = R127f.w; -R126f.x = intBitsToFloat(uf_remappedVS[0].w)/resXScale * intBitsToFloat(0x3fae8a72); +R126f.x = intBitsToFloat(uf_remappedVS[0].w) * (intBitsToFloat(0x3fae8a72)/3); PS0f = R126f.x; // 1 R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); diff --git a/Source/MarioKart8/a9bf96a840b38cc8_0000000000000000_vs.txt b/Source/MarioKart8/a9bf96a840b38cc8_0000000000000000_vs.txt deleted file mode 100644 index c0065aed..00000000 --- a/Source/MarioKart8/a9bf96a840b38cc8_0000000000000000_vs.txt +++ /dev/null @@ -1,156 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader a9bf96a840b38cc8 -//Motion blur turbo -const float resScale = ; -uniform ivec4 uf_remappedVS[2]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ - -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R125f.x = mul_nonIEEE(R1f.x, intBitsToFloat(uf_remappedVS[0].x)); -PV0f.x = R125f.x; -R127f.y = intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(0x3e124925)/resScale; -PV0f.y = R127f.y; -R1f.z = intBitsToFloat(uf_remappedVS[1].z); -R127f.w = mul_nonIEEE(R1f.y, intBitsToFloat(uf_remappedVS[0].y)); -PV0f.w = R127f.w; -R1f.w = 1.0; -PS0f = R1f.w; -// 1 -R126f.x = (intBitsToFloat(uf_remappedVS[1].y) * 0.5 + 0.5); -PV1f.x = R126f.x; -PV1f.y = PV0f.w; -PV1f.y *= 2.0; -PV1f.z = PV0f.x; -PV1f.z *= 2.0; -R123f.w = (mul_nonIEEE(PV0f.w,-(PV0f.y)) + PV0f.w); -PV1f.w = R123f.w; -R126f.y = (-(PV0f.y) * 2.0 + 1.0); -PS1f = R126f.y; -// 2 -R1f.x = PV1f.z + intBitsToFloat(uf_remappedVS[1].x); -R1f.y = PV1f.y + intBitsToFloat(uf_remappedVS[1].y); -R126f.z = (-(R127f.y) * intBitsToFloat(0x40400000) + 1.0); -PV0f.z = R126f.z; -PV0f.w = PV1f.x + PV1f.w; -R127f.x = (mul_nonIEEE(R127f.w,PS1f) + PV1f.x); -PS0f = R127f.x; -// 3 -R123f.x = (mul_nonIEEE(R127f.w,PV0f.z) + R126f.x); -PV1f.x = R123f.x; -R125f.y = (intBitsToFloat(uf_remappedVS[1].x) * 0.5 + 0.5); -PV1f.y = R125f.y; -R123f.z = (mul_nonIEEE(R125f.x,-(R127f.y)) + R125f.x); -PV1f.z = R123f.z; -R126f.w = (-(R127f.y) * 4.0 + 1.0); -PV1f.w = R126f.w; -R127f.z = PV0f.w; -PS1f = R127f.z; -// 4 -backupReg0f = R127f.w; -PV0f.x = PV1f.x; -R127f.y = (mul_nonIEEE(R127f.w,PV1f.w) + R126f.x); -PV0f.z = R127f.x; -R127f.w = backupReg0f + R126f.x; -R2f.x = PV1f.y + PV1f.z; -PS0f = R2f.x; -// 5 -backupReg0f = R126f.z; -R3f.x = (mul_nonIEEE(R125f.x,R126f.y) + R125f.y); -R126f.y = -(PV0f.z) + 1.0; -R126f.z = -(PV0f.x) + 1.0; -R125f.w = -(R127f.z) + 1.0; -PV1f.w = R125f.w; -R4f.x = (mul_nonIEEE(R125f.x,backupReg0f) + R125f.y); -PS1f = R4f.x; -// 6 -backupReg0f = R125f.x; -backupReg0f = R125f.x; -R125f.x = R127f.y; -R0f.y = -(R127f.w) + 1.0; -R127f.z = (mul_nonIEEE(backupReg0f,R126f.w) + R125f.y); -R0f.w = PV1f.w; -R0f.x = backupReg0f + R125f.y; -PS0f = R0f.x; -// 7 -R2f.y = R125f.w; -R0f.z = R2f.x; -R2f.w = R126f.y; -R2f.z = R3f.x; -PS1f = R2f.z; -// 8 -R3f.yzw = vec3(R126f.y,R4f.x,R126f.z); -R4f.z = R127f.z; -PS0f = R4f.z; -// 9 -R4f.y = R126f.z; -R4f.w = -(R125f.x) + 1.0; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// export -passParameterSem2 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// export -passParameterSem3 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -// 0 -} diff --git a/Source/MarioKart8/ad3014302e0e49bf_0000000000000000_vs.txt b/Source/MarioKart8/ad3014302e0e49bf_0000000000000000_vs.txt index d6c86458..1d752ec3 100644 --- a/Source/MarioKart8/ad3014302e0e49bf_0000000000000000_vs.txt +++ b/Source/MarioKart8/ad3014302e0e49bf_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable // shader ad3014302e0e49bf -// Used for: Background blur Horizontal Pass -const float resXScale = ; -const float resYScale = ; +// Used for: Stage Select & Menu Background Horizontal Blur +const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; @@ -30,7 +23,7 @@ else if( v == 0xFFFFFFFF ) return floatBitsToInt(0.0); return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); } -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} void main() { vec4 R0f = vec4(0.0); @@ -62,7 +55,7 @@ R127f.z = (0.0 > R1f.x)?1.0:0.0; R127f.z /= 2.0; R127f.w = 1.0; PV0f.w = R127f.w; -R126f.x = intBitsToFloat(uf_remappedVS[0].z)/resYScale * intBitsToFloat(0x3fae8a72); +R126f.x = intBitsToFloat(uf_remappedVS[0].z) * (intBitsToFloat(0x3fae8a72)/resScale); PS0f = R126f.x; // 1 R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); diff --git a/Source/MarioKart8/c673c0d44f779fc9_0000000000000000_vs.txt b/Source/MarioKart8/c673c0d44f779fc9_0000000000000000_vs.txt deleted file mode 100644 index 39d3cc13..00000000 --- a/Source/MarioKart8/c673c0d44f779fc9_0000000000000000_vs.txt +++ /dev/null @@ -1,87 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader c673c0d44f779fc9 -// one pass blur for simple dof effect -const float resXScale = ; -const float resYScale = ; - -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -R1f.x = backupReg0f; -R1f.x *= 2.0; -R1f.y = backupReg1f; -R1f.y *= 2.0; -R1f.z = intBitsToFloat(0xbf800000); -R1f.w = 1.0; -PS0f = R2f.x + -(intBitsToFloat(uf_remappedVS[0].x) / resXScale); -// 1 -backupReg0f = R2f.y; -backupReg1f = R2f.x; -PV1f.x = R2f.y + -(intBitsToFloat(uf_remappedVS[0].y) / resYScale); -R2f.y = backupReg0f + intBitsToFloat(uf_remappedVS[0].y) / resYScale; -R2f.z = PS0f; -R2f.x = backupReg1f + intBitsToFloat(uf_remappedVS[0].x) / resXScale; -PS1f = R2f.x; -// 2 -R2f.w = PV1f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem3 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// 0 -} diff --git a/Source/MarioKart8/dd7a19be01b7b1aa_0000000000000000_vs.txt b/Source/MarioKart8/dd7a19be01b7b1aa_0000000000000000_vs.txt index 06cba9da..639734ef 100644 --- a/Source/MarioKart8/dd7a19be01b7b1aa_0000000000000000_vs.txt +++ b/Source/MarioKart8/dd7a19be01b7b1aa_0000000000000000_vs.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable // shader dd7a19be01b7b1aa -// vertical bloom blur texture coordinates -const float resXScale = ; -const float resYScale = ; +// Used for: Vertical (Menu) Bloom Blur +const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; @@ -34,7 +26,7 @@ else if( v == 0xFFFFFFFF ) return floatBitsToInt(0.0); return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); } -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} void main() { vec4 R0f = vec4(0.0); @@ -73,10 +65,10 @@ R1f.y = backupReg1f; R1f.y *= 2.0; R1f.z = 0.0; R1f.w = 1.0; -PS0f = intBitsToFloat(uf_remappedVS[0].y) * intBitsToFloat(0x3fb13a93) / resYScale; +PS0f = intBitsToFloat(uf_remappedVS[0].y) * (intBitsToFloat(0x3fb13a93)/resScale); // 1 -PV1f.x = intBitsToFloat(uf_remappedVS[0].y) * intBitsToFloat(0x404ec4f0) / resYScale; -R127f.y = intBitsToFloat(uf_remappedVS[0].y) * intBitsToFloat(0x40a275f7) / resYScale; +PV1f.x = intBitsToFloat(uf_remappedVS[0].y) * (intBitsToFloat(0x404ec4f0)/resScale); +R127f.y = intBitsToFloat(uf_remappedVS[0].y) * (intBitsToFloat(0x40a275f7)/resScale); R2f.z = R2f.y + PS0f; PV1f.z = R2f.z; R2f.w = R2f.y; diff --git a/Source/MarioKart8/e02d25abb7529b7f_0000000000000000_vs.txt b/Source/MarioKart8/e02d25abb7529b7f_0000000000000000_vs.txt deleted file mode 100644 index c704f799..00000000 --- a/Source/MarioKart8/e02d25abb7529b7f_0000000000000000_vs.txt +++ /dev/null @@ -1,129 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader e02d25abb7529b7f -//BFA -const float resScale = ; -uniform ivec4 uf_remappedVS[5]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R126f.x = (R1f.x > 0.0)?1.0:0.0; -R126f.x /= 2.0; -R127f.y = -(R1f.y); -PV0f.y = R127f.y; -R127f.z = (0.0 > R1f.x)?1.0:0.0; -R127f.z /= 2.0; -R127f.w = 1.0; -PV0f.w = R127f.w; -R125f.x = intBitsToFloat(uf_remappedVS[0].w) * intBitsToFloat(0x3fb13a93)/resScale; -PS0f = R125f.x; -// 1 -R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = R0f.x; -PV1f.y = R0f.x; -PV1f.z = R0f.x; -PV1f.w = R0f.x; -R127f.x = (PV0f.y > 0.0)?1.0:0.0; -R127f.x /= 2.0; -PS1f = R127f.x; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -PS0f = (0.0 > R127f.y)?1.0:0.0; -PS0f /= 2.0; -// 3 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.z = tempf.x; -R126f.z = R127f.x + -(PS0f); -PS1f = R126f.z; -// 4 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.w = tempf.x; -PS0f = R126f.x + -(R127f.z); -// 5 -R126f.x = intBitsToFloat(uf_remappedVS[0].w) * intBitsToFloat(0x404ec4f0)/resScale; -PV1f.x = R126f.x; -R127f.y = R126f.z + 0.5; -PV1f.y = R127f.y; -R2f.x = PS0f + 0.5; -PS1f = R2f.x; -// 6 -R1f.x = PS1f; -R2f.y = PV1f.y + -(R125f.x); -R2f.z = PV1f.y + R125f.x; -R2f.w = PV1f.y; -R1f.y = PV1f.y + -(PV1f.x); -PS0f = R1f.y; -// 7 -R1f.z = R127f.y + R126f.x; -R1f.w = R127f.y; -// export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem1 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// 0 -} diff --git a/Source/MarioKart8/e8266ec81590ed24_0000000000000000_vs.txt b/Source/MarioKart8/e8266ec81590ed24_0000000000000000_vs.txt deleted file mode 100644 index fe0564e9..00000000 --- a/Source/MarioKart8/e8266ec81590ed24_0000000000000000_vs.txt +++ /dev/null @@ -1,130 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader e8266ec81590ed24 -//BFb2 -const float resScale = ; -uniform ivec4 uf_remappedVS[5]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = (0.0 > R1f.x)?1.0:0.0; -R127f.x /= 2.0; -R127f.y = (R1f.x > 0.0)?1.0:0.0; -R127f.y /= 2.0; -R127f.z = -(R1f.y); -PV0f.z = R127f.z; -R127f.w = 1.0; -PV0f.w = R127f.w; -R126f.y = intBitsToFloat(uf_remappedVS[0].z) * intBitsToFloat(0x3fb13a93)/resScale; -PS0f = R126f.y; -// 1 -R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = R0f.x; -PV1f.y = R0f.x; -PV1f.z = R0f.x; -PV1f.w = R0f.x; -R126f.w = (PV0f.z > 0.0)?1.0:0.0; -R126f.w /= 2.0; -PS1f = R126f.w; -// 2 -backupReg0f = R127f.z; -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -R127f.z = (0.0 > backupReg0f)?1.0:0.0; -R127f.z /= 2.0; -PS0f = R127f.z; -// 3 -backupReg0f = R127f.y; -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.z = tempf.x; -R127f.y = backupReg0f + -(R127f.x); -PS1f = R127f.y; -// 4 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.w = tempf.x; -PS0f = R126f.w + -(R127f.z); -// 5 -R127f.x = intBitsToFloat(uf_remappedVS[0].z) * intBitsToFloat(0x404ec4f0)/resScale; -PV1f.z = PS0f + 0.5; -R127f.w = R127f.y + 0.5; -PV1f.w = R127f.w; -// 6 -R2f.x = PV1f.z; -PV0f.x = R2f.x; -R2f.y = PV1f.w + -(R126f.y); -R2f.z = PV1f.w + R126f.y; -R2f.w = PV1f.w; -// 7 -R1f.x = PV0f.x; -R1f.y = R127f.w + -(R127f.x); -R1f.z = R127f.w + R127f.x; -R1f.w = R127f.w; -// export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem1 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// 0 -} diff --git a/Source/MarioKart8/patches.txt b/Source/MarioKart8/patches.txt index fb3fed78..21c5ca52 100644 --- a/Source/MarioKart8/patches.txt +++ b/Source/MarioKart8/patches.txt @@ -1,25 +1,13 @@ - [MK8AspectVer1] moduleMatches = 0x2A2DC82C -0x10097D94 = .float -0x100F3430 = .float +0x10097D94 = .float $width/$height +0x100F3430 = .float $width/$height #aspect scaling codeCaveSize = 0x18 _scaleAspect = 0x00000004 -0x00000000 = .float +0x00000000 = .float (($gameHeight/$height)*$width)/$gameWidth _scaleAddr = 0x00000000 0x00000004 = fdivs f9, f13, f12 0x00000008 = lis r7, _scaleAddr@ha @@ -32,14 +20,14 @@ _scaleAddr = 0x00000000 [MK8AspectVer2] moduleMatches = 0x62A5F023 -0x1009E9DC = .float -0x100FC030 = .float +0x1009E9DC = .float $width/$height +0x100FC030 = .float $width/$height #aspect scaling codeCaveSize = 0x18 _scaleAspect = 0x00000004 -0x00000000 = .float +0x00000000 = .float (($gameHeight/$height)*$width)/$gameWidth _scaleAddr = 0x00000000 0x00000004 = fdivs f9, f13, f12 0x00000008 = lis r7, _scaleAddr@ha @@ -52,14 +40,14 @@ _scaleAddr = 0x00000000 [MK8AspectVer3] moduleMatches = 0xBA6B1E20 -0x100AC25C = .float -0x1010A730 = .float +0x100AC25C = .float $width/$height +0x1010A730 = .float $width/$height #aspect scaling codeCaveSize = 0x18 _scaleAspect = 0x00000004 -0x00000000 = .float +0x00000000 = .float (($gameHeight/$height)*$width)/$gameWidth _scaleAddr = 0x00000000 0x00000004 = fdivs f9, f13, f12 0x00000008 = lis r7, _scaleAddr@ha @@ -72,14 +60,14 @@ _scaleAddr = 0x00000000 [MK8AspectVer4] moduleMatches = 0x1D398493 -0x100C359C = .float -0x10121D30 = .float +0x100C359C = .float $width/$height +0x10121D30 = .float $width/$height #aspect scaling codeCaveSize = 0x18 _scaleAspect = 0x00000004 -0x00000000 = .float +0x00000000 = .float (($gameHeight/$height)*$width)/$gameWidth _scaleAddr = 0x00000000 0x00000004 = fdivs f9, f13, f12 0x00000008 = lis r7, _scaleAddr@ha @@ -92,14 +80,14 @@ _scaleAddr = 0x00000000 [MK8AspectVer4_1] moduleMatches = 0xD09700CE -0x100C359C = .float -0x10121E30 = .float +0x100C359C = .float $width/$height +0x10121E30 = .float $width/$height #aspect scaling codeCaveSize = 0x18 _scaleAspect = 0x00000004 -0x00000000 = .float +0x00000000 = .float (($gameHeight/$height)*$width)/$gameWidth _scaleAddr = 0x00000000 0x00000004 = fdivs f9, f13, f12 0x00000008 = lis r7, _scaleAddr@ha diff --git a/Source/MarioKart8/rules.txt b/Source/MarioKart8/rules.txt index 4982d1d6..57e7f5dc 100644 --- a/Source/MarioKart8/rules.txt +++ b/Source/MarioKart8/rules.txt @@ -1,326 +1,403 @@ - [Definition] -titleIds = 000500001010EC00,000500001010ED00,000500001010EB00 -name = "Mario Kart 8 - " -version = 2 +titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 +name = Resolution +path = "Mario Kart 8/Graphics/Resolution" +description = Changes the resolution of the game. Known issues: 3-4P upscaling works but misses shadows. +version = 3 + +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// For [4:3] resolutions that are multiples of 320x180 +// Performance + +[Preset] +name = 320x180 +$width = 320 +$height = 180 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 -#[TextureRedefine] # -#width = 2048 -#height = 2048 -#overwriteWidth = -#overwriteHeight = +// For [21:9] resolutions that are multiples of 420x180 +// Performance -#[TextureRedefine] #selection screen shadows -#width = 1536 -#height = 1536 +[Preset] +name = (21:9) 1260x540 +$width = 1260 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 +[Preset] +name = (21:9) 1680x720 +$width = 1680 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 +[Preset] +name = (21:9) 2100x900 +$width = 2100 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = (21:9) 2520x1080 +$width = 2520 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 3360x1440 +$width = 3360 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 5040x2160 +$width = 5040 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 6720x2880 +$width = 6720 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiats + +[Preset] +name = (21:9) 10080x4320 +$width = 10080 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 13440x5760 +$width = 13440 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +// 48:9 + +[Preset] +name = (48:9) 1920x360 +$width = 1920 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 3840x720 +$width = 3840 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 4800x900 +$width = 4800 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 11520x2160 +$width = 11520 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 15360x2880 +$width = 15360 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 23040x4320 +$width = 23040 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 30720x5760 +$width = 30720 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +# Full Res [TextureRedefine] width = 1280 height = 720 formatsExcluded = 0x41A,0x431 # exclude the intro background texture, race end background tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 -[TextureRedefine] #MShadows -width = 1024 -height = 1024 -formats = 0x005 #shadows 2 lod slices -overwriteWidth = -overwriteHeight = +# Gamepad +[TextureRedefine] +width = 864 +height = 480 +formats = 0x816,0x019 +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 -#[TextureRedefine] ##gloss, reflections, don't scale -#width = 768 -#width = 768 +# Gamepad +[TextureRedefine] +width = 854 +height = 480 +formats = 0x816,0x019 +overwriteWidth = ($width/$gameWidth) * 854 +overwriteHeight = ($height/$gameHeight) * 480 -[TextureRedefine] # Multiplayer-Mode Resolution (2p) + +# 2P Full Res +[TextureRedefine] width = 640 height = 720 -overwriteWidth = -overwriteHeight = +formats = 0x019,0x816,0x806,0x80e +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 720 +# 3-4P Full Res [TextureRedefine] width = 640 -height = 360 +height = 368 tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +formats = 0x019,0x816,0x806,0x80e +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 [TextureRedefine] width = 640 -height = 320 -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #selection fmv don't scale -#width = 512 -#height = 608 -#formatsExcluded = 0x001 #selection fmt - -#[TextureRedefine] #shadows multiplayer? -#width = 512 -#height = 512 -#formats = 0x005 # verify later -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 427 -height = 240 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a,0x234,0x235 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #4P? -width = 320 height = 360 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a,0x234,0x235 -overwriteWidth = -overwriteHeight = +formats = 0x816 +tileModesExcluded = 0x001 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 -[TextureRedefine] # Bloom first mip, motion blur effect +[TextureRedefine] +width = 512 +height = 256 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 256 + + +# Blur in menu's +[TextureRedefine] width = 320 height = 180 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a,0x234,0x235 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # -width = 256 -height = 256 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a,0x234,0x235 # -overwriteWidth = -overwriteHeight = +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 [TextureRedefine] -width = 199 -height = 116 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a,0x234,0x235 -overwriteWidth = -overwriteHeight = +width = 320 +height = 192 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 +# Blurred backgrounds in menu [TextureRedefine] -width = 160 +width = 320 height = 180 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a,0x234,0x235 -overwriteWidth = -overwriteHeight = +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 -[TextureRedefine] #bloom 2nd mip +[TextureRedefine] +width = 320 +height = 192 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + + +# Particles/highlights +[TextureRedefine] +width = 320 +height = 192 +formats = 0x019 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + +[TextureRedefine] +width = 320 +height = 180 +formats = 0x019 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 + +[TextureRedefine] +width = 256 +height = 128 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 128 + +[TextureRedefine] width = 160 height = 90 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a,0x234,0x235 -overwriteWidth = -overwriteHeight = +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 90 [TextureRedefine] width = 160 -height = 80 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a,0x234,0x235 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # -width = 148 -height = 148 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a,0x234,0x235 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 133 -height = 77 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a,0x234,0x235 -overwriteWidth = -overwriteHeight = +height = 96 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 96 [TextureRedefine] width = 128 -height = 256 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a,0x234,0x235 -overwriteWidth = -overwriteHeight = - - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 128 -#height = 128 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = +height = 64 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 64 [TextureRedefine] -width = 80 -height = 90 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # bloom 3rd mip -width = 80 -height = 45 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 80 -height = 40 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteWidth = -overwriteHeight = +width = 40 +height = 22 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 40 +overwriteHeight = ($height/$gameHeight) * 22 [TextureRedefine] width = 64 -height = 128 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] # glossmap breaks 64 cube? -#width = 64 -#height = 64 - - -#[TextureRedefine] #check later -#width = 52 -#height = 52 -#formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -#overwriteWidth = 156 -#overwriteHeight = 156 - -[TextureRedefine] -width = 49 -height = 29 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 40 -height = 45 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #bloom -width = 40 -height = 22 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 40 -height = 20 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 33 -height = 19 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 32 -height = 64 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] # -#width = 32 -#height = 32 -#formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x816,0x01a #0x816 exclude cube -#overwriteWidth = 96 -#overwriteHeight = 96 - -[TextureRedefine] -width = 20 -height = 22 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteWidth = -overwriteHeight = - - -[TextureRedefine] -width = 20 -height = 10 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -verwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 16 height = 32 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteWidth = -overwriteHeight = - - -#[TextureRedefine] #M -#width = 16 -#height = 16 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 32 [TextureRedefine] -width = 8 -height = 16 -formatsExcluded = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteWidth = -overwriteHeight = +width = 80 +height = 45 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 80 +overwriteHeight = ($height/$gameHeight) * 45 -###MKTV### -# MKTV screen [TextureRedefine] -width = 960 -height = 540 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = +width = 96 +height = 48 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 96 +overwriteHeight = ($height/$gameHeight) * 48 -# MKTV internal render targets -[TextureRedefine] -width = 960 -height = 536 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = -# MKTV half res alpha -[TextureRedefine] -width = 480 -height = 268 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = +# Underwater effect +[TextureRedefine] # 1P +width = 640 +height = 368 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 -# MKTV quarter res alpha -[TextureRedefine] -width = 240 -height = 134 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = +[TextureRedefine] # 1P +width = 640 +height = 360 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 -[TextureRedefine] #shadows -width = 1024 -height = 1024 -formats = 0x005 -overwriteWidth = -overwriteHeight = +[TextureRedefine] # 2P +width = 320 +height = 368 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 368 + +[TextureRedefine] # 2P +width = 320 +height = 360 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 360 \ No newline at end of file diff --git a/Source/MarioParty10/rules.txt b/Source/MarioParty10/rules.txt deleted file mode 100644 index 4702ede4..00000000 --- a/Source/MarioParty10/rules.txt +++ /dev/null @@ -1,188 +0,0 @@ - -[Definition] -titleIds = 0005000010162D00,0005000010162E00,0005000E10161F00 -name = "Mario Party 10 - " -version = 2 - -[TextureRedefine] -width = 1280 -height = 720 -formatsExcluded = 0x41a,0x431 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 1024 -height = 1024 -formatsExcluded = 0x34,0x35,0x431,0x433 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 1022 -height = 1022 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 854 -height = 960 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 854 -height = 480 -formatsExcluded = 0x41a -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 838 -height = 720 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 716 -height = 538 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 640 -height = 360 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 559 -height = 480 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 552 -height = 414 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 536 -height = 126 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 512 -height = 512 -formatsExcluded = 0x34,0x35,0x235,0x41a,0x431 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 510 -height = 510 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 460 -height = 460 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 370 -height = 370 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 320 -height = 180 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 256 -height = 256 -formatsExcluded = 0x1,0x35,0x431,0x433 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 196 -height = 196 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 160 -height = 90 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 128 -height = 128 -formatsExcluded = 0x35,0x41a,0x431,0x433 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 80 -height = 45 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 64 -height = 64 -formatsExcluded = 0x34,0x431,0x433 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 40 -height = 22 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 32 -height = 32 -formatsExcluded = 0x1,0x35,0x431 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -width = 16 -height = 16 -formatsExcluded = 0x1,0x35,0x433 -overwriteWidth = -overwriteHeight = diff --git a/Source/MarioSonicRio/rules.txt b/Source/MarioSonicRio/rules.txt deleted file mode 100644 index dff1afe0..00000000 --- a/Source/MarioSonicRio/rules.txt +++ /dev/null @@ -1,294 +0,0 @@ - -[Definition] -titleIds = 0005000010190300,00050000101E5300,00050000101E5400,0005000210190301,00050002101E5401 -name = "Mario & Sonic at the Rio 2016 Olympic Games - " -version = 2 - -[TextureRedefine] -width = 1280 -height = 720 -tileModesExcluded = 0x1 -formatsExcluded = 0x31 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 1200 -height = 100 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 1040 -height = 60 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 1024 -#height = 1024 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 880 -height = 226 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 854 -height = 480 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 832 -height = 40 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 784 -height = 130 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 672 -height = 64 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 656 -height = 46 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 640 -height = 80 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 624 -height = 40 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 608 -height = 624 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 570 -height = 420 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 544 -height = 160 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 512 -#height = 512 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 512 -height = 34 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 400 -height = 40 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 336 -height = 60 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 320 -height = 180 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 320 -height = 40 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 320 -height = 24 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 280 -height = 76 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 272 -height = 50 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 256 -height = 52 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 224 -height = 52 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 160 -height = 90 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 160 -height = 46 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 160 -height = 38 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 128 -height = 58 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 80 -height = 45 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 64 -#height = 64 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 40 -height = 22 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 20 -height = 11 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 16 -#height = 16 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 10 -height = 5 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 5 -height = 2 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 4 -#height = 4 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 2 -height = 1 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 1 -#height = 1 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = diff --git a/Source/MarioSonicSochi/rules.txt b/Source/MarioSonicSochi/rules.txt deleted file mode 100644 index b976a3fa..00000000 --- a/Source/MarioSonicSochi/rules.txt +++ /dev/null @@ -1,56 +0,0 @@ - -[Definition] -titleIds = 000500001010C700,000500001010C800 -name = "Mario & Sonic at the Sochi 2014 Olympic Winter Games - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -formatsExcluded = 0x031 # exclude the intro background texture -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # character select (legends showdown) -width = 708 -height = 624 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # character select (1 character) -width = 601 -height = 624 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # character select (2 characters) -width = 305 -height = 620 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # character select (4 characters) -width = 155 -height = 630 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # mii -width = 192 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/MarioTennis/rules.txt b/Source/MarioTennis/rules.txt deleted file mode 100644 index 654e9a9b..00000000 --- a/Source/MarioTennis/rules.txt +++ /dev/null @@ -1,180 +0,0 @@ - -[Definition] -titleIds = 00050000101A3500,00050000101A3600,0005000010199000 -name = "Mario Tennis: Ultra Smash - " -version = 2 - -[TextureRedefine] -width = 1280 -height = 720 -formatsExcluded = 0x431 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 800 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 640 -height = 360 -formatsExcluded = 0x41a -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 400 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 400 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 160 -height = 90 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 100 -height = 90 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 80 -height = 45 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 50 -height = 45 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 40 -height = 22 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 25 -height = 22 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 854 -height = 480 -formatsExcluded = 0x41a -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 856 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 428 -height = 240 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 360 -height = 448 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 180 -height = 224 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 90 -height = 112 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 45 -height = 56 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 22 -height = 28 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 11 -height = 14 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 216 -height = 448 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 108 -height = 224 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 54 -height = 112 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 27 -height = 56 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 13 -height = 28 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 6 -height = 14 -overwriteWidth = -overwriteHeight = diff --git a/Source/MemeRun/rules.txt b/Source/MemeRun/rules.txt new file mode 100644 index 00000000..f5dcc65b --- /dev/null +++ b/Source/MemeRun/rules.txt @@ -0,0 +1,102 @@ +[Definition] +titleIds = 0005000010194000 +name = Resolutions +path = "Meme Run/Graphics/Resolution" +description = Changes the games resolution. You cannot change resolutions on the fly. +version = 3 + +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Only works well with resolutions that are multiples of 320x180 +// Performance + +[Preset] +name = 320x180 +$width = 320 +$height = 180 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1920x1080 Full HD +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 4K +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 10K +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] +width = 1280 +height = 720 +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] +width = 854 +height = 480 +overwriteWidth = ($width/$gameWidth) * 854 +overwriteHeight = ($height/$gameHeight) * 480 \ No newline at end of file diff --git a/Source/Minecraft/rules.txt b/Source/Minecraft/rules.txt deleted file mode 100644 index 497660ed..00000000 --- a/Source/Minecraft/rules.txt +++ /dev/null @@ -1,25 +0,0 @@ - - -[Definition] -titleIds = 00050000101DBE00,00050000101D9D00,00050000101D7500 -name = "Minecraft: Wii U Edition - " -version = 2 - -[TextureRedefine] -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/MinecraftStory/rules.txt b/Source/MinecraftStory/rules.txt deleted file mode 100644 index 527680da..00000000 --- a/Source/MinecraftStory/rules.txt +++ /dev/null @@ -1,62 +0,0 @@ - - -[Definition] -titleIds = 00050000101E0100,000500001020A200,000500001020A300 -name = "Minecraft: Story Mode - " -version = 2 - -[TextureRedefine] -width = 1280 -height = 720 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 1024 -#height = 1024 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 1022 -#height = 1022 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 640 -height = 360 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 320 -height = 180 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 160 -height = 90 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 80 -height = 45 -#formatsExcluded = -overwriteWidth = -overwriteHeight = diff --git a/Source/MonsterHunter3Ultimate/rules.txt b/Source/MonsterHunter3Ultimate/rules.txt index 76ee0933..df56b05d 100644 --- a/Source/MonsterHunter3Ultimate/rules.txt +++ b/Source/MonsterHunter3Ultimate/rules.txt @@ -1,32 +1,188 @@ - [Definition] titleIds = 0005000010118300,0005000010117200,0005000010104D00 -name = "Monster Hunter 3 Ultimate - " -version = 2 +name = "Resoluton" +path = "Monster Hunter 3 Ultimate/Graphics/Resolution" +description = Changes the games resolution. +version = 3 -[TextureRedefine] # tv +[Preset] +name = 1920x1080 (Default) +$width = 1920 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 + +// Performance + +[Preset] +name = 320x180 +$width = 320 +$height = 180 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1920 +$gameHeight = 1080 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1920 +$gameHeight = 1080 + +# 4K Maintains Aspect Ratio +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 + +# New Resoltion Maintains Aspect Ratio +[Preset] +name = 4480x2520 +$width = 4480 +$height = 2520 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1920 +$gameHeight = 1080 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1920 +$gameHeight = 1080 + +# ----------------------------------------------------------------------------------------------------------------------------------------------- +# ----------------------------------------------------------------------------------------------------------------------------------------------- + +# All 1080p Textures - 0x001,0x011,0x01a +# 0x001=(Video Playback) +# 0x011=(Depth Stencil 24 bit) +# 0x01a=(Game Renderer) + +[TextureRedefine] +width = 1920 +height = 1088 +formats = 0x01a,0x011 +tileModesExcluded = 0x001 # For Video Playback +overwriteWidth = ($width / $gameWidth) * 1920 +overwriteHeight = ($height / $gameHeight) * 1088 + +[TextureRedefine] width = 1920 height = 1080 -tileModesExcluded = 0x1 -overwriteWidth = -overwriteHeight = +formats = 0x01a,0x011 +tileModesExcluded = 0x001 # For Video Playback +overwriteWidth = ($width / $gameWidth) * 1920 +overwriteHeight = ($height / $gameHeight) * 1080 -[TextureRedefine] # half scale -width = 960 -height = 540 -tileModesExcluded = 0x1 -overwriteWidth = -overwriteHeight = +# Required - GamePad +[TextureRedefine] +width = 864 +height = 480 +formats = 0x01a,0x011 +overwriteWidth = ($width / $gameWidth) * 864 +overwriteHeight = ($height / $gameHeight) * 480 -[TextureRedefine] # gamepad +# Required - GamePad +[TextureRedefine] width = 854 height = 480 -#overwriteWidth = -#overwriteHeight = +formats = 0x01a,0x011 +overwriteWidth = ($width / $gameWidth) * 854 +overwriteHeight = ($height / $gameHeight) * 480 + +# ----------------------------------------------------------------------------------------------------------------------------------------------- +# ----------------------------------------------------------------------------------------------------------------------------------------------- + +# Top to bottom View depth +[TextureRedefine] +width = 1024 +height = 1024 +formats = 0x80e,0x011 +overwriteWidth = ($width / $gameWidth) * 1024 +overwriteHeight = ($height / $gameHeight) * 1024 + +# Required - Half Res +[TextureRedefine] +width = 960 +height = 544 +formats = 0x01a +overwriteWidth = ($width / $gameWidth) * 960 +overwriteHeight = ($height / $gameHeight) * 544 + +# Required - Half Res +[TextureRedefine] +width = 960 +height = 540 +formats = 0x01a +overwriteWidth = ($width / $gameWidth) * 960 +overwriteHeight = ($height / $gameHeight) * 540 + +# 1/4 Scale +[TextureRedefine] +width = 480 +height = 272 +formats = 0x01a +overwriteWidth = ($width / $gameWidth) * 480 +overwriteHeight = ($height / $gameHeight) * 272 + +# 1/4 Scale +[TextureRedefine] +width = 480 +height = 270 +formats = 0x01a +overwriteWidth = ($width / $gameWidth) * 480 +overwriteHeight = ($height / $gameHeight) * 270 diff --git a/Source/NBA2K13/rules.txt b/Source/NBA2K13/rules.txt deleted file mode 100644 index 8da310dc..00000000 --- a/Source/NBA2K13/rules.txt +++ /dev/null @@ -1,30 +0,0 @@ - -[Definition] -titleIds = 000500001010DA00,0005000010112F00 -name = "NBA 2K13 - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine]#half-res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/NewSuperMarioBrosU/50e29e8929cea348_00000000000003c9_ps.txt b/Source/NewSuperMarioBrosU/50e29e8929cea348_00000000000003c9_ps.txt deleted file mode 100644 index ef773a48..00000000 --- a/Source/NewSuperMarioBrosU/50e29e8929cea348_00000000000003c9_ps.txt +++ /dev/null @@ -1,199 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 50e29e8929cea348 -//AA fix PS -const float resScale = ; -//old contrasty, or just copy paste clarity -const float gamma = 0.95; // 1.0 is neutral -const float exposure = 1.05; // 1.0 is neutral, first lessen to avoid truncation prob around .25 for radeon. -const float vibrance = 0.2175; // 0.0 is neutral -const float crushContrast = 0.000; // 0.0 is neutral. loss of shadow detail -const float postExposure = 1.16; // 1.0 is neutral, then slightly raise exposure back up. - -vec3 contrasty(vec3 colour) { - vec3 fColour = (colour.xyz); - - fColour = clamp(exposure * fColour, 0.0, 1.0); - fColour = pow(fColour, vec3(1.0 / gamma)); - float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114; - float mn = min(min(fColour.r, fColour.g), fColour.b); - float mx = max(max(fColour.r, fColour.g), fColour.b); - float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0; - vec3 lightness = vec3((mn + mx) / 2.0); - // vibrance - fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat); - fColour = max(vec3(0.0), fColour - vec3(crushContrast)); - return fColour; -} - -uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c5000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem1; -if( activeMaskStackC[1] == true ) { -R1f.xyzw = (textureGather(textureUnitPS1, R0f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0f.x = R1f.z + R1f.w; -PV0f.y = R1f.y + -(R1f.w); -PV0f.z = R1f.x + -(R1f.z); -R127f.w = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedPS[0].x)); -R126f.w = min(R1f.z, R1f.w); -PS0f = R126f.w; -// 1 -R126f.x = PV0f.z + PV0f.y; -PV1f.x = R126f.x; -PV1f.y = R1f.x + PV0f.x; -R127f.z = min(R1f.x, R1f.y); -R125f.w = PV0f.z + -(PV0f.y); -PV1f.w = R125f.w; -R127f.y = max(R1f.z, R1f.w); -PS1f = R127f.y; -// 2 -PV0f.x = R1f.y + PV1f.y; -PV0f.y = max(PV1f.w, -(PV1f.w)); -PV0f.z = max(PV1f.x, -(PV1f.x)); -PV0f.w = max(R1f.x, R1f.y); -R127f.x = (mul_nonIEEE(R2f.y,intBitsToFloat(uf_remappedPS[0].y)) + R127f.w); -PS0f = R127f.x; -// 3 -PV1f.x = min(PV0f.z, PV0f.y); -PV1f.y = min(R126f.w, R127f.z); -PV1f.z = max(R127f.y, PV0f.w); -R123f.w = (PV0f.x * intBitsToFloat(0x3d000000) + intBitsToFloat(0x3b800000)); -PV1f.w = R123f.w; -// 4 -PV0f.x = min(R127f.x, PV1f.y); -PV0f.y = max(R127f.x, PV1f.z); -PV0f.w = max(PV1f.w, PV1f.x); -// 5 -R0f.z = -(PV0f.x) + PV0f.y; -PS1f = 1.0 / PV0f.w; -// 6 -PV0f.x = R125f.w * PS1f; -PV0f.y = R126f.x * PS1f; -// 7 -PV1f.z = max(PV0f.x, intBitsToFloat(0xc0400000)); -PV1f.w = max(PV0f.y, intBitsToFloat(0xc0400000)); -// 8 -R1f.x = min(PV1f.w, intBitsToFloat(0x40400000)); -R1f.y = min(PV1f.z, intBitsToFloat(0x40400000)); -// 9 -predResult = (R0f.z > intBitsToFloat(uf_remappedPS[1].y)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3f.x = (mul_nonIEEE(R1f.x,-(intBitsToFloat(uf_remappedPS[2].z)/ resScale)) + R0f.x); -R3f.y = (mul_nonIEEE(R1f.y,-(intBitsToFloat(uf_remappedPS[2].w)/ resScale)) + R0f.y); -R0f.z = (mul_nonIEEE(R1f.x,intBitsToFloat(uf_remappedPS[2].x)/ resScale) + R0f.x); -R0f.w = (mul_nonIEEE(R1f.y,intBitsToFloat(uf_remappedPS[2].y)/ resScale) + R0f.y); -R3f.z = (mul_nonIEEE(R1f.x,intBitsToFloat(uf_remappedPS[2].z)/ resScale) + R0f.x); -PS0f = R3f.z; -// 1 -R4f.x = (mul_nonIEEE(R1f.x,-(intBitsToFloat(uf_remappedPS[2].x)/ resScale)) + R0f.x); -R4f.y = (mul_nonIEEE(R1f.y,-(intBitsToFloat(uf_remappedPS[2].y)/ resScale)) + R0f.y); -R3f.w = (mul_nonIEEE(R1f.y,intBitsToFloat(uf_remappedPS[2].w)/ resScale) + R0f.y); -} -if( activeMaskStackC[2] == true ) { -R1f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R3f.zw).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R4f.xy).xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127f.x = R0f.w + R1f.w; -R127f.x /= 2.0; -R127f.y = R0f.z + R1f.z; -R127f.y /= 2.0; -R127f.z = R0f.y + R1f.y; -R127f.z /= 2.0; -R127f.w = R0f.x + R1f.x; -R127f.w /= 2.0; -// 1 -PV1f.x = R2f.w + R3f.w; -PV1f.x /= 2.0; -PV1f.y = R2f.z + R3f.z; -PV1f.y /= 2.0; -PV1f.z = R2f.y + R3f.y; -PV1f.z /= 2.0; -PV1f.w = R2f.x + R3f.x; -PV1f.w /= 2.0; -// 2 -R2f.x = R127f.w + PV1f.w; -R2f.x /= 2.0; -R2f.y = R127f.z + PV1f.z; -R2f.y /= 2.0; -R2f.z = R127f.y + PV1f.y; -R2f.z /= 2.0; -R2f.w = R127f.x + PV1f.x; -R2f.w /= 2.0; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -// export - - -passPixelColor0 = vec4(contrasty(R2f.xyz), R2f.w); -//passPixelColor0 = vec4(R2f.xyz, R2f.w); - -} diff --git a/Source/NewSuperMarioBrosU/70b82af4d17024d2_0000000000000000_vs.txt b/Source/NewSuperMarioBrosU/70b82af4d17024d2_0000000000000000_vs.txt deleted file mode 100644 index 23f6a1c7..00000000 --- a/Source/NewSuperMarioBrosU/70b82af4d17024d2_0000000000000000_vs.txt +++ /dev/null @@ -1,83 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 70b82af4d17024d2 -//AA fix -const float resScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R122f = vec4(0.0); -vec4 R123f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -R1f.x = backupReg0f; -R1f.x *= 2.0; -R1f.y = backupReg1f; -R1f.y *= 2.0; -R1f.z = 0.0; -R1f.w = 1.0; -R122f.x = (-(intBitsToFloat(uf_remappedVS[0].x)/ resScale) * intBitsToFloat(0x3f266666) + R2f.x); -PS0f = R122f.x; -// 1 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)/ resScale) * intBitsToFloat(0x3f266666) + R2f.y); -PV1f.x = R123f.x; -R2f.z = PS0f; -// 2 -R2f.w = PV1f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// 0 -} diff --git a/Source/NewSuperMarioBrosU/8d638f35cebd14dc_00000000000007f9_ps.txt b/Source/NewSuperMarioBrosU/8d638f35cebd14dc_00000000000007f9_ps.txt deleted file mode 100644 index 98e7efae..00000000 --- a/Source/NewSuperMarioBrosU/8d638f35cebd14dc_00000000000007f9_ps.txt +++ /dev/null @@ -1,109 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 8d638f35cebd14dc -//banding fix -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x48ab0000 res 8x256x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 2) in vec4 passParameterSem2; -layout(location = 3) in vec4 passParameterSem3; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -highp float lineRand(vec2 co) -{ - highp float a = 12.9898; - highp float b = 78.233; - highp float c = 43758.5453; - highp float dt = dot(co.xy, vec2(a, b)); - highp float sn = mod(dt, 3.14); - return fract(sin(sn) * c); -} -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -R1f = passParameterSem1; -R2f = passParameterSem2; -R3f = passParameterSem3; -R3f.xy = R3f.xy - (lineRand(gl_FragCoord.xy)*0.0075); -R3f.xyz = (texture(textureUnitPS0, R3f.xy).xyz); -// 0 -R123f.x = (mul_nonIEEE(R0f.z,R3f.z) + 0.0); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R0f.y,R3f.y) + 0.0); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(R0f.x,R3f.x) + 0.0); -PV0f.z = R123f.z; -R3f.w = R0f.w + 0.0; -R3f.w = clamp(R3f.w, 0.0, 1.0); -R0f.w = 1.0; -PS0f = R0f.w; -// 1 -PV1f.x = R2f.z * R2f.z; -R127f.y = PV0f.x + 0.0; -R127f.y = clamp(R127f.y, 0.0, 1.0); -R127f.z = PV0f.y + 0.0; -R127f.z = clamp(R127f.z, 0.0, 1.0); -R127f.w = PV0f.z + 0.0; -R127f.w = clamp(R127f.w, 0.0, 1.0); -PV1f.w = R127f.w; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,PV1f.x,-0.0),vec4(R2f.x,R2f.y,1.0,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -PS0f = R1f.x + -(PV1f.w); -// 3 -R3f.x = (mul_nonIEEE(PS0f,R1f.w) + R127f.w); -PV1f.z = R1f.z + -(R127f.y); -PV1f.w = R1f.y + -(R127f.z); -tempResultf = 1.0 / sqrt(PV0f.x); -R127f.x = tempResultf; -R127f.x /= 2.0; -PS1f = R127f.x; -// 4 -R0f.x = (mul_nonIEEE(R2f.x,PS1f) + 0.5); -R3f.y = (mul_nonIEEE(PV1f.w,R1f.w) + R127f.z); -R3f.z = (mul_nonIEEE(PV1f.z,R1f.w) + R127f.y); -R0f.y = (mul_nonIEEE(R2f.y,PS1f) + 0.5); -PS0f = R0f.y; -// 5 -R0f.z = (mul_nonIEEE(R2f.z,R127f.x) + 0.5); -PV1f.z = R0f.z; -// 6 -R1f.xyz = vec3(R0f.x,R0f.y,PV1f.z); -R1f.w = R0f.w; -// 7 -R0f.xyz = vec3(R3f.x,R3f.y,R3f.z); -R0f.w = R3f.w; -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -passPixelColor1 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -} diff --git a/Source/NewSuperMarioBrosU/ec4a85d51e778437_0000000000000000_vs.txt b/Source/NewSuperMarioBrosU/ec4a85d51e778437_0000000000000000_vs.txt deleted file mode 100644 index 1f13ff6b..00000000 --- a/Source/NewSuperMarioBrosU/ec4a85d51e778437_0000000000000000_vs.txt +++ /dev/null @@ -1,86 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader ec4a85d51e778437 -//box blur fix -const float resScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -R1f.x = backupReg0f; -R1f.x *= 2.0; -R1f.y = backupReg1f; -R1f.y *= 2.0; -R1f.z = intBitsToFloat(0xbf800000); -R1f.w = 1.0; -PS0f = R2f.x + -(intBitsToFloat(uf_remappedVS[0].x) / resScale); -// 1 -backupReg0f = R2f.y; -backupReg1f = R2f.x; -PV1f.x = R2f.y + -(intBitsToFloat(uf_remappedVS[0].y) / resScale); -R2f.y = backupReg0f + intBitsToFloat(uf_remappedVS[0].y)/resScale; -R2f.z = PS0f; -R2f.x = backupReg1f + intBitsToFloat(uf_remappedVS[0].x)/ resScale; -PS1f = R2f.x; -// 2 -R2f.w = PV1f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem3 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// 0 -} diff --git a/Source/NewSuperMarioBrosU/rules.txt b/Source/NewSuperMarioBrosU/rules.txt deleted file mode 100644 index eb11363a..00000000 --- a/Source/NewSuperMarioBrosU/rules.txt +++ /dev/null @@ -1,73 +0,0 @@ - - -[Definition] -titleIds = 0005000010101D00,0005000010101E00,000500001014B700,000500001014B800,0005000010101C00,0005000010142300,0005000010142400,0005000010142200 -name = "New Super Mario Bros. U - " -version = 2 - -[TextureRedefine] # increase colour depth, slower but less banding -formats = 0x820 -overwriteFormat = 0x823 - -[TextureRedefine] # -formats = 0x816 -overwriteFormat = 0x820 - -##tilemap don't scale -#width = 2048 -#height = 512 - -[TextureRedefine] -width = 1280 -height = 720 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - - -[TextureRedefine] #map shadows -width = 1024 -height = 1024 -formats = 0x005 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 854 -height = 480 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 640 -height = 360 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 320 -height = 180 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 160 -height = 90 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -## Gradient don't scale -#width = 48 -#height = 48 - diff --git a/Source/NinjaGaiden3/7a641a67c4009f7f_0000000000000000_vs.txt b/Source/NinjaGaiden3/7a641a67c4009f7f_0000000000000000_vs.txt new file mode 100644 index 00000000..219ba908 --- /dev/null +++ b/Source/NinjaGaiden3/7a641a67c4009f7f_0000000000000000_vs.txt @@ -0,0 +1,153 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#extension GL_ARB_shading_language_packing : enable +// shader 7a641a67c4009f7f //Blur + +const float resXScale = ($width/$gameWidth); +const float resYScale = ($width/$gameWidth); + +uniform ivec4 uf_remappedVS[8]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +layout(location = 0) in uvec4 attrDataSem0; +layout(location = 1) in uvec4 attrDataSem5; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem128; +layout(location = 1) out vec4 passParameterSem129; +layout(location = 2) out vec4 passParameterSem130; +layout(location = 3) out vec4 passParameterSem131; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R5f = vec4(0.0); +vec4 R6f = vec4(0.0); +vec4 R7f = vec4(0.0); +vec4 R8f = vec4(0.0); +vec4 R9f = vec4(0.0); +vec4 R10f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xy = attrDataSem0.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xy = attrDataSem5.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.xyz = vec3(R2f.y,R2f.x,R2f.y) + vec3(-(intBitsToFloat(uf_remappedVS[0].y)/resYScale),-(intBitsToFloat(uf_remappedVS[0].x)/resXScale),-(intBitsToFloat(uf_remappedVS[1].y)/resYScale)); +PV0f.w = R2f.x + -(intBitsToFloat(uf_remappedVS[1].x)/resXScale); +R0f.x = R2f.x + intBitsToFloat(uf_remappedVS[1].x)/resXScale; +PS0f = R0f.x; +// 1 +R126f.xyz = vec3(R2f.y,R2f.x,R2f.y) + vec3(-(intBitsToFloat(uf_remappedVS[2].y)/resYScale),-(intBitsToFloat(uf_remappedVS[2].x)/resXScale),-(intBitsToFloat(uf_remappedVS[3].y)/resYScale)); +R127f.w = R2f.x + -(intBitsToFloat(uf_remappedVS[3].x)/resXScale); +R0f.z = PV0f.w; +PS1f = R0f.z; +// 2 +backupReg0f = R127f.z; +R125f.x = R2f.y + -(intBitsToFloat(uf_remappedVS[4].y)/resXScale); +R125f.y = R2f.x + -(intBitsToFloat(uf_remappedVS[4].x)/resYScale); +R127f.z = R2f.y + -(intBitsToFloat(uf_remappedVS[5].y)/resXScale); +R126f.w = R2f.x + -(intBitsToFloat(uf_remappedVS[5].x)/resYScale); +R0f.w = backupReg0f; +PS0f = R0f.w; +// 3 +R9f.x = R2f.y + -(intBitsToFloat(uf_remappedVS[6].y)/resXScale); +R9f.y = R2f.x + -(intBitsToFloat(uf_remappedVS[6].x)/resYScale); +R125f.z = R2f.y + -(intBitsToFloat(uf_remappedVS[7].y)/resXScale); +R125f.w = R2f.x + -(intBitsToFloat(uf_remappedVS[7].x)/resYScale); +R3f.z = R127f.y; +PS1f = R3f.z; +// 4 +R3f.x = R2f.x + intBitsToFloat(uf_remappedVS[0].x)/resXScale; +R0f.y = R2f.y + intBitsToFloat(uf_remappedVS[1].y)/resYScale; +R4f.z = R127f.w; +R3f.w = R127f.x; +R3f.y = R2f.y + intBitsToFloat(uf_remappedVS[0].y)/resYScale; +PS0f = R3f.y; +// 5 +R4f.x = R2f.x + intBitsToFloat(uf_remappedVS[3].x)/resXScale; +R4f.y = R2f.y + intBitsToFloat(uf_remappedVS[3].y)/resYScale; +R5f.z = R126f.y; +R4f.w = R126f.z; +R5f.x = R2f.x + intBitsToFloat(uf_remappedVS[2].x)/resXScale; +PS1f = R5f.x; +// 6 +R6f.x = R2f.x + intBitsToFloat(uf_remappedVS[5].x)/resXScale; +R5f.y = R2f.y + intBitsToFloat(uf_remappedVS[2].y)/resYScale; +R6f.z = R126f.w; +R5f.w = R126f.x; +R6f.y = R2f.y + intBitsToFloat(uf_remappedVS[5].y)/resYScale; +PS0f = R6f.y; +// 7 +R7f.x = R2f.x + intBitsToFloat(uf_remappedVS[4].x)/resXScale; +R7f.y = R2f.y + intBitsToFloat(uf_remappedVS[4].y)/resYScale; +R7f.z = R125f.y; +R6f.w = R127f.z; +R7f.w = R125f.x; +PS1f = R7f.w; +// 8 +R8f.x = R2f.x + intBitsToFloat(uf_remappedVS[7].x)/resXScale; +R8f.y = R2f.y + intBitsToFloat(uf_remappedVS[7].y)/resYScale; +R8f.z = R125f.w; +R8f.w = R125f.z; +R10f.x = R2f.x + intBitsToFloat(uf_remappedVS[6].x)/resXScale; +PS0f = R10f.x; +// export +gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +passParameterSem128 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +passParameterSem129 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +// export +passParameterSem130 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +// export +passParameterSem131 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); +// export +// skipped export to semanticId 255 +// export +// skipped export to semanticId 255 +// export +// skipped export to semanticId 255 +// 0 +R10f.y = R2f.y + intBitsToFloat(uf_remappedVS[6].y)/resYScale; //? +R10f.z = R9f.y; +R10f.w = R9f.x; +// export +// skipped export to semanticId 255 +// 0 +} diff --git a/Source/NinjaGaiden3/fd6c2e800481a180_0000000000000000_vs.txt b/Source/NinjaGaiden3/fd6c2e800481a180_0000000000000000_vs.txt new file mode 100644 index 00000000..c20a5e4d --- /dev/null +++ b/Source/NinjaGaiden3/fd6c2e800481a180_0000000000000000_vs.txt @@ -0,0 +1,158 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#extension GL_ARB_shading_language_packing : enable +// shader fd6c2e800481a180 //Cinematic bloom + +const float resXScale = ($width/$gameWidth); +const float resYScale = ($width/$gameWidth); + + +uniform ivec4 uf_remappedVS[8]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +layout(location = 0) in uvec4 attrDataSem0; +layout(location = 1) in uvec4 attrDataSem5; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) out vec4 passParameterSem128; +layout(location = 1) out vec4 passParameterSem129; +layout(location = 2) out vec4 passParameterSem130; +layout(location = 3) out vec4 passParameterSem131; +layout(location = 4) out vec4 passParameterSem132; +layout(location = 5) out vec4 passParameterSem133; +layout(location = 6) out vec4 passParameterSem134; +layout(location = 7) out vec4 passParameterSem135; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R5f = vec4(0.0); +vec4 R6f = vec4(0.0); +vec4 R7f = vec4(0.0); +vec4 R8f = vec4(0.0); +vec4 R9f = vec4(0.0); +vec4 R10f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +uvec4 attrDecoder; +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); +attrDecoder.xy = attrDataSem0.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +attrDecoder.xy = attrDataSem5.xy; +attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); +attrDecoder.z = 0; +attrDecoder.w = 0; +R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); +// 0 +R127f.xyz = vec3(R2f.y,R2f.x,R2f.y) + vec3(-(intBitsToFloat(uf_remappedVS[0].y)/resYScale),-(intBitsToFloat(uf_remappedVS[0].x)/resXScale),-(intBitsToFloat(uf_remappedVS[1].y)/resYScale)); +PV0f.w = R2f.x + -(intBitsToFloat(uf_remappedVS[1].x)/resXScale); +R0f.x = R2f.x + intBitsToFloat(uf_remappedVS[1].x)/resXScale; +PS0f = R0f.x; +// 1 +R126f.xyz = vec3(R2f.y,R2f.x,R2f.y) + vec3(-(intBitsToFloat(uf_remappedVS[2].y)/resYScale),-(intBitsToFloat(uf_remappedVS[2].x)/resXScale),-(intBitsToFloat(uf_remappedVS[3].y)/resYScale)); +R127f.w = R2f.x + -(intBitsToFloat(uf_remappedVS[3].x)/resXScale); +R0f.z = PV0f.w; +PS1f = R0f.z; +// 2 +backupReg0f = R127f.z; +R125f.x = R2f.y + -(intBitsToFloat(uf_remappedVS[4].y)/resXScale); +R125f.y = R2f.x + -(intBitsToFloat(uf_remappedVS[4].x)/resYScale); +R127f.z = R2f.y + -(intBitsToFloat(uf_remappedVS[5].y)/resXScale); +R126f.w = R2f.x + -(intBitsToFloat(uf_remappedVS[5].x)/resYScale); +R0f.w = backupReg0f; +PS0f = R0f.w; +// 3 +R9f.x = R2f.y + -(intBitsToFloat(uf_remappedVS[6].y)/resXScale); +R9f.y = R2f.x + -(intBitsToFloat(uf_remappedVS[6].x)/resYScale); +R125f.z = R2f.y + -(intBitsToFloat(uf_remappedVS[7].y)/resXScale); +R125f.w = R2f.x + -(intBitsToFloat(uf_remappedVS[7].x)/resYScale); +R3f.z = R127f.y; +PS1f = R3f.z; +// 4 +R3f.x = R2f.x + intBitsToFloat(uf_remappedVS[0].x)/resXScale; +R0f.y = R2f.y + intBitsToFloat(uf_remappedVS[1].y)/resYScale; +R4f.z = R127f.w; +R3f.w = R127f.x; +R3f.y = R2f.y + intBitsToFloat(uf_remappedVS[0].y)/resXScale; +PS0f = R3f.y; +// 5 +R4f.x = R2f.x + intBitsToFloat(uf_remappedVS[3].x)/resXScale; +R4f.y = R2f.y + intBitsToFloat(uf_remappedVS[3].y)/resYScale; +R5f.z = R126f.y; +R4f.w = R126f.z; +R5f.x = R2f.x + intBitsToFloat(uf_remappedVS[2].x)/resXScale; +PS1f = R5f.x; +// 6 +R6f.x = R2f.x + intBitsToFloat(uf_remappedVS[5].x)/resXScale; +R5f.y = R2f.y + intBitsToFloat(uf_remappedVS[2].y)/resYScale; +R6f.z = R126f.w; +R5f.w = R126f.x; +R6f.y = R2f.y + intBitsToFloat(uf_remappedVS[5].y)/resYScale; +PS0f = R6f.y; +// 7 +R7f.x = R2f.x + intBitsToFloat(uf_remappedVS[4].x)/resXScale; +R7f.y = R2f.y + intBitsToFloat(uf_remappedVS[4].y)/resYScale; +R7f.z = R125f.y; +R6f.w = R127f.z; +R7f.w = R125f.x; +PS1f = R7f.w; +// 8 +R8f.x = R2f.x + intBitsToFloat(uf_remappedVS[7].x)/resXScale; +R8f.y = R2f.y + intBitsToFloat(uf_remappedVS[7].y)/resYScale; +R8f.z = R125f.w; +R8f.w = R125f.z; +R10f.x = R2f.x + intBitsToFloat(uf_remappedVS[6].x)/resXScale; +PS0f = R10f.x; +// export +gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +// export +passParameterSem128 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); +// export +passParameterSem129 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); +// export +passParameterSem130 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); +// export +passParameterSem131 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); +// export +passParameterSem132 = vec4(R6f.x, R6f.y, R6f.z, R6f.w); +// export +passParameterSem133 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); +// export +passParameterSem134 = vec4(R8f.x, R8f.y, R8f.z, R8f.w); +// 0 +R10f.y = R2f.y + intBitsToFloat(uf_remappedVS[6].y)/resYScale; +R10f.z = R9f.y; +R10f.w = R9f.x; +// export +passParameterSem135 = vec4(R10f.x, R10f.y, R10f.z, R10f.w); +// 0 +} diff --git a/Source/NinjaGaiden3/rules.txt b/Source/NinjaGaiden3/rules.txt new file mode 100644 index 00000000..7eb7ff47 --- /dev/null +++ b/Source/NinjaGaiden3/rules.txt @@ -0,0 +1,347 @@ +[Definition] +titleIds = 0005000010110900,0005000010110A00,0005000010110B00 +name = Resolution +path = "Ninja Gaiden 3: Razors Edge/Graphics/Resolution" +description = Changes the resolution of the game. Known issues: Videos are broken, game is unstable, button inputs missing (prob incorrect scaling) +version = 3 + +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1920x1080 (HD) +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 (Native x2) +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 (4k - Native x3) +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] +width = 1280 +height = 720 +#formats = 0x80e,0x001,0x01a +#formatsExcluded = 0x01a # Menu BG, cutscene uses as light +tileModesExcluded = 0x001 # intro fix +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] +width = 1070 +height = 250 +#formats = 0x001 # +#tileModesExcluded = 0x001 # intro fix +overwriteWidth = ($width/$gameWidth) * 1070 +overwriteHeight = ($height/$gameHeight) * 250 + +[TextureRedefine] #Shadows +width = 1024 +height = 1024 +formats = 0x005 # 0x031 +overwriteWidth = ($width/$gameWidth) * 1024 +overwriteHeight = ($height/$gameHeight) * 1024 + +[TextureRedefine] +width = 864 +height = 480 +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 + +[TextureRedefine] +width = 854 +height = 480 +#formats = +overwriteWidth = ($width/$gameWidth) * 854 +overwriteHeight = ($height/$gameHeight) * 480 + +[TextureRedefine] +width = 640 +height = 368 +#formats = 0x007,0x01a +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 + +[TextureRedefine] +width = 640 +height = 360 +#tileModesExcluded = 0x001 # intro fix +#formats = 0x007,0x01a +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 + +[TextureRedefine] +width = 512 +height = 512 +formats = 0x01a #0x035,0x033,0x031, +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 512 + +[TextureRedefine] # cinematic blur +width = 448 +height = 240 +#formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 448 +overwriteHeight = ($height/$gameHeight) * 240 + +#[TextureRedefine] # Controller cut-out, not used for depth? +#width = 448 +#height = 224 +#formats = 0x001 +#overwriteWidth = ($width/$gameWidth) * 448 +#overwriteHeight = ($height/$gameHeight) * 224 + +[TextureRedefine] +width = 426 +height = 240 +#formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 426 +overwriteHeight = ($height/$gameHeight) * 240 + +[TextureRedefine] +width = 409 +height = 150 +#formats = 0x001 +overwriteWidth = ($width/$gameWidth) * 409 +overwriteHeight = ($height/$gameHeight) * 150 + +[TextureRedefine] +width = 360 +height = 15 +#formats = +overwriteWidth = ($width/$gameWidth) * 360 +overwriteHeight = ($height/$gameHeight) * 15 + +[TextureRedefine] # bloom pyramid DOF +width = 320 +height = 192 +#formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + +[TextureRedefine] +width = 320 +height = 180 +#formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 + +[TextureRedefine] +width = 320 +height = 96 +#formats = +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 96 + +[TextureRedefine] +width = 320 +height = 90 +#formats = +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 90 + +#[TextureRedefine] +#width = 256 +#height = 256 +#formatsExcluded = 0x035,0x033,0x031,0x01a +#overwriteWidth = ($width/$gameWidth) * 256 +#overwriteHeight = ($height/$gameHeight) * 256 + +[TextureRedefine] #cinematic dof +width = 176 +height = 720 +#formats = +overwriteWidth = ($width/$gameWidth) * 176 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] #cinematic dof +width = 176 +height = 703 +#formats = +overwriteWidth = ($width/$gameWidth) * 176 +overwriteHeight = ($height/$gameHeight) * 703 + +[TextureRedefine] +width = 160 +height = 96 +#formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 96 + +[TextureRedefine] +width = 160 +height = 90 +#formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 90 + +#[TextureRedefine] # multi dim +#width = 32 +#height = 32 +#formats = 0x01a #0x033,0x031 +#overwriteWidth = ($width/$gameWidth) * 32 +#overwriteHeight = ($height/$gameHeight) * 32 + +[TextureRedefine] # light +width = 32 +height = 344 +formats = 0x820 #0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 32 +overwriteHeight = ($height/$gameHeight) * 344 + +[TextureRedefine] +width = 32 +height = 144 +formats = 0x820 +overwriteWidth = ($width/$gameWidth) * 32 +overwriteHeight = ($height/$gameHeight) * 144 + +[TextureRedefine] # light +width = 32 +height = 80 +formats = 0x820 #0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 32 +overwriteHeight = ($height/$gameHeight) * 80 + +[TextureRedefine] +width = 24 +height = 576 +#formats = +overwriteWidth = ($width/$gameWidth) * 24 +overwriteHeight = ($height/$gameHeight) * 576 + +#[TextureRedefine] # multi dim +#width = 24 +#height = 24 +#formats = 0x01a #0x033,0x031 +#overwriteWidth = ($width/$gameWidth) * 24 +#overwriteHeight = ($height/$gameHeight) * 24 + +[TextureRedefine] +width = 24 +height = 144 +#formats = +overwriteWidth = ($width/$gameWidth) * 24 +overwriteHeight = ($height/$gameHeight) * 144 + +[TextureRedefine] +width = 15 +height = 9 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 15 +overwriteHeight = ($height/$gameHeight) * 9 + +#[TextureRedefine] # multi dim +#width = 16 +#height = 16 +#formats = 0x01a +#overwriteWidth = ($width/$gameWidth) * 16 +#overwriteHeight = ($height/$gameHeight) * 16 + +[TextureRedefine] #light +width = 12 +height = 72 +formats = 0x820 +overwriteWidth = ($width/$gameWidth) * 12 +overwriteHeight = ($height/$gameHeight) * 72 + + + diff --git a/Source/NinjaGaiden3RE/rules.txt b/Source/NinjaGaiden3RE/rules.txt deleted file mode 100644 index f56cd772..00000000 --- a/Source/NinjaGaiden3RE/rules.txt +++ /dev/null @@ -1,19 +0,0 @@ - -[Definition] -titleIds = 0005000010110900,0005000010110A00,0005000010110B00 -name = "Ninja Gaiden 3: Razor's Edge - " -version = 2 - -[TextureRedefine] #TV -width = 1280 -height = 720 -tileModesExcluded = 0x001 # intro fix -overwriteWidth = -overwriteHeight = diff --git a/Source/NintendoLand/rules.txt b/Source/NintendoLand/rules.txt index 8ef71f4a..965208d7 100644 --- a/Source/NintendoLand/rules.txt +++ b/Source/NintendoLand/rules.txt @@ -1,59 +1,278 @@ - [Definition] titleIds = 0005000010101F00,0005000010102000,0005000010102100 -name = "Nintendo Land - " -version = 2 +name = Resolution +path = "Nintendo Land/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 -[TextureRedefine] # tv +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] # Game Resolution width = 1280 height = 720 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 1280 +overwriteHeight = ($height / $gameHeight) * 720 -[TextureRedefine] # gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = +[TextureRedefine] # Blur Map +width = 640 +height = 368 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 368 -[TextureRedefine] # gamepad -width = 848 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res alpha +[TextureRedefine] # Blur Map width = 640 height = 360 -formatsExcluded = 0x41A,0x431 # exclude obvious textures -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 360 -[TextureRedefine] # half-res alpha (gamepad) +[TextureRedefine] # Blur Map +width = 512 +height = 256 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 512 +overwriteHeight = ($height / $gameHeight) * 256 + +[TextureRedefine] # Bloom Map +width = 320 +height = 192 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 192 + +[TextureRedefine] # Bloom Map +width = 320 +height = 180 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 180 + +[TextureRedefine] # Bloom Mip +width = 256 +height = 128 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 192 + +[TextureRedefine] # Bloom Mip +width = 160 +height = 96 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 96 + +[TextureRedefine] # Bloom Mip +width = 160 +height = 90 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 90 + +[TextureRedefine] # Bloom Mip +width = 128 +height = 64 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 90 + +[TextureRedefine] # Bloom Mip +width = 96 +height = 48 +overwriteWidth = ($width / $gameWidth) * 96 +overwriteHeight = ($height / $gameHeight) * 48 + +[TextureRedefine] # Bloom Mip +width = 80 +height = 45 +overwriteWidth = ($width / $gameWidth) * 80 +overwriteHeight = ($height / $gameHeight) * 45 + +[TextureRedefine] # Bloom Mip +width = 64 +height = 32 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 64 +overwriteHeight = ($height / $gameHeight) * 32 + +[TextureRedefine] # Bloom Mip +width = 40 +height = 22 +overwriteWidth = ($width / $gameWidth) * 40 +overwriteHeight = ($height / $gameHeight) * 22 + +[TextureRedefine] # Gamepad Resolution +width = 864 +height = 480 +overwriteWidth = ($width / $gameWidth) * 864 +overwriteHeight = ($height / $gameHeight) * 480 + +[TextureRedefine] # Gamepad Resolution +width = 854 +height = 480 +overwriteWidth = ($width / $gameWidth) * 854 +overwriteHeight = ($height / $gameHeight) * 480 + +[TextureRedefine] # Gamepad Resolution +width = 848 +height = 480 +overwriteWidth = ($width / $gameWidth) * 848 +overwriteHeight = ($height / $gameHeight) * 480 + +[TextureRedefine] # Gamepad Blur Map +width = 448 +height = 240 +overwriteWidth = ($width / $gameWidth) * 448 +overwriteHeight = ($height / $gameHeight) * 240 + +[TextureRedefine] # Gamepad Blur Map width = 424 height = 240 -formatsExcluded = 0x41A,0x431 # exclude obvious textures -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 424 +overwriteHeight = ($height / $gameHeight) * 240 -[TextureRedefine] #shadows -width = 856 -height = 856 -formats = 0x005 -overwriteWidth = -overwriteHeight = +[TextureRedefine] # Gamepad Blur Map +width = 213 +height = 120 +overwriteWidth = ($width / $gameWidth) * 213 +overwriteHeight = ($height / $gameHeight) * 120 -[TextureRedefine] #shadows -width = 2048 -height = 2048 -formats = 0x005 -overwriteWidth = -overwriteHeight = +[TextureRedefine] # Gamepad Bloom Map +width = 224 +height = 128 +overwriteWidth = ($width / $gameWidth) * 224 +overwriteHeight = ($height / $gameHeight) * 128 + +[TextureRedefine] # Gamepad Bloom Mip +width = 212 +height = 120 +overwriteWidth = ($width / $gameWidth) * 212 +overwriteHeight = ($height / $gameHeight) * 120 + +[TextureRedefine] # Gamepad Bloom Mip +width = 106 +height = 60 +overwriteWidth = ($width / $gameWidth) * 106 +overwriteHeight = ($height / $gameHeight) * 60 + +[TextureRedefine] # Gamepad Bloom Mip +width = 53 +height = 30 +overwriteWidth = ($width / $gameWidth) * 53 +overwriteHeight = ($height / $gameHeight) * 30 + +[TextureRedefine] # Gamepad Bloom Mip +width = 32 +height = 16 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 32 +overwriteHeight = ($height / $gameHeight) * 16 + +[TextureRedefine] # Gamepad Bloom Mip +width = 26 +height = 15 +overwriteWidth = ($width / $gameWidth) * 26 +overwriteHeight = ($height / $gameHeight) * 15 diff --git a/Source/OnePiece/rules.txt b/Source/OnePiece/rules.txt index e6beccec..4424bdbe 100644 --- a/Source/OnePiece/rules.txt +++ b/Source/OnePiece/rules.txt @@ -1,33 +1,158 @@ - [Definition] -titleIds = 0005000010175C00,0005000010175D00 -name = "ONE PIECE Unlimited World Red - " -version = 2 +titleIds = 0005000010148000,0005000010175C00,0005000010175D00 +name = Resolution +path = "ONE PIECE Unlimited World Red/Graphics/Resolution" +description = Changes the games resolution. You cannot change resolutions on the fly. +version = 3 -[TextureRedefine] # tv +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// For [4:3] resolutions that are multiples of 320x180 +// Performance + +[Preset] +name = 320x180 +$width = 320 +$height = 180 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] # Game Resolution width = 1280 height = 720 tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 -[TextureRedefine] # half-res alpha +[TextureRedefine] +width = 640 +height = 368 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 + +[TextureRedefine] width = 640 height = 360 tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 -[TextureRedefine] # gamepad +[TextureRedefine] # Depth of Field Pass +width = 320 +height = 192 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + +[TextureRedefine] # Depth of Field Pass +width = 320 +height = 180 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 + +[TextureRedefine] +width = 160 +height = 96 +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 96 + +[TextureRedefine] +width = 160 +height = 90 +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 90 + +[TextureRedefine] +width = 90 +height = 48 +overwriteWidth = ($width/$gameWidth) * 90 +overwriteHeight = ($height/$gameHeight) * 48 + +[TextureRedefine] +width = 80 +height = 45 +overwriteWidth = ($width/$gameWidth) * 80 +overwriteHeight = ($height/$gameHeight) * 45 + +[TextureRedefine] # Gamepad Resolution +width = 864 +height = 480 +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 + +[TextureRedefine] # Gamepad Resolution width = 854 height = 480 -#overwriteWidth = -#overwriteHeight = +overwriteWidth = ($width/$gameWidth) * 854 +overwriteHeight = ($height/$gameHeight) * 480 \ No newline at end of file diff --git a/Source/PaperMonstersRecut/rules.txt b/Source/PaperMonstersRecut/rules.txt deleted file mode 100644 index 18f49196..00000000 --- a/Source/PaperMonstersRecut/rules.txt +++ /dev/null @@ -1,36 +0,0 @@ - -[Definition] -titleIds = 0005000010175400,00050000101A1300 -name = "Paper Monsters Recut - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # TV 2 -width = 960 -height = 540 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # TV 2 half-res -width = 480 -height = 270 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/PhineasFerb/rules.txt b/Source/PhineasFerb/rules.txt deleted file mode 100644 index 63aab24b..00000000 --- a/Source/PhineasFerb/rules.txt +++ /dev/null @@ -1,24 +0,0 @@ - -[Definition] -titleIds = 0005000010139400 -name = "Phineas & Ferb: Quest for Cool Stuff - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/Pikmin3/rules.txt b/Source/Pikmin3/rules.txt deleted file mode 100644 index 8f1edc12..00000000 --- a/Source/Pikmin3/rules.txt +++ /dev/null @@ -1,25 +0,0 @@ - -[Definition] -titleIds = 000500001012BE00,000500001012BD00,000500001012BC00 -name = "Pikmin 3 - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/PokkenTournament/b2fecd8319ee0096_0000000000079249_ps.txt b/Source/PokkenTournament/b2fecd8319ee0096_0000000000079249_ps.txt index 84f4b43b..45f9bc85 100644 --- a/Source/PokkenTournament/b2fecd8319ee0096_0000000000079249_ps.txt +++ b/Source/PokkenTournament/b2fecd8319ee0096_0000000000079249_ps.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader b2fecd8319ee0096 // Used for: DoF In-game -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[4]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4603800 res 960x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 diff --git a/Source/PokkenTournament/fe05aca8e186a5fd_0000000000000079_ps.txt b/Source/PokkenTournament/fe05aca8e186a5fd_0000000000000079_ps.txt index 5c6a382f..c1f21720 100644 --- a/Source/PokkenTournament/fe05aca8e186a5fd_0000000000000079_ps.txt +++ b/Source/PokkenTournament/fe05aca8e186a5fd_0000000000000079_ps.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader fe05aca8e186a5fd // Used for: DoF backgrounds -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); layout(binding = 38, std140) uniform uniformBlockPS6 { diff --git a/Source/PokkenTournament/rules.txt b/Source/PokkenTournament/rules.txt index 41feefc5..694e03bf 100644 --- a/Source/PokkenTournament/rules.txt +++ b/Source/PokkenTournament/rules.txt @@ -1,66 +1,248 @@ - [Definition] titleIds = 00050000101DF400,00050002101DF401,00050000101DF500 -name = "Pokken Tournament - " -version = 2 +name = Resolution +path = "Pokken Tournament/Graphics/Resolution" +description = Changes the resolution of the game. Known issues: Bloom needs shader edits. +version = 3 -[TextureRedefine] # TV +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] # Game Resolution width = 1280 height = 720 -formatsExcluded = 0x033 +formatsExcluded = 0x33 tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 1280 +overwriteHeight = ($height / $gameHeight) * 720 [TextureRedefine] # In-Game Resolution width = 960 height = 720 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 960 +overwriteHeight = ($height / $gameHeight) * 720 -[TextureRedefine] # Quarter-Res Resolution +[TextureRedefine] # Blur Map +width = 640 +height = 368 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 368 + +[TextureRedefine] # Blur Map width = 640 height = 360 -formatsExcluded = 0x033 tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 360 -[TextureRedefine] # Another Resolution -width = 128 -height = 72 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Yet Another Resolution -width = 120 -height = 72 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Dialog Background +[TextureRedefine] # Blur Map width = 480 height = 288 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 480 +overwriteHeight = ($height / $gameHeight) * 288 -[TextureRedefine] # Gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = +[TextureRedefine] # Blur Mip +width = 256 +height = 256 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 256 +overwriteHeight = ($height / $gameHeight) * 256 -[TextureRedefine] #shadows -width = 512 -height = 512 -formats = 0x005 -overwriteWidth = -overwriteHeight = +[TextureRedefine] # Blur Mip +width = 256 +height = 144 +overwriteWidth = ($width / $gameWidth) * 256 +overwriteHeight = ($height / $gameHeight) * 144 + +[TextureRedefine] # Blur Mip +width = 128 +height = 128 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 128 +overwriteHeight = ($height / $gameHeight) * 128 + +[TextureRedefine] # Bloom Mip +width = 128 +height = 80 +overwriteWidth = ($width / $gameWidth) * 128 +overwriteHeight = ($height / $gameHeight) * 80 + +[TextureRedefine] # Blur Mip +width = 128 +height = 72 +overwriteWidth = ($width / $gameWidth) * 128 +overwriteHeight = ($height / $gameHeight) * 72 + +[TextureRedefine] # Bloom Mip +width = 120 +height = 72 +overwriteWidth = ($width / $gameWidth) * 120 +overwriteHeight = ($height / $gameHeight) * 72 + +[TextureRedefine] # Blur Mip +width = 64 +height = 64 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 64 +overwriteHeight = ($height / $gameHeight) * 64 + +[TextureRedefine] # Blur Mip +width = 64 +height = 36 +overwriteWidth = ($width / $gameWidth) * 64 +overwriteHeight = ($height / $gameHeight) * 36 + +[TextureRedefine] # Blur Mip +width = 32 +height = 32 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 32 +overwriteHeight = ($height / $gameHeight) * 32 + +[TextureRedefine] # Blur Mip +width = 32 +height = 18 +overwriteWidth = ($width / $gameWidth) * 32 +overwriteHeight = ($height / $gameHeight) * 18 + +[TextureRedefine] # Blur Mip +width = 16 +height = 16 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 16 +overwriteHeight = ($height / $gameHeight) * 16 + +[TextureRedefine] # Blur Mip +width = 16 +height = 9 +overwriteWidth = ($width / $gameWidth) * 16 +overwriteHeight = ($height / $gameHeight) * 9 + +[TextureRedefine] # Blur Mip +width = 8 +height = 8 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 8 +overwriteHeight = ($height / $gameHeight) * 8 + +[TextureRedefine] # Blur Mip +width = 8 +height = 4 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 8 +overwriteHeight = ($height / $gameHeight) * 8 + +[TextureRedefine] # Blur Mip +width = 4 +height = 2 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 8 +overwriteHeight = ($height / $gameHeight) * 8 diff --git a/Source/ProjectZero/rules.txt b/Source/ProjectZero/rules.txt deleted file mode 100644 index cc23b332..00000000 --- a/Source/ProjectZero/rules.txt +++ /dev/null @@ -1,38 +0,0 @@ - -[Definition] -titleIds = 00050000101D0300,00050000101D0600,000500001014D200,00050000101D3F00 -name = "Project Zero Maiden of Black Water - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # tv -width = 1278 -height = 718 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res alpha -width = 640 -height = 360 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = diff --git a/Source/PuyoPuyoTetris/rules.txt b/Source/PuyoPuyoTetris/rules.txt deleted file mode 100644 index 25a0a6a7..00000000 --- a/Source/PuyoPuyoTetris/rules.txt +++ /dev/null @@ -1,24 +0,0 @@ - -[Definition] -titleIds = 000500001014d900 -name = "Puyo Puyo Tetris - " -version = 2 - -[TextureRedefine] # tv -width = 1920 -height = 1080 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/RiseOfLyric/8fd5069eea66af37_0000000000000000_vs.txt b/Source/RiseOfLyric/8fd5069eea66af37_0000000000000000_vs.txt deleted file mode 100644 index 0fabb343..00000000 --- a/Source/RiseOfLyric/8fd5069eea66af37_0000000000000000_vs.txt +++ /dev/null @@ -1,146 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 8fd5069eea66af37 -const float resXScale = ; -const float resYScale = ; -uniform ivec4 uf_remappedVS[12]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem1; -layout(location = 1) in uvec4 attrDataSem3; -layout(location = 2) in uvec4 attrDataSem7; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem137; -layout(location = 1) out vec4 passParameterSem138; -layout(location = 2) out vec4 passParameterSem139; -layout(location = 3) out vec4 passParameterSem140; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem1.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem7.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV0f.x = R0f.x; -PV0f.y = R0f.x; -PV0f.z = R0f.x; -PV0f.w = R0f.x; -R5f.z = 0.0; -PS0f = R5f.z; -// 1 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.y = tempf.x; -R5f.x = R2f.x; -PS1f = R5f.x; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.z = tempf.x; -R5f.y = R2f.y; -PS0f = R5f.y; -// 3 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R1f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.w = tempf.x; -// 4 -R127f.xyz = vec3(R2f.y,R2f.x,R2f.y) + vec3(intBitsToFloat(uf_remappedVS[4].y) / resYScale,intBitsToFloat(uf_remappedVS[4].x) / resXScale,intBitsToFloat(uf_remappedVS[5].y)); -PV0f.w = R2f.x + intBitsToFloat(uf_remappedVS[5].x) / resXScale; -// 5 -R126f.xyz = vec3(R2f.y,R2f.x,R2f.y) + vec3(intBitsToFloat(uf_remappedVS[6].y) / resYScale,intBitsToFloat(uf_remappedVS[6].x) / resXScale,intBitsToFloat(uf_remappedVS[7].y)); -R127f.w = R2f.x + intBitsToFloat(uf_remappedVS[7].x) / resXScale; -R1f.z = PV0f.w; -PS1f = R1f.z; -// 6 -R1f.x = R2f.x + intBitsToFloat(uf_remappedVS[8].x) / resXScale; -R1f.y = R2f.y + intBitsToFloat(uf_remappedVS[8].y) / resYScale; -R3f.z = R127f.y; -R1f.w = R127f.z; -R3f.x = R2f.x + intBitsToFloat(uf_remappedVS[9].x) / resXScale; -PS0f = R3f.x; -// 7 -R4f.x = R2f.x + intBitsToFloat(uf_remappedVS[10].x) / resXScale; -R3f.y = R2f.y + intBitsToFloat(uf_remappedVS[9].y) / resYScale; -R4f.z = R127f.w; -R3f.w = R127f.x; -R4f.y = R2f.y + intBitsToFloat(uf_remappedVS[10].y) / resYScale; -PS1f = R4f.y; -// 8 -backupReg0f = R2f.x; -backupReg1f = R2f.y; -R2f.x = backupReg0f + intBitsToFloat(uf_remappedVS[11].x) / resXScale; -R2f.y = backupReg1f + intBitsToFloat(uf_remappedVS[11].y) / resYScale; -R2f.z = R126f.y; -R4f.w = R126f.z; -R2f.w = R126f.x; -PS0f = R2f.w; -// export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem137 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem138 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// export -passParameterSem139 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -// export -passParameterSem140 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// export -// skipped export to semanticId 255 -// 0 -} diff --git a/Source/RiseOfLyric/rules.txt b/Source/RiseOfLyric/rules.txt index bca650c9..dc72f509 100644 --- a/Source/RiseOfLyric/rules.txt +++ b/Source/RiseOfLyric/rules.txt @@ -1,90 +1,187 @@ - [Definition] titleIds = 0005000010175B00,0005000010177800,0005000010191F00 -name = "Sonic Boom: Rise of Lyric - " -version = 2 +name = Resolution +path = "Sonic Boom: Rise of Lyric/Graphics/Resolution" +description = Changes the resolution of the game. " +version = 3 -[TextureRedefine] +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] # Game Resolution width = 1280 height = 720 -tileModesExcluded = 0x1 formatsExcluded = 0x31 -overwriteWidth = -overwriteHeight = +tileModesExcluded = 0x001 +overwriteWidth = ($width / $gameWidth) * 1280 +overwriteHeight = ($height / $gameHeight) * 720 -[TextureRedefine] -width = 854 -height = 480 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +[TextureRedefine] # Bloom Resolution +width = 320 +height = 192 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 192 -[TextureRedefine] -width = 640 -height = 360 -tileModesExcluded = 0x1 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] +[TextureRedefine] # Bloom Resolution width = 320 height = 180 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 180 -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 256 -#height = 256 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = +[TextureRedefine] # Gamepad Resolution +width = 864 +height = 480 +overwriteWidth = ($width / $gameWidth) * 864 +overwriteHeight = ($height / $gameHeight) * 480 -[TextureRedefine] -width = 160 -height = 90 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +[TextureRedefine] # ??? +width = 64 +height = 64 +formats = 0x810 +overwriteWidth = ($width / $gameWidth) * 64 +overwriteHeight = ($height / $gameHeight) * 64 -[TextureRedefine] -width = 80 -height = 45 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +// scaling causes overbloom -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 64 -#height = 64 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = +#[TextureRedefine] +#width = 32 +#height = 16 +#formats = 0x810 +#overwriteWidth = ($width / $gameWidth) * 32 +#overwriteHeight = ($height / $gameHeight) * 16 -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded +#[TextureRedefine] #width = 16 #height = 16 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = +#formats = 0x810 +#overwriteWidth = ($width / $gameWidth) * 16 +#overwriteHeight = ($height / $gameHeight) * 16 -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded +#[TextureRedefine] +#width = 8 +#height = 8 +#formats = 0x810 +#overwriteWidth = ($width / $gameWidth) * 8 +#overwriteHeight = ($height / $gameHeight) * 8 + +#[TextureRedefine] #width = 4 #height = 4 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = +#formats = 0x810 +#overwriteWidth = ($width / $gameWidth) * 4 +#overwriteHeight = ($height / $gameHeight) * 4 -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded +#[TextureRedefine] #width = 1 #height = 1 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = +#formats = 0x810 +#overwriteWidth = ($width / $gameWidth) * 1 +#overwriteHeight = ($height / $gameHeight) * 1 diff --git a/Source/Runner2/4fe1bb2bc0611f15_0000000000000079_ps.txt b/Source/Runner2/4fe1bb2bc0611f15_0000000000000079_ps.txt deleted file mode 100644 index 6a0bae83..00000000 --- a/Source/Runner2/4fe1bb2bc0611f15_0000000000000079_ps.txt +++ /dev/null @@ -1,315 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 4fe1bb2bc0611f15 -// Disable this fucking godforsaken piece of shit blur filter that makes the game look lower res than it actually is -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R10f = vec4(0.0); -vec4 R11f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw); -// 0 -PV0f.z = R0f.x + 0.5; -PV0f.w = R0f.y + 0.5; -// 1 -R4f.x = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedPS[0].x)); -PV1f.x = R4f.x; -R4f.y = mul_nonIEEE(PV0f.w, intBitsToFloat(uf_remappedPS[0].y)); -PV1f.y = R4f.y; -// 2 -R0f.xyz = vec3(PV1f.x,PV1f.y,PV1f.x) + vec3(intBitsToFloat(0xba99999a),0.0,0.0); -R0f.w = PV1f.y + intBitsToFloat(0xbb088889); -R1f.x = PV1f.x + intBitsToFloat(0x3a99999a); -PS0f = R1f.x; -// 3 -R2f.x = R4f.x + 0.0; -R1f.y = R4f.y + 0.0; -R2f.zwy = vec3(R4f.y,R4f.x,R4f.y) + vec3(intBitsToFloat(0x3b088889),intBitsToFloat(0xba99999a),intBitsToFloat(0xbb088889)); -PS1f = R2f.y; -// 4 -R3f.x = R4f.x + intBitsToFloat(0xba99999a); -R3f.y = R4f.y + intBitsToFloat(0x3b088889); -R1f.z = R4f.x + intBitsToFloat(0x3a99999a); -R1f.w = R4f.y + intBitsToFloat(0xbb088889); -R6f.x = R4f.x + intBitsToFloat(0x3a99999a); -PS0f = R6f.x; -//R11f.xyzw = (texture(textureUnitPS0, R4f.xy).xyzw); -R11f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R5f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw); -R7f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -R8f.xyzw = (texture(textureUnitPS0, R2f.xz).xyzw); -R9f.xyzw = (texture(textureUnitPS0, R2f.wy).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R10f.xyzw = (texture(textureUnitPS0, R1f.zw).xyzw); -// 0 -R127f.x = -(R11f.x) + R5f.x; -R6f.y = R4f.y + intBitsToFloat(0x3b088889); -R123f.z = (R11f.w * 2.0 + -(1.0)); -PV0f.z = R123f.z; -PV0f.w = R5f.w + intBitsToFloat(0x3c23d70a); -R127f.w = -(R11f.y) + R5f.y; -PS0f = R127f.w; -// 1 -R126f.x = -(R11f.z) + R5f.z; -//PV1f.y = max(PV0f.z, -(PV0f.z)); -PV1f.y = max(PV1f.z, -(PV1f.z)); -PV1f.z = -(R11f.w) + PV0f.w; -R126f.w = -(R11f.w) + R5f.w; -PS1f = R0f.w + intBitsToFloat(0x3c23d70a); -// 2 -backupReg0f = R0f.x; -PV0f.x = -(PV1f.y) + 1.0; -R123f.y = intBitsToFloat(((PV1f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV0f.y = R123f.y; -R127f.z = -(R11f.w) + PS1f; -R5f.w = R7f.w + intBitsToFloat(0x3c23d70a); -R1f.w = -(R11f.x) + backupReg0f; -PS0f = R1f.w; -// 3 -R5f.x = (mul_nonIEEE(R127f.x,PV0f.y) + R11f.x); -R5f.y = (mul_nonIEEE(R127f.w,PV0f.y) + R11f.y); -R5f.z = (mul_nonIEEE(R126f.x,PV0f.y) + R11f.z); -R2f.w = max(PV0f.x, intBitsToFloat(0x3de38e39)); -PV1f.w = R2f.w; -R4f.y = (mul_nonIEEE(R126f.w,PV0f.y) + R11f.w); -PS1f = R4f.y; -// 4 -backupReg0f = R0f.y; -backupReg1f = R0f.z; -backupReg2f = R0f.w; -R4f.x = intBitsToFloat(((R127f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); -R0f.yzw = vec3(-(R11f.y),-(PV1f.w),-(R11f.z)) + vec3(backupReg0f,1.0,backupReg1f); -R0f.x = -(R11f.w) + backupReg2f; -PS0f = R0f.x; -R6f.xyzw = (texture(textureUnitPS0, R6f.xy).xyzw); -// 0 -backupReg0f = R0f.y; -R127f.x = R8f.w + intBitsToFloat(0x3c23d70a); -R0f.y = R0f.z * intBitsToFloat(0x3e15f619); -PV0f.y = R0f.y; -R127f.z = -(R11f.w) + R5f.w; -R126f.w = (mul_nonIEEE(backupReg0f,R4f.x) + R11f.y); -R125f.x = (mul_nonIEEE(R0f.x,R4f.x) + R11f.w); -PS0f = R125f.x; -// 1 -PV1f.x = mul_nonIEEE(PV0f.y, R5f.x); -PV1f.y = mul_nonIEEE(PV0f.y, R4f.y); -PV1f.z = mul_nonIEEE(PV0f.y, R5f.z); -PV1f.w = mul_nonIEEE(PV0f.y, R5f.y); -R127f.w = (mul_nonIEEE(R1f.w,R4f.x) + R11f.x); -PS1f = R127f.w; -// 2 -R126f.x = (mul_nonIEEE(R11f.x,R2f.w) + PV1f.x); -R126f.y = (mul_nonIEEE(R11f.w,R2f.w) + PV1f.y); -R126f.z = (mul_nonIEEE(R11f.z,R2f.w) + PV1f.z); -R125f.w = (mul_nonIEEE(R11f.y,R2f.w) + PV1f.w); -R127f.y = (mul_nonIEEE(R0f.w,R4f.x) + R11f.z); -PS0f = R127f.y; -// 3 -R124f.x = -(R11f.x) + R7f.x; -R124f.y = intBitsToFloat(((R127f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); -R127f.z = -(R11f.z) + R7f.z; -R124f.w = -(R11f.y) + R7f.y; -R125f.y = -(R11f.w) + R7f.w; -PS1f = R125f.y; -// 4 -backupReg0f = R127f.x; -backupReg1f = R0f.y; -backupReg2f = R126f.z; -backupReg1f = R0f.y; -R127f.x = (mul_nonIEEE(R0f.y,R127f.w) + R126f.x); -PV0f.y = -(R11f.w) + backupReg0f; -R126f.z = (mul_nonIEEE(backupReg1f,R127f.y) + backupReg2f); -R127f.w = R9f.w + intBitsToFloat(0x3c23d70a); -R126f.x = (mul_nonIEEE(backupReg1f,R125f.x) + R126f.y); -PS0f = R126f.x; -// 5 -backupReg0f = R124f.x; -R124f.x = (mul_nonIEEE(backupReg0f,R124f.y) + R11f.x); -R127f.y = (mul_nonIEEE(R127f.z,R124f.y) + R11f.z); -R127f.z = (mul_nonIEEE(R0f.y,R126f.w) + R125f.w); -R126f.w = (mul_nonIEEE(R124f.w,R124f.y) + R11f.y); -R7f.x = intBitsToFloat(((PV0f.y >= 0.0)?(floatBitsToInt(1.0)):(0))); -PS1f = R7f.x; -// 6 -backupReg0f = R127f.w; -R125f.x = -(R11f.z) + R8f.z; -R123f.y = (mul_nonIEEE(R125f.y,R124f.y) + R11f.w); -PV0f.y = R123f.y; -R125f.z = -(R11f.w) + R8f.w; -R127f.w = -(R11f.x) + R8f.x; -R124f.z = -(R11f.w) + backupReg0f; -PS0f = R124f.z; -// 7 -backupReg0f = R127f.x; -backupReg1f = R126f.w; -R127f.x = R3f.w + intBitsToFloat(0x3c23d70a); -R125f.y = (mul_nonIEEE(R0f.y,R124f.x) + backupReg0f); -PV1f.z = -(R11f.y) + R8f.y; -R126f.w = (mul_nonIEEE(R0f.y,backupReg1f) + R127f.z); -R125f.w = (mul_nonIEEE(R0f.y,PV0f.y) + R126f.x); -PS1f = R125f.w; -// 8 -backupReg0f = R125f.x; -backupReg1f = R127f.y; -backupReg2f = R126f.z; -backupReg3f = R127f.w; -R125f.x = (mul_nonIEEE(PV1f.z,R7f.x) + R11f.y); -R127f.y = (mul_nonIEEE(backupReg0f,R7f.x) + R11f.z); -R126f.z = (mul_nonIEEE(R0f.y,backupReg1f) + backupReg2f); -R127f.w = (mul_nonIEEE(backupReg3f,R7f.x) + R11f.x); -R126f.x = (mul_nonIEEE(R125f.z,R7f.x) + R11f.w); -PS0f = R126f.x; -// 9 -R124f.x = -(R11f.x) + R9f.x; -R126f.y = intBitsToFloat(((R124f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); -R124f.zwy = vec3(-(R11f.z),-(R11f.y),-(R11f.w)) + vec3(R9f.z,R9f.y,R9f.w); -PS1f = R124f.y; -// 10 -backupReg0f = R127f.x; -backupReg1f = R0f.y; -backupReg2f = R126f.z; -backupReg1f = R0f.y; -R127f.x = (mul_nonIEEE(R0f.y,R127f.w) + R125f.y); -PV0f.y = -(R11f.w) + backupReg0f; -R126f.z = (mul_nonIEEE(backupReg1f,R127f.y) + backupReg2f); -R127f.w = R10f.w + intBitsToFloat(0x3c23d70a); -R9f.x = backupReg1f * intBitsToFloat(0x3f3504f3); -PS0f = R9f.x; -// 11 -backupReg0f = R126f.x; -R126f.x = (mul_nonIEEE(R0f.y,backupReg0f) + R125f.w); -R127f.y = (mul_nonIEEE(R124f.z,R126f.y) + R11f.z); -R124f.z = (mul_nonIEEE(R0f.y,R125f.x) + R126f.w); -R126f.w = (mul_nonIEEE(R124f.w,R126f.y) + R11f.y); -R125f.x = intBitsToFloat(((PV0f.y >= 0.0)?(floatBitsToInt(1.0)):(0))); -PS1f = R125f.x; -// 12 -backupReg0f = R126f.y; -R123f.x = (mul_nonIEEE(R124f.x,R126f.y) + R11f.x); -PV0f.x = R123f.x; -R126f.y = (mul_nonIEEE(R124f.y,backupReg0f) + R11f.w); -R125f.z = -(R11f.z) + R3f.z; -R125f.w = -(R11f.x) + R3f.x; -R124f.x = -(R11f.w) + R3f.w; -PS0f = R124f.x; -// 13 -backupReg0f = R127f.y; -backupReg1f = R126f.z; -PV1f.x = -(R11f.w) + R127f.w; -R127f.y = R6f.w + intBitsToFloat(0x3c23d70a); -PV1f.z = -(R11f.y) + R3f.y; -R127f.w = (mul_nonIEEE(R9f.x,PV0f.x) + R127f.x); -R126f.z = (mul_nonIEEE(R9f.x,backupReg0f) + backupReg1f); -PS1f = R126f.z; -// 14 -backupReg0f = R126f.x; -backupReg1f = R126f.w; -R126f.x = (mul_nonIEEE(R9f.x,R126f.y) + backupReg0f); -R126f.y = (mul_nonIEEE(R125f.z,R125f.x) + R11f.z); -R125f.z = (mul_nonIEEE(PV1f.z,R125f.x) + R11f.y); -R126f.w = (mul_nonIEEE(R9f.x,backupReg1f) + R124f.z); -R3f.y = intBitsToFloat(((PV1f.x >= 0.0)?(floatBitsToInt(1.0)):(0))); -PS0f = R3f.y; -// 15 -backupReg0f = R125f.x; -backupReg0f = R125f.x; -R125f.x = (mul_nonIEEE(R124f.x,backupReg0f) + R11f.w); -R124f.y = -(R11f.y) + R10f.y; -R124f.z = -(R11f.z) + R10f.z; -R123f.w = (mul_nonIEEE(R125f.w,backupReg0f) + R11f.x); -PV1f.w = R123f.w; -R125f.y = -(R11f.w) + R10f.w; -PS1f = R125f.y; -// 16 -backupReg0f = R127f.w; -backupReg1f = R126f.z; -R124f.x = -(R11f.x) + R10f.x; -PV0f.y = -(R11f.w) + R127f.y; -R126f.z = (mul_nonIEEE(R9f.x,R125f.z) + R126f.w); -R127f.w = (mul_nonIEEE(R9f.x,PV1f.w) + backupReg0f); -R127f.y = (mul_nonIEEE(R9f.x,R126f.y) + backupReg1f); -PS0f = R127f.y; -// 17 -backupReg0f = R126f.x; -backupReg1f = R124f.z; -backupReg2f = R124f.y; -R126f.x = (mul_nonIEEE(R9f.x,R125f.x) + backupReg0f); -R124f.y = intBitsToFloat(((PV0f.y >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV1f.y = R124f.y; -R124f.z = (mul_nonIEEE(backupReg1f,R3f.y) + R11f.z); -R126f.w = (mul_nonIEEE(backupReg2f,R3f.y) + R11f.y); -PS1f = -(R11f.z) + R6f.z; -// 18 -R123f.x = (mul_nonIEEE(R124f.x,R3f.y) + R11f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R125f.y,R3f.y) + R11f.w); -PV0f.y = R123f.y; -R125f.z = -(R11f.w) + R6f.w; -R125f.w = -(R11f.x) + R6f.x; -R125f.y = (mul_nonIEEE(PS1f,PV1f.y) + R11f.z); -PS0f = R125f.y; -// 19 -backupReg0f = R126f.x; -R126f.x = (mul_nonIEEE(R9f.x,PV0f.x) + R127f.w); -R123f.y = (mul_nonIEEE(R9f.x,R124f.z) + R127f.y); -PV1f.y = R123f.y; -PV1f.z = -(R11f.y) + R6f.y; -R127f.w = (mul_nonIEEE(R9f.x,R126f.w) + R126f.z); -R126f.w = (mul_nonIEEE(R9f.x,PV0f.y) + backupReg0f); -PS1f = R126f.w; -// 20 -R123f.x = (mul_nonIEEE(R125f.z,R124f.y) + R11f.w); -PV0f.x = R123f.x; -R123f.z = (mul_nonIEEE(PV1f.z,R124f.y) + R11f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(R125f.w,R124f.y) + R11f.x); -PV0f.w = R123f.w; -R11f.z = (mul_nonIEEE(R9f.x,R125f.y) + PV1f.y); -PS0f = R11f.z; -// 21 -R11f.x = (mul_nonIEEE(R9f.x,PV0f.w) + R126f.x); -R11f.y = (mul_nonIEEE(R9f.x,PV0f.z) + R127f.w); -R11f.w = (mul_nonIEEE(R9f.x,PV0f.x) + R126f.w); -// export -passPixelColor0 = vec4(R11f.x, R11f.y, R11f.z, R11f.w); -} diff --git a/Source/Runner2/rules.txt b/Source/Runner2/rules.txt deleted file mode 100644 index 9e81a696..00000000 --- a/Source/Runner2/rules.txt +++ /dev/null @@ -1,26 +0,0 @@ - -[Definition] -titleIds = 00050000101DD600,000500001011AF00,0005000010136300,000500021011AF01 -name = "Runner2 - " -version = 2 - -[TextureRedefine] -width = 1280 -height = 720 -formatsExcluded = 0x431 -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] -#width = 854 -#height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/SanatoryHallways/rules.txt b/Source/SanatoryHallways/rules.txt deleted file mode 100644 index e5cb3d6d..00000000 --- a/Source/SanatoryHallways/rules.txt +++ /dev/null @@ -1,24 +0,0 @@ - -[Definition] -titleIds = 00050000101C5F00 -name = "Sanatory Hallways - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = diff --git a/Source/ScribblenautsUnlimited/rules.txt b/Source/ScribblenautsUnlimited/rules.txt deleted file mode 100644 index 8397a71a..00000000 --- a/Source/ScribblenautsUnlimited/rules.txt +++ /dev/null @@ -1,25 +0,0 @@ - -[Definition] -titleIds = 000500001010B200,000500001010F900,0005000010111E00 -name = "Scribblenauts Unlimited - " -version = 2 - -[TextureRedefine] -width = 1280 -height = 720 -tileModesExcluded = 0x001 # FMV -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/ScribblenautsUnmasked/rules.txt b/Source/ScribblenautsUnmasked/rules.txt deleted file mode 100644 index 3209794a..00000000 --- a/Source/ScribblenautsUnmasked/rules.txt +++ /dev/null @@ -1,25 +0,0 @@ - -[Definition] -titleIds = 0005000010132D00,0005000010132C00,0005000010132D00 -name = "Scribblenauts Unmasked - " -version = 2 - -[TextureRedefine] -width = 1280 -height = 720 -tileModesExcluded = 0x001 # FMV -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/Severed/rules.txt b/Source/Severed/rules.txt deleted file mode 100644 index 03b7e189..00000000 --- a/Source/Severed/rules.txt +++ /dev/null @@ -1,24 +0,0 @@ - -[Definition] -titleIds = 00050000101BA000,00050000101BA900 -name = "Severed - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/ShantaeHGH/023831cdf6638473_00000000000003c9_ps.txt b/Source/ShantaeHGH/023831cdf6638473_00000000000003c9_ps.txt deleted file mode 100644 index 175e6c64..00000000 --- a/Source/ShantaeHGH/023831cdf6638473_00000000000003c9_ps.txt +++ /dev/null @@ -1,245 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 023831cdf6638473 -//ps aa restore -const float resScale = ; -uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf531c800 res 1920x1080x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf5b14800 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0 -layout(location = 0) in vec4 passParameterSem129; -layout(location = 1) in vec4 passParameterSem128; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(passParameterSem129); -R1i = floatBitsToInt(passParameterSem128); -if( activeMaskStackC[1] == true ) { -R2i.w = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.zy),0.0).y); -R2i.z = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.xw),0.0).y); -R2i.y = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.xy),0.0).y); -R0i.x = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.zw),0.0).y); -R3i.xyzw = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R1i.xy),0.0).xyzw); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R127i.x = floatBitsToInt(max(intBitsToFloat(R2i.z), intBitsToFloat(R2i.y))); -R127i.y = floatBitsToInt(min(intBitsToFloat(R2i.z), intBitsToFloat(R2i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(0x3b2aaaab)); -R0i.y = 0; -PS0i = R0i.y; -// 1 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), intBitsToFloat(backupReg0i))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R2i.z)); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), intBitsToFloat(backupReg0i))); -// 2 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(R2i.y))); -R5i.z = floatBitsToInt(min(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.x))); -PV0i.z = R5i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R2i.y)); -R6i.z = floatBitsToInt(max(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.z))); -PS0i = R6i.z; -// 3 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(max(intBitsToFloat(R3i.y), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(min(intBitsToFloat(R3i.y), intBitsToFloat(PV0i.z))); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(backupReg0i))); -PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3e000000)); -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg0i)); -PS1i = R0i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), intBitsToFloat(0x3d4ccccd))); -// 5 -PV1i.x = ((intBitsToFloat(PV0i.z) > intBitsToFloat(PV0i.y))?int(0xFFFFFFFF):int(0x0)); -// 6 -R2i.x = ((PV1i.x == 0)?(0):(R3i.x)); -R2i.y = ((PV1i.x == 0)?(0):(R3i.y)); -R2i.z = ((PV1i.x == 0)?(0):(R3i.z)); -R2i.w = ((PV1i.x == 0)?(0):(R3i.w)); -R0i.w = ((PV1i.x == 0)?(0):(0x3f800000)); -PS0i = R0i.w; -// 7 -predResult = (R0i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PS1i))); -PV0i.w = R127i.w; -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[0].z) / resScale)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[0].w) / resScale)); -// 4 -R0i.x = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(PV1i.z))); -R0i.y = floatBitsToInt(intBitsToFloat(R1i.y) + -(intBitsToFloat(PV1i.w))); -R2i.z = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV1i.w)); -PS0i = R2i.y; -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x41000000)/ resScale); -// 6 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); -// 7 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -// 8 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), intBitsToFloat(0xc0000000) / resScale)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(0xc0000000) / resScale)); -// 9 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), 2.0)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.y), 2.0)); -// 10 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[1].x) / resScale)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[1].y) / resScale)); -// 11 -R3i.x = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt(intBitsToFloat(R1i.y) + -(intBitsToFloat(PV0i.w))); -R0i.z = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(PV0i.z)); -R0i.w = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.w)); -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.xy),0.0).xyzw); -R2i.xyzw = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R2i.zy),0.0).xyzw); -R3i.xyzw = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R3i.xy),0.0).xyzw); -R0i.xyzw = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.zw),0.0).xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R126i.x = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(R2i.z)); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) / 2.0); -R126i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(R2i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R2i.x)); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) / 2.0); -R126i.w = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(R2i.w)); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) / 2.0); -// 1 -backupReg0i = R0i.y; -backupReg1i = R0i.x; -backupReg2i = R0i.w; -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R0i.z)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) / 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(backupReg0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(backupReg1i)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(backupReg2i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) / 2.0); -// 2 -R127i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV1i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0); -R127i.y = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(PV1i.y)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) / 2.0); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) / 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(PV1i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) / 2.0); -// 3 -PV1i.y = ((intBitsToFloat(PV0i.y) > intBitsToFloat(R6i.z))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = ((intBitsToFloat(R5i.z) > intBitsToFloat(PV0i.y))?int(0xFFFFFFFF):int(0x0)); -// 4 -R123i.x = ((PV1i.z == 0)?(PV1i.y):(int(-1))); -PV0i.x = R123i.x; -// 5 -R2i.x = ((PV0i.x == 0)?(R127i.z):(R126i.z)); -R2i.y = ((PV0i.x == 0)?(R127i.y):(R126i.y)); -R2i.z = ((PV0i.x == 0)?(R127i.x):(R126i.x)); -R2i.w = ((PV0i.x == 0)?(R127i.w):(R126i.w)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R1i.zw)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R1i.w))); -// 1 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(R2i.x))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(R2i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(R2i.z))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(R2i.w))); -} -// export -passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/ShantaeHGH/24d99fe8b4e5f576_0000000000000000_vs.txt b/Source/ShantaeHGH/24d99fe8b4e5f576_0000000000000000_vs.txt deleted file mode 100644 index 21439855..00000000 --- a/Source/ShantaeHGH/24d99fe8b4e5f576_0000000000000000_vs.txt +++ /dev/null @@ -1,78 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 24d99fe8b4e5f576 -//AA restore -const float resScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem129; -layout(location = 1) out vec4 passParameterSem128; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -PV0f.x = R2f.y + intBitsToFloat(uf_remappedVS[0].y)/ resScale; -PV0f.y = R2f.x + intBitsToFloat(uf_remappedVS[0].x)/ resScale; -R1f.w = 1.0; -R0f.x = R2f.x + -(intBitsToFloat(uf_remappedVS[0].x)/ resScale); -PS0f = R0f.x; -// 1 -R0f.y = R2f.y + -(intBitsToFloat(uf_remappedVS[0].y)/ resScale); -R0f.z = PV0f.y; -R0f.w = PV0f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem129 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem128 = vec4(R2f.x, R2f.y, R2f.x, R2f.y); -} diff --git a/Source/ShantaeHGH/294904d1771460cf_0000000000000079_ps.txt b/Source/ShantaeHGH/294904d1771460cf_0000000000000079_ps.txt deleted file mode 100644 index ede915b7..00000000 --- a/Source/ShantaeHGH/294904d1771460cf_0000000000000079_ps.txt +++ /dev/null @@ -1,121 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 294904d1771460cf -//vertical blur -const float resScale = ; -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5b14800 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem128; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem128; -R4f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -// 0 -R127f.x = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x404ec4ec)/ resScale; -PV0f.x = R127f.x; -PV0f.y = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3fb13b14)/ resScale; -R127f.z = 0.0; -PV0f.z = R127f.z; -// 1 -R1f.x = PV0f.z + R0f.x; -PV1f.y = PV0f.x; -PV1f.z = -(PV0f.y); -PV1f.w = PV0f.y; -R2f.x = PV0f.z + R0f.x; -PS1f = R2f.x; -// 2 -R3f.x = R127f.z + R0f.x; -R1f.y = PV1f.w + R0f.y; -R2f.z = PV1f.z + R0f.y; -R3f.w = PV1f.y + R0f.y; -PS0f = -(R127f.x); -// 3 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -R0f.x = R127f.z + backupReg0f; -R0f.y = PS0f + backupReg1f; -R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R2f.xz).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.xw).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -// 0 -PV0f.x = R1f.z * intBitsToFloat(0x3ea1e718); -PV0f.y = R1f.y * intBitsToFloat(0x3ea1e718); -PV0f.z = R1f.x * intBitsToFloat(0x3ea1e718); -PV0f.w = R1f.w * intBitsToFloat(0x3ea1e718); -// 1 -R123f.x = (R4f.z * intBitsToFloat(0x3e6879c6) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R4f.y * intBitsToFloat(0x3e6879c6) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R4f.x * intBitsToFloat(0x3e6879c6) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R4f.w * intBitsToFloat(0x3e6879c6) + PV0f.w); -PV1f.w = R123f.w; -// 2 -R123f.x = (R2f.w * intBitsToFloat(0x3ea1e718) + PV1f.w); -PV0f.x = R123f.x; -R123f.y = (R2f.z * intBitsToFloat(0x3ea1e718) + PV1f.x); -PV0f.y = R123f.y; -R123f.z = (R2f.y * intBitsToFloat(0x3ea1e718) + PV1f.y); -PV0f.z = R123f.z; -R123f.w = (R2f.x * intBitsToFloat(0x3ea1e718) + PV1f.z); -PV0f.w = R123f.w; -// 3 -R123f.x = (R3f.z * intBitsToFloat(0x3d8fe9dc) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (R3f.y * intBitsToFloat(0x3d8fe9dc) + PV0f.z); -PV1f.y = R123f.y; -R123f.z = (R3f.x * intBitsToFloat(0x3d8fe9dc) + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (R3f.w * intBitsToFloat(0x3d8fe9dc) + PV0f.x); -PV1f.w = R123f.w; -// 4 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg2f = R0f.z; -backupReg3f = R0f.w; -R0f.x = (backupReg0f * intBitsToFloat(0x3d8fe9dc) + PV1f.z); -R0f.y = (backupReg1f * intBitsToFloat(0x3d8fe9dc) + PV1f.y); -R0f.z = (backupReg2f * intBitsToFloat(0x3d8fe9dc) + PV1f.x); -R0f.w = (backupReg3f * intBitsToFloat(0x3d8fe9dc) + PV1f.w); -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Source/ShantaeHGH/8fdd009324e987ee_0000000000000079_ps.txt b/Source/ShantaeHGH/8fdd009324e987ee_0000000000000079_ps.txt deleted file mode 100644 index 0e4d80fc..00000000 --- a/Source/ShantaeHGH/8fdd009324e987ee_0000000000000079_ps.txt +++ /dev/null @@ -1,124 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 8fdd009324e987ee -//horizontal blur -const float resScale = ; - -uniform ivec4 uf_remappedPS[1]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5b94000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem128; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem128; -R4f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -// 0 -R126f.x = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x404ec4ec)/ resScale; -PV0f.x = R126f.x; -PV0f.y = 0.0; -PV0f.z = 0.0; -PV0f.w = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3fb13b14)/ resScale; -R127f.x = 0.0; -PS0f = R127f.x; -// 1 -R1f.x = R0f.x + PV0f.w; -R1f.y = R0f.y + PV0f.y; -R2f.z = R0f.y + PV0f.z; -PV1f.w = -(PV0f.w); -R3f.x = R0f.x + PV0f.x; -PS1f = R3f.x; -// 2 -R2f.x = R0f.x + PV1f.w; -R3f.y = R0f.y + R127f.x; -PV0f.z = 0.0; -PV0f.w = -(R126f.x); -// 3 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -R0f.x = backupReg0f + PV0f.w; -R0f.y = backupReg1f + PV0f.z; -R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R2f.xz).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -// 0 -PV0f.x = R1f.x * intBitsToFloat(0x3ea1e718); -PV0f.y = R1f.w * intBitsToFloat(0x3ea1e718); -PV0f.z = R1f.z * intBitsToFloat(0x3ea1e718); -PV0f.w = R1f.y * intBitsToFloat(0x3ea1e718); -// 1 -R123f.x = (R4f.x * intBitsToFloat(0x3e6879c6) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R4f.w * intBitsToFloat(0x3e6879c6) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R4f.z * intBitsToFloat(0x3e6879c6) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R4f.y * intBitsToFloat(0x3e6879c6) + PV0f.w); -PV1f.w = R123f.w; -// 2 -R123f.x = (R2f.x * intBitsToFloat(0x3ea1e718) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (R2f.w * intBitsToFloat(0x3ea1e718) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (R2f.z * intBitsToFloat(0x3ea1e718) + PV1f.z); -PV0f.z = R123f.z; -R123f.w = (R2f.y * intBitsToFloat(0x3ea1e718) + PV1f.w); -PV0f.w = R123f.w; -// 3 -R123f.x = (R3f.w * intBitsToFloat(0x3d8fe9dc) + PV0f.y); -PV1f.x = R123f.x; -R123f.y = (R3f.z * intBitsToFloat(0x3d8fe9dc) + PV0f.z); -PV1f.y = R123f.y; -R123f.z = (R3f.y * intBitsToFloat(0x3d8fe9dc) + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (R3f.x * intBitsToFloat(0x3d8fe9dc) + PV0f.x); -PV1f.w = R123f.w; -// 4 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg2f = R0f.z; -backupReg3f = R0f.w; -R0f.x = (backupReg0f * intBitsToFloat(0x3d8fe9dc) + PV1f.w); -R0f.y = (backupReg1f * intBitsToFloat(0x3d8fe9dc) + PV1f.z); -R0f.z = (backupReg2f * intBitsToFloat(0x3d8fe9dc) + PV1f.y); -R0f.w = (backupReg3f * intBitsToFloat(0x3d8fe9dc) + PV1f.x); -// export -passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Source/ShantaeHGH/rules.txt b/Source/ShantaeHGH/rules.txt deleted file mode 100644 index 0baa4a75..00000000 --- a/Source/ShantaeHGH/rules.txt +++ /dev/null @@ -1,34 +0,0 @@ - - -[Definition] -titleIds = 00050000101db200,0005000010203200,0005000c101db200,0005000c10203200 # All regions -name = "Shantae: Half-Genie Hero - " -version = 2 - -[TextureRedefine] -width = 1920 -height = 1080 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 854 -height = 480 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 480 -height = 270 -#formatsExcluded = -overwriteWidth = -overwriteHeight = diff --git a/Source/ShovelKnight/rules.txt b/Source/ShovelKnight/rules.txt deleted file mode 100644 index a65fec62..00000000 --- a/Source/ShovelKnight/rules.txt +++ /dev/null @@ -1,30 +0,0 @@ - -[Definition] -titleIds = 0005000010178F00,00050000101D9300,000500001016E100 -name = "Shovel Knight - " -version = 2 - -[TextureRedefine] # tv -width = 1920 -height = 1080 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # tv -width = 1600 -height = 960 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/Smurfs2/rules.txt b/Source/Smurfs2/rules.txt deleted file mode 100644 index 9d933fd5..00000000 --- a/Source/Smurfs2/rules.txt +++ /dev/null @@ -1,73 +0,0 @@ - -[Definition] -titleIds = 0005000010115D00, 0005000010113300 -name = "The Smurfs 2 - " -version = 2 - -[TextureRedefine] # tv -width = 1920 -height = 1080 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 16 -#height = 16 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 64 -#height = 64 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 256 -#height = 256 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 512 -#height = 512 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 1024 -#height = 1024 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 512 -#height = 448 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 448 -#height = 448 -#formatsExcluded = -overwriteWidth = -overwriteHeight = \ No newline at end of file diff --git a/Source/SonicLostWorld/58cf1eb8946f4b3c_0000000000000079_ps.txt b/Source/SonicLostWorld/58cf1eb8946f4b3c_0000000000000079_ps.txt index 590e4cf7..0495805f 100644 --- a/Source/SonicLostWorld/58cf1eb8946f4b3c_0000000000000079_ps.txt +++ b/Source/SonicLostWorld/58cf1eb8946f4b3c_0000000000000079_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 58cf1eb8946f4b3c -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[3]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4aec000 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem136; diff --git a/Source/SonicLostWorld/79183302695ea935_0000000000000079_ps.txt b/Source/SonicLostWorld/79183302695ea935_0000000000000079_ps.txt index cb60e558..44c92454 100644 --- a/Source/SonicLostWorld/79183302695ea935_0000000000000079_ps.txt +++ b/Source/SonicLostWorld/79183302695ea935_0000000000000079_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 79183302695ea935 -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[1]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4520000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem136; diff --git a/Source/SonicLostWorld/92e5b6dffd1d9b9b_0000000000000079_ps.txt b/Source/SonicLostWorld/92e5b6dffd1d9b9b_0000000000000079_ps.txt index e8bbebd6..58b1920b 100644 --- a/Source/SonicLostWorld/92e5b6dffd1d9b9b_0000000000000079_ps.txt +++ b/Source/SonicLostWorld/92e5b6dffd1d9b9b_0000000000000079_ps.txt @@ -1,16 +1,9 @@ - -version 420 +#version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 92e5b6dffd1d9b9b -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[30]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x18fda000 res 160x90x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem136; diff --git a/Source/SonicLostWorld/a455fc196032912c_0000000000000079_ps.txt b/Source/SonicLostWorld/a455fc196032912c_0000000000000079_ps.txt index 000efa34..bad2db3b 100644 --- a/Source/SonicLostWorld/a455fc196032912c_0000000000000079_ps.txt +++ b/Source/SonicLostWorld/a455fc196032912c_0000000000000079_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader a455fc196032912c -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[1]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e48000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 3 0 1 2 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem136; diff --git a/Source/SonicLostWorld/patches.txt b/Source/SonicLostWorld/patches.txt index 175c5b95..4c901bc3 100644 --- a/Source/SonicLostWorld/patches.txt +++ b/Source/SonicLostWorld/patches.txt @@ -1,18 +1,7 @@ - [sonic2013] moduleMatches = 0x7FE07429, 0xC5691A40 -0x100057B0 = .float +0x100057B0 = .float $width/$height [sonic2013_trial] moduleMatches = 0xCA1DA800 -0x10004B68 = .float +0x10004B68 = .float $width/$height diff --git a/Source/SonicLostWorld/rules.txt b/Source/SonicLostWorld/rules.txt index f48cb3ec..81022476 100644 --- a/Source/SonicLostWorld/rules.txt +++ b/Source/SonicLostWorld/rules.txt @@ -1,70 +1,282 @@ - [Definition] -titleIds = 0005000010135700,000500001012B100,0005000010128F00,0005000210128F01 -name = "Sonic Lost World - " -version = 2 +titleIds = 0005000010135700,000500001012B100,0005000010128F00 +name = Resolution +path = "Sonic Lost World/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 -[TextureRedefine] +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +// 21:9 + +[Preset] +name = (21:9) 1280x540 +$width = 1280 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 2100x900 +$width = 2560 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 2560x1080 +$width = 2560 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 3440x1440 +$width = 3440 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 4200x1800 +$width = 4200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 5120x2160 +$width = 5120 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 10240x5320 +$width = 10240 +$height = 5320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 13760x5760 +$width = 13760 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +// 48:9 + +[Preset] +name = (48:9) 1920x360 +$width = 1920 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 3840x720 +$width = 3840 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 4800x900 +$width = 4800 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 11520x2160 +$width = 11520 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 15360x2880 +$width = 15360 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 23040x4320 +$width = 23040 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (48:9) 30720x5760 +$width = 30720 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] # Game Resolution width = 1280 height = 720 -formats = 0x1a -overwriteFormat = 0x1f -tileModesExcluded = 0x1 -overwriteWidth = -overwriteHeight = +tileModesExcluded = 0x001 +overwriteWidth = ($width / $gameWidth) * 1280 +overwriteHeight = ($height / $gameHeight) * 720 -[TextureRedefine] -width = 1280 -height = 720 -formats = 0x816 -overwriteFormat = 0x820 -tileModesExcluded = 0x1 -overwriteWidth = -overwriteHeight = +[TextureRedefine] # Depth of Field Pass +width = 640 +height = 368 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 368 -[TextureRedefine] -width = 1280 -height = 720 -formatsExcluded = 0x1a,0x816 -tileModesExcluded = 0x1 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] +[TextureRedefine] # Depth of Field Pass width = 640 height = 360 -tileModesExcluded = 0x1 -overwriteWidth = -overwriteHeight = +tileModesExcluded = 0x001 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 360 -[TextureRedefine] +[TextureRedefine] # Depth of Field Pass +width = 320 +height = 192 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 192 + +[TextureRedefine] # Depth of Field Pass width = 320 height = 180 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 180 [TextureRedefine] +width = 213 +height = 120 +overwriteWidth = ($width / $gameWidth) * 213 +overwriteHeight = ($height / $gameHeight) * 120 + +[TextureRedefine] # Bloom Pass +width = 160 +height = 96 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 96 + +[TextureRedefine] # Bloom Pass width = 160 height = 90 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 90 -[TextureRedefine] -width = 854 +[TextureRedefine] # Gamepad Resolution +width = 864 height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 560 -height = 315 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 864 +overwriteHeight = ($height / $gameHeight) * 480 diff --git a/Source/Splatoon/0b9b8f5dfa16ad58_0000000000000000_vs.txt b/Source/Splatoon/0b9b8f5dfa16ad58_0000000000000000_vs.txt index ef291194..b92d6169 100644 --- a/Source/Splatoon/0b9b8f5dfa16ad58_0000000000000000_vs.txt +++ b/Source/Splatoon/0b9b8f5dfa16ad58_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 0b9b8f5dfa16ad58 // Used for: Horizontal Menu Blur Pass -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/Splatoon/5c1761d13feccdff_0000000000000000_vs.txt b/Source/Splatoon/5c1761d13feccdff_0000000000000000_vs.txt index bd5ba604..d3534025 100644 --- a/Source/Splatoon/5c1761d13feccdff_0000000000000000_vs.txt +++ b/Source/Splatoon/5c1761d13feccdff_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 5c1761d13feccdff // Used for: Background DoF -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/Splatoon/6f5412f28bd716e8_0000000000000000_vs.txt b/Source/Splatoon/6f5412f28bd716e8_0000000000000000_vs.txt index 1707f31c..65412af6 100644 --- a/Source/Splatoon/6f5412f28bd716e8_0000000000000000_vs.txt +++ b/Source/Splatoon/6f5412f28bd716e8_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 6f5412f28bd716e8 // Used for: Horizontal Bloom Pass -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/Splatoon/a0bda935c83e6f2a_0000000000000000_vs.txt b/Source/Splatoon/a0bda935c83e6f2a_0000000000000000_vs.txt index b8bf6c4d..462de81a 100644 --- a/Source/Splatoon/a0bda935c83e6f2a_0000000000000000_vs.txt +++ b/Source/Splatoon/a0bda935c83e6f2a_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader a0bda935c83e6f2a // Used for: Vertical Bloom Pass -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/Splatoon/ae5bf21625f134f3_0000000000000000_vs.txt b/Source/Splatoon/ae5bf21625f134f3_0000000000000000_vs.txt deleted file mode 100644 index 29306208..00000000 --- a/Source/Splatoon/ae5bf21625f134f3_0000000000000000_vs.txt +++ /dev/null @@ -1,138 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader ae5bf21625f134f3 -// Used for: Squid Sisters TV -const float scaleAspect = ; -uniform ivec4 uf_remappedVS[7]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = -(R1f.y); -R123f.y = (intBitsToFloat(uf_remappedVS[0].x) * intBitsToFloat(0x3e22f983) + 0.5); -PV0f.y = R123f.y; -R127f.z = (R1f.x > 0.0)?1.0:0.0; -R127f.z /= 2.0; -R126f.w = 1.0; -PV0f.w = R126f.w; -R127f.w = (0.0 > R1f.x)?1.0:0.0; -R127f.w /= 2.0; -PS0f = R127f.w; -// 1 -R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = R0f.x; -PV1f.y = R0f.x; -PV1f.z = R0f.x; -PV1f.w = R0f.x; -PS1f = fract(PV0f.y); -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -R125f.w = (PS1f * intBitsToFloat(0x40c90fdb) + intBitsToFloat(0xc0490fdb)); -PS0f = R125f.w; -// 3 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.z = tempf.x; -R126f.x = R127f.z + -(R127f.w); -PS1f = R126f.x; -// 4 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R126f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.w = tempf.x; -R127f.z = (R127f.x > 0.0)?1.0:0.0; -R127f.z /= 2.0; -PS0f = R127f.z; -// 5 -PV1f.y = (0.0 > R127f.x)?1.0:0.0; -PV1f.y /= 2.0; -R126f.z = R125f.w * intBitsToFloat(0x3e22f983); -PV1f.z = R126f.z; -R125f.w = R126f.x + intBitsToFloat(uf_remappedVS[5].x); -// 6 -PV0f.z = R127f.z + -(PV1f.y); -R127f.y = cos((PV1f.z)/0.1591549367); -PS0f = R127f.y; -// 7 -backupReg0f = R126f.z; -PV1f.y = mul_nonIEEE(PS0f, R125f.w); -R126f.z = PV0f.z + intBitsToFloat(uf_remappedVS[5].y); -PV1f.z = R126f.z; -PS1f = sin((backupReg0f)/0.1591549367); -// 8 -R123f.x = (mul_nonIEEE(-(PS1f),PV1f.z) + PV1f.y); -PV0f.x = R123f.x; -PV0f.w = mul_nonIEEE(PS1f, R125f.w); -// 9 -R1f.x = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedVS[6].x)) + 0.5); -R123f.z = (mul_nonIEEE(R127f.y,R126f.z) + PV0f.w); -PV1f.z = R123f.z; -// 10 -R1f.y = (mul_nonIEEE(PV1f.z,intBitsToFloat(uf_remappedVS[6].y)) + 0.5); -// export -gl_Position = vec4(R0f.x*scaleAspect, R0f.y, R0f.z, R0f.w); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.z); -} diff --git a/Source/Splatoon/fc3e63a2007625f8_0000000000000000_vs.txt b/Source/Splatoon/fc3e63a2007625f8_0000000000000000_vs.txt index 6050dfb9..e5813743 100644 --- a/Source/Splatoon/fc3e63a2007625f8_0000000000000000_vs.txt +++ b/Source/Splatoon/fc3e63a2007625f8_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader fc3e63a2007625f8 // Used for: Vertical Menu Blur Pass -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/Splatoon/patches.txt b/Source/Splatoon/patches.txt index 3dfb2dd4..5f7b5681 100644 --- a/Source/Splatoon/patches.txt +++ b/Source/Splatoon/patches.txt @@ -1,23 +1,12 @@ - [SplatoonV272uw] moduleMatches = 0xF7A78809 #rodata constants -0x1004364C = .float -0x10124BE0 = .float -0x10158FE0 = .float -0x10160454 = .float +0x1004364C = .float $width/$height +0x10124BE0 = .float $width/$height +0x10158FE0 = .float $width/$height +0x10160454 = .float $width/$height _aspectAddr = 0x1004364C @@ -38,10 +27,10 @@ _aspectAddr = 0x1004364C moduleMatches = 0x08ED6677 #rodata constants -0x1003C670 = .float -0x101092B0 = .float -0x10144564 = .float -0x1014A514 = .float +0x1003C670 = .float $width/$height +0x101092B0 = .float $width/$height +0x10144564 = .float $width/$height +0x1014A514 = .float $width/$height _aspectAddr = 0x1003C670 diff --git a/Source/Splatoon/rules.txt b/Source/Splatoon/rules.txt index d59bc148..059ff764 100644 --- a/Source/Splatoon/rules.txt +++ b/Source/Splatoon/rules.txt @@ -1,121 +1,383 @@ - [Definition] titleIds = 0005000010176900,0005000010176A00,0005000010162B00 -name = "Splatoon - " -version = 2 +name = Resolution +path = "Splatoon/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 -[TextureRedefine] # tv +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +// 21:9 + +[Preset] +name = (21:9) 1280x540 +$width = 1280 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 2100x900 +$width = 2560 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 2560x1080 +$width = 2560 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 3440x1440 +$width = 3440 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 4200x1800 +$width = 4200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 5120x2160 +$width = 5120 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 10240x5320 +$width = 10240 +$height = 5320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 13760x5760 +$width = 13760 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] # Game Resolution width = 1280 height = 720 -formatsExcluded = 0x19,0x1a -overwriteWidth = -overwriteHeight = +formatsExcluded = 0x31 +overwriteWidth = ($width / $gameWidth) * 1280 +overwriteHeight = ($height / $gameHeight) * 720 -[TextureRedefine] # tv -width = 1280 -height = 720 -formats = 0x19,0x1a -overwriteFormat = 0x1f -overwriteWidth = -overwriteHeight = +[TextureRedefine] # Blur Map +width = 640 +height = 368 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 368 -[TextureRedefine] # half-res alpha +[TextureRedefine] # Blur Map width = 640 height = 360 -formatsExcluded = 0x41a,0x431 # exclude obvious textures; 41a exclude is broken atm, stage previews don't show -overwriteWidth = -overwriteHeight = +formatsExcluded = 0x41a,0x431 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 360 -[TextureRedefine] # quarter-res alpha -width = 320 -height = 180 -formatsExcluded = 0x35 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # squid sisters -width = 1024 -height = 576 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # zoom blur +[TextureRedefine] # Blur Map width = 512 -height = 288 -overwriteWidth = -overwriteHeight = +height = 256 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 512 +overwriteHeight = ($height / $gameHeight) * 256 -[TextureRedefine] # sub zoom blur +[TextureRedefine] # Zoom Map +width = 512 +height = 228 +overwriteWidth = ($width / $gameWidth) * 512 +overwriteHeight = ($height / $gameHeight) * 228 + +[TextureRedefine] # Zoom Map +width = 448 +height = 256 +overwriteWidth = ($width / $gameWidth) * 448 +overwriteHeight = ($height / $gameHeight) * 256 + +[TextureRedefine] # Zoom Map width = 448 height = 252 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 448 +overwriteHeight = ($height / $gameHeight) * 252 -[TextureRedefine] # player icon - GL_SRGB8_ALPHA8; Disabled because of current graphic pack scaling bugs -width = 128 -height = 128 -formats = 0x41a -#overwriteWidth = -#overwriteHeight = +[TextureRedefine] # Bloom Map +width = 320 +height = 192 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 192 -[TextureRedefine] # player icon - GL_RGBA8; Disabled because of current graphic pack scaling bugs +[TextureRedefine] # Bloom Mip +width = 320 +height = 180 +formatsExcluded = 0x35,0x11f +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 180 + +[TextureRedefine] # Bloom Mip width = 256 -height = 256 -formats = 0x1a -#overwriteWidth = -#overwriteHeight = +height = 128 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 256 +overwriteHeight = ($height / $gameHeight) * 128 -[TextureRedefine] # player name - GL_RGBA8; Disabled because they scale incorrectly in certain places -width = 128 -height = 32 -formats = 0x1a -#overwriteWidth = -#overwriteHeight = +[TextureRedefine] # Bloom Mip +width = 160 +height = 96 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 96 -[TextureRedefine] # multiplayer -width = 848 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res alpha (multiplayer) -width = 424 -height = 240 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # a bloom mip +[TextureRedefine] # Bloom Mip width = 160 height = 90 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 90 + +[TextureRedefine] # Bloom Mip +width = 128 +height = 64 formats = 0x816 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 128 +overwriteHeight = ($height / $gameHeight) * 64 -[TextureRedefine] +[TextureRedefine] # Bloom Mip +width = 96 +height = 48 +overwriteWidth = ($width / $gameWidth) * 96 +overwriteHeight = ($height / $gameHeight) * 48 + +[TextureRedefine] # Bloom Mip +width = 80 +height = 45 +overwriteWidth = ($width / $gameWidth) * 80 +overwriteHeight = ($height / $gameHeight) * 45 + +[TextureRedefine] # Bloom Mip +width = 64 +height = 32 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 64 +overwriteHeight = ($height / $gameHeight) * 32 + +[TextureRedefine] # Bloom Mip +width = 40 +height = 22 +overwriteWidth = ($width / $gameWidth) * 40 +overwriteHeight = ($height / $gameHeight) * 22 + +[TextureRedefine] # Bloom Mip +width = 32 +height = 16 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 32 +overwriteHeight = ($height / $gameHeight) * 16 + +[TextureRedefine] # Bloom Mip +width = 24 +height = 16 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 24 +overwriteHeight = ($height / $gameHeight) * 16 + +[TextureRedefine] # Bloom Mip +width = 20 +height = 11 +overwriteWidth = ($width / $gameWidth) * 20 +overwriteHeight = ($height / $gameHeight) * 11 + +[TextureRedefine] # Inkopolis News width = 1024 -height = 1024 -formats = 0x005 -overwriteWidth = -overwriteHeight = +height = 576 +overwriteWidth = ($width / $gameWidth) * 1024 +overwriteHeight = ($height / $gameHeight) * 576 +[TextureRedefine] # Inkopolis News Blur Map +width = 256 +height = 256 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 256 +overwriteHeight = ($height / $gameHeight) * 256 -[TextureRedefine] -width = 2048 -height = 2048 -formats = 0x005 -overwriteWidth = -overwriteHeight = +[TextureRedefine] # Gamepad Resolution +width = 864 +height = 480 +overwriteWidth = ($width / $gameWidth) * 864 +overwriteHeight = ($height / $gameHeight) * 480 + +[TextureRedefine] # Gamepad Resolution +width = 854 +height = 480 +overwriteWidth = ($width / $gameWidth) * 854 +overwriteHeight = ($height / $gameHeight) * 480 + +[TextureRedefine] # Gamepad Resolution +width = 848 +height = 480 +overwriteWidth = ($width / $gameWidth) * 848 +overwriteHeight = ($height / $gameHeight) * 480 + +[TextureRedefine] # Gamepad Blur Map +width = 448 +height = 240 +overwriteWidth = ($width / $gameWidth) * 448 +overwriteHeight = ($height / $gameHeight) * 240 + +[TextureRedefine] # Gamepad Blur Map +width = 424 +height = 240 +overwriteWidth = ($width / $gameWidth) * 424 +overwriteHeight = ($height / $gameHeight) * 240 + +[TextureRedefine] # Gamepad Bloom Map +width = 224 +height = 128 +overwriteWidth = ($width / $gameWidth) * 224 +overwriteHeight = ($height / $gameHeight) * 128 + +[TextureRedefine] # Gamepad Bloom Map +width = 212 +height = 120 +overwriteWidth = ($width / $gameWidth) * 212 +overwriteHeight = ($height / $gameHeight) * 120 + +[TextureRedefine] # Gamepad Bloom Mip +width = 106 +height = 60 +overwriteWidth = ($width / $gameWidth) * 106 +overwriteHeight = ($height / $gameHeight) * 60 + +[TextureRedefine] # Gamepad Bloom Mip +width = 53 +height = 30 +overwriteWidth = ($width / $gameWidth) * 53 +overwriteHeight = ($height / $gameHeight) * 30 + +[TextureRedefine] # Gamepad Bloom Mip +width = 26 +height = 15 +overwriteWidth = ($width / $gameWidth) * 26 +overwriteHeight = ($height / $gameHeight) * 15 + +[TextureRedefine] # Gamepad Bloom Mip +width = 13 +height = 7 +overwriteWidth = ($width / $gameWidth) * 13 +overwriteHeight = ($height / $gameHeight) * 7 diff --git a/Source/SpongeBob/rules.txt b/Source/SpongeBob/rules.txt deleted file mode 100644 index 7f9c5117..00000000 --- a/Source/SpongeBob/rules.txt +++ /dev/null @@ -1,25 +0,0 @@ - -[Definition] -titleIds = 0005000010146900,0005000010147D00 -name = "SpongeBob SquarePants Plankton's Robotic Revenge - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/StarFoxGuard/rules.txt b/Source/StarFoxGuard/rules.txt deleted file mode 100644 index 0e59c056..00000000 --- a/Source/StarFoxGuard/rules.txt +++ /dev/null @@ -1,49 +0,0 @@ - -[Definition] -titleIds = 00050000101BEC00,00050000101BED00 -name = "Star Fox Guard - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res 1 -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res 2 -width = 320 -height = 176 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #o-res -width = 160 -height = 90 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = diff --git a/Source/StarFoxZero/rules.txt b/Source/StarFoxZero/rules.txt deleted file mode 100644 index 55be003c..00000000 --- a/Source/StarFoxZero/rules.txt +++ /dev/null @@ -1,64 +0,0 @@ - -[Definition] -titleIds = 00050000101B0400,00050000101B0500 -name = "Star Fox Zero - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -formatsExcluded = 0x41A # exclude the intro background texture -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # tv 2 (cockpit view) -width = 1152 -height = 720 -formatsExcluded = 0x41A # exclude the intro background texture -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res alpha (TV) -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Half-width -width = 640 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # quarter-res alpha (TV+gamepad) -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad 2 (cockpit view) -width = 680 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res alpha (gamepad) -width = 427 -height = 240 -formatsExcluded = 0x41A,0x431 # exclude obvious textures -overwriteWidth = -overwriteHeight = diff --git a/Source/SuperMario3DWorld/1f83c0d47b1c4c34_0000000000000000_vs.txt b/Source/SuperMario3DWorld/1f83c0d47b1c4c34_0000000000000000_vs.txt index 320ac437..abd996db 100644 --- a/Source/SuperMario3DWorld/1f83c0d47b1c4c34_0000000000000000_vs.txt +++ b/Source/SuperMario3DWorld/1f83c0d47b1c4c34_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 1f83c0d47b1c4c34 // Used for: Background Blur -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/SuperMario3DWorld/280351fcf8e5949f_0000000000000000_vs.txt b/Source/SuperMario3DWorld/280351fcf8e5949f_0000000000000000_vs.txt index f1702642..c47bac70 100644 --- a/Source/SuperMario3DWorld/280351fcf8e5949f_0000000000000000_vs.txt +++ b/Source/SuperMario3DWorld/280351fcf8e5949f_0000000000000000_vs.txt @@ -1,18 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable // shader 280351fcf8e5949f // Used for: Another vertical blur -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/SuperMario3DWorld/5661793d88425685_0000000007fffff9_ps.txt b/Source/SuperMario3DWorld/5661793d88425685_0000000007fffff9_ps.txt index 231d6389..c6743d89 100644 --- a/Source/SuperMario3DWorld/5661793d88425685_0000000007fffff9_ps.txt +++ b/Source/SuperMario3DWorld/5661793d88425685_0000000007fffff9_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader 5661793d88425685 // Used for: First glitter bloom pass -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[7]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4f48800 res 320x180x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Source/SuperMario3DWorld/6d9067fd20086bc0_0000000000000000_vs.txt b/Source/SuperMario3DWorld/6d9067fd20086bc0_0000000000000000_vs.txt index 127bf9dd..8004feeb 100644 --- a/Source/SuperMario3DWorld/6d9067fd20086bc0_0000000000000000_vs.txt +++ b/Source/SuperMario3DWorld/6d9067fd20086bc0_0000000000000000_vs.txt @@ -1,18 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable // shader 6d9067fd20086bc0 // Used for: Vertical blur -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/SuperMario3DWorld/842a19b509f8b91a_0000000000000000_vs.txt b/Source/SuperMario3DWorld/842a19b509f8b91a_0000000000000000_vs.txt index d399e248..8da51acf 100644 --- a/Source/SuperMario3DWorld/842a19b509f8b91a_0000000000000000_vs.txt +++ b/Source/SuperMario3DWorld/842a19b509f8b91a_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 842a19b509f8b91a // Used for: General Blur vertical -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($width/$gameWidth); uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/SuperMario3DWorld/8d68a0e3561ff525_0000000000000000_vs.txt b/Source/SuperMario3DWorld/8d68a0e3561ff525_0000000000000000_vs.txt index 0a1ea860..05c26c49 100644 --- a/Source/SuperMario3DWorld/8d68a0e3561ff525_0000000000000000_vs.txt +++ b/Source/SuperMario3DWorld/8d68a0e3561ff525_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 8d68a0e3561ff525 -// Used for: General Blur horizontal -const float resXScale = ; -const float resYScale = ; +// Used for: Horizontal Gameplay Blur +const float resXScale = ($width/$gameWidth); +const float resYScale = ($width/$gameWidth); uniform ivec4 uf_remappedVS[1]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/SuperMario3DWorld/b727c08e3b534992_0000000007fffffd_ps.txt b/Source/SuperMario3DWorld/b727c08e3b534992_0000000007fffffd_ps.txt index 79aac922..fb16e92e 100644 --- a/Source/SuperMario3DWorld/b727c08e3b534992_0000000007fffffd_ps.txt +++ b/Source/SuperMario3DWorld/b727c08e3b534992_0000000007fffffd_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader b727c08e3b534992 // Used for: Second glitter bloom pass -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[10]; layout(binding = 1) uniform sampler2DArray textureUnitPS1;// Tex1 addr 0xf50ed800 res 320x180x6 dim 5 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Source/SuperMario3DWorld/be99d80628d31127_00000000000003c9_ps.txt b/Source/SuperMario3DWorld/be99d80628d31127_00000000000003c9_ps.txt index ff95e0ea..249b6ea8 100644 --- a/Source/SuperMario3DWorld/be99d80628d31127_00000000000003c9_ps.txt +++ b/Source/SuperMario3DWorld/be99d80628d31127_00000000000003c9_ps.txt @@ -1,19 +1,10 @@ - - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader be99d80628d31127 //AA PS -// Used for: Scaling AA to resolution - -const float resXScale = ; -const float resYScale = ; +// Used for: Another vertical blur +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[4]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5800800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 diff --git a/Source/SuperMario3DWorld/patches.txt b/Source/SuperMario3DWorld/patches.txt index 349e69b2..82d75c17 100644 --- a/Source/SuperMario3DWorld/patches.txt +++ b/Source/SuperMario3DWorld/patches.txt @@ -1,19 +1,8 @@ - [RedCarpetAspectUW] moduleMatches = 0xBBAF1908, 0xD2308838, 0xEB70C731 # rodata constants -0x10363ED4 = .float -0x1036A688 = .float +0x10363ED4 = .float $width/$height +0x1036A688 = .float $width/$height _aspectAddr = 0x10363ED4 # Aspect calculation diff --git a/Source/SuperMario3DWorld/rules.txt b/Source/SuperMario3DWorld/rules.txt index 4f210e82..a6a9e42d 100644 --- a/Source/SuperMario3DWorld/rules.txt +++ b/Source/SuperMario3DWorld/rules.txt @@ -1,121 +1,362 @@ - [Definition] titleIds = 0005000010145D00,0005000010145C00,0005000010106100 -name = "Super Mario 3D World - " -version = 2 +name = Resolution +path = "Super Mario 3D World/Graphics/Resolution" +description = Changes the resolution of the game. "zoom-transitions" are also not upscaled yet. +version = 3 -[TextureRedefine] # tv +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// For [4:3] resolutions that are multiples of 320x180 +// Performance + +[Preset] +name = 320x180 +$width = 320 +$height = 180 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + + +// For [21:9] resolutions that are multiples of 420x180 +// Performance + +[Preset] +name = (21:9) 1260x540 +$width = 1260 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 1680x720 +$width = 1680 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 2100x900 +$width = 2100 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = (21:9) 2520x1080 +$width = 2520 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 3360x1440 +$width = 3360 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 5040x2160 +$width = 5040 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 6720x2880 +$width = 6720 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiats + +[Preset] +name = (21:9) 10080x4320 +$width = 10080 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 13440x5760 +$width = 13440 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] width = 1280 height = 720 -formatsExcluded = 0x008,0x41A,0x034,0x035 # exclude obvious textures -overwriteWidth = -overwriteHeight = +formatsExcluded = 0x008,0x41A,0x034,0x035 0x008 +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 -[TextureRedefine] # zoomed in -width = 1128 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # zoom transition -width = 1000 -height = 600 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # zoom transition 2 -width = 1000 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res alpha -width = 640 -height = 360 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res (zoomed in) -width = 564 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res (zoom transition) -width = 500 -height = 300 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res (zoom transition 2) -width = 500 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # quarter-res alpha -width = 320 -height = 180 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res (zoomed in) -width = 282 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res (zoom transition) -width = 250 -height = 150 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res (zoom transition 2) -width = 250 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # 1/8 res -width = 160 -height = 90 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res (gamepad) -width = 427 -height = 240 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res (gamepad) -width = 214 -height = 120 -formatsExcluded = 0x41A # exclude obvious textures -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # shadows +[TextureRedefine] #shadow width = 1024 height = 1024 formats = 0x005 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width/$gameWidth) * 1024 +overwriteHeight = ($height/$gameHeight) * 1024 + +[TextureRedefine] +width = 864 +height = 480 +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 + +[TextureRedefine] +width = 854 +height = 480 +overwriteWidth = ($width/$gameWidth) * 854 +overwriteHeight = ($height/$gameHeight) * 480 + +[TextureRedefine] #Depth 8 +width = 640 +height = 368 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 + +[TextureRedefine] #Depth +width = 640 +height = 360 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 + +#[TextureRedefine] #Looks like it's texture formats only, verify 0x80e +#width = 512 +#height = 512 +#formatsExcluded = 0x431,0x235,0x80e,0x034 +#overwriteWidth = ($width/$gameWidth) * 512 +#overwriteHeight = ($height/$gameHeight) * 512 + +[TextureRedefine] +width = 512 +height = 256 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 256 + +[TextureRedefine] # +width = 480 +height = 272 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 480 +overwriteHeight = ($height/$gameHeight) * 272 + +[TextureRedefine] +width = 480 +height = 270 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 480 +overwriteHeight = ($height/$gameHeight) * 270 + +[TextureRedefine] +width = 320 +height = 192 +#formats = +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + +[TextureRedefine] +width = 320 +height = 180 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 + +[TextureRedefine] +width = 256 +height = 256 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 256 + +[TextureRedefine] +width = 256 +height = 144 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 144 + +[TextureRedefine] +width = 256 +height = 128 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 128 + +[TextureRedefine] +width = 240 +height = 135 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 240 +overwriteHeight = ($height/$gameHeight) * 135 + +[TextureRedefine] +width = 160 +height = 96 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 96 + +[TextureRedefine] +width = 160 +height = 90 +#formats = +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 90 + +[TextureRedefine] +width = 128 +height = 128 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 128 + +[TextureRedefine] +width = 128 +height = 80 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 80 + +[TextureRedefine] +width = 128 +height = 64 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 64 + +[TextureRedefine] +width = 120 +height = 67 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 120 +overwriteHeight = ($height/$gameHeight) * 67 + +[TextureRedefine] +width = 96 +height = 48 +#formats = +overwriteWidth = ($width/$gameWidth) * 96 +overwriteHeight = ($height/$gameHeight) * 48 + +[TextureRedefine] +width = 80 +height = 45 +#formats = +overwriteWidth = ($width/$gameWidth) * 80 +overwriteHeight = ($height/$gameHeight) * 45 + +[TextureRedefine] +width = 64 +height = 64 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 64 + +[TextureRedefine] +width = 64 +height = 48 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 48 + +[TextureRedefine] +width = 64 +height = 32 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 32 + +[TextureRedefine] +width = 60 +height = 33 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 60 +overwriteHeight = ($height/$gameHeight) * 33 + +[TextureRedefine] +width = 40 +height = 22 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 40 +overwriteHeight = ($height/$gameHeight) * 22 \ No newline at end of file diff --git a/Source/SuperMarioMaker/0b9b8f5dfa16ad58_0000000000000000_vs.txt b/Source/SuperMarioMaker/0b9b8f5dfa16ad58_0000000000000000_vs.txt index a43278b3..ccdb48b6 100644 --- a/Source/SuperMarioMaker/0b9b8f5dfa16ad58_0000000000000000_vs.txt +++ b/Source/SuperMarioMaker/0b9b8f5dfa16ad58_0000000000000000_vs.txt @@ -1,17 +1,12 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable // shader 0b9b8f5dfa16ad58 -//vertical blur -const float resScale = ; +// Used for: Horizontal (Edit Screen) Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; + uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; layout(location = 0) in uvec4 attrDataSem0; @@ -29,7 +24,7 @@ else if( v == 0xFFFFFFFF ) return floatBitsToInt(0.0); return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); } -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} void main() { vec4 R0f = vec4(0.0); @@ -53,15 +48,15 @@ attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDeco attrDecoder.w = 0; R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); // 0 -R127f.x = (R1f.x > 0.0)?1.0:0.0; -R127f.x /= 2.0; -R127f.y = -(R1f.y); -PV0f.y = R127f.y; -R127f.z = (0.0 > R1f.x)?1.0:0.0; -R127f.z /= 2.0; +R127f.x = -(R1f.y); +PV0f.x = R127f.x; +R127f.y = (R1f.x > 0.0)?1.0:0.0; +R127f.y /= 2.0; +R126f.z = (0.0 > R1f.x)?1.0:0.0; +R126f.z /= 2.0; R127f.w = 1.0; PV0f.w = R127f.w; -R126f.x = intBitsToFloat(uf_remappedVS[0].z) * intBitsToFloat(0x3fae8a72)/ resScale; +R126f.x = intBitsToFloat(uf_remappedVS[0].w) * (intBitsToFloat(0x3fae8a72)/resYScale); PS0f = R126f.x; // 1 R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); @@ -69,30 +64,28 @@ PV1f.x = R0f.x; PV1f.y = R0f.x; PV1f.z = R0f.x; PV1f.w = R0f.x; -R126f.w = (PV0f.y > 0.0)?1.0:0.0; -R126f.w /= 2.0; -PS1f = R126f.w; +R127f.z = (PV0f.x > 0.0)?1.0:0.0; +R127f.z /= 2.0; +PS1f = R127f.z; // 2 -backupReg0f = R127f.y; tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); PV0f.x = tempf.x; PV0f.y = tempf.x; PV0f.z = tempf.x; PV0f.w = tempf.x; R0f.y = tempf.x; -R127f.y = (0.0 > backupReg0f)?1.0:0.0; -R127f.y /= 2.0; -PS0f = R127f.y; +PS0f = (0.0 > R127f.x)?1.0:0.0; +PS0f /= 2.0; // 3 -backupReg0f = R127f.x; +backupReg0f = R127f.z; tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); PV1f.x = tempf.x; PV1f.y = tempf.x; PV1f.z = tempf.x; PV1f.w = tempf.x; R0f.z = tempf.x; -R127f.x = backupReg0f + -(R127f.z); -PS1f = R127f.x; +R127f.z = backupReg0f + -(PS0f); +PS1f = R127f.z; // 4 tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); PV0f.x = tempf.x; @@ -100,15 +93,14 @@ PV0f.y = tempf.x; PV0f.z = tempf.x; PV0f.w = tempf.x; R0f.w = tempf.x; -PS0f = R126f.w + -(R127f.y); +PS0f = R127f.y + -(R126f.z); // 5 -PV1f.y = PS0f + 0.5; -PV1f.z = R127f.x + 0.5; +R1f.x = PS0f + 0.5; +PV1f.y = R127f.z + 0.5; // 6 -R1f.x = PV1f.y; -R1f.y = PV1f.z + -(R126f.x); -R1f.z = PV1f.z + R126f.x; -R1f.w = PV1f.z; +R1f.y = PV1f.y + -(R126f.x); +R1f.z = PV1f.y + R126f.x; +R1f.w = PV1f.y; // export gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Source/SuperMarioMaker/141f484aff9b9f5a_0000000000000000_vs.txt b/Source/SuperMarioMaker/141f484aff9b9f5a_0000000000000000_vs.txt deleted file mode 100644 index 10a4979e..00000000 --- a/Source/SuperMarioMaker/141f484aff9b9f5a_0000000000000000_vs.txt +++ /dev/null @@ -1,83 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 141f484aff9b9f5a -// AA fix -const float resScale = ; -uniform ivec4 uf_remappedVS[3]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R123f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -R1f.x = backupReg0f; -R1f.x *= 2.0; -R1f.y = backupReg1f; -R1f.y *= 2.0; -R1f.z = intBitsToFloat(uf_remappedVS[0].x); -R1f.w = 1.0; -PS0f = intBitsToFloat(uf_remappedVS[1].x) + 0.5; -// 1 -R123f.x = (mul_nonIEEE(-(PS0f),intBitsToFloat(uf_remappedVS[2].y)/ resScale) + R2f.y); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(-(PS0f),intBitsToFloat(uf_remappedVS[2].x)/ resScale) + R2f.x); -PV1f.y = R123f.y; -// 2 -R2f.z = PV1f.y; -R2f.w = PV1f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem2 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -} diff --git a/Source/SuperMarioMaker/37a4ec1a7dbc7391_00000000000003c9_ps.txt b/Source/SuperMarioMaker/37a4ec1a7dbc7391_00000000000003c9_ps.txt deleted file mode 100644 index c33ff298..00000000 --- a/Source/SuperMarioMaker/37a4ec1a7dbc7391_00000000000003c9_ps.txt +++ /dev/null @@ -1,192 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 37a4ec1a7dbc7391 -// AA fix -const float resScale = ; -uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf45c6000 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x1d7ae000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem2; -if( activeMaskStackC[1] == true ) { -R2f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -R4f.xyzw = (textureGather(textureUnitPS1, R0f.xy).wzxy); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0f.x = max(R4f.z, R4f.x); -PV0f.y = min(R4f.w, R4f.y); -PV0f.z = R2f.x * intBitsToFloat(uf_remappedPS[0].x); -PV0f.w = min(R4f.z, R4f.x); -PS0f = max(R4f.w, R4f.y); -// 1 -R123f.x = (mul_nonIEEE(R2f.y,intBitsToFloat(uf_remappedPS[0].y)) + PV0f.z); -PV1f.x = R123f.x; -PV1f.y = max(PV0f.x, PS0f); -R127f.z = R4f.z + -(R4f.y); -PV1f.z = R127f.z; -PV1f.w = min(PV0f.w, PV0f.y); -R126f.z = R4f.w + -(R4f.x); -PS1f = R126f.z; -// 2 -PV0f.x = max(PV1f.x, PV1f.y); -PV0f.y = PV1f.y * intBitsToFloat(uf_remappedPS[1].x); -PV0f.z = min(PV1f.x, PV1f.w); -R3f.x = PV1f.z + PS1f; -PS0f = R3f.x; -// 3 -R1f.x = max(PV0f.y, intBitsToFloat(uf_remappedPS[1].y)); -R3f.y = R127f.z + -(R126f.z); -R0f.w = -(PV0f.z) + PV0f.x; -// 4 -predResult = (R0f.w > R1f.x); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1f.x = R4f.y + R4f.x; -PV0f.x = R1f.x; -R1f.y = intBitsToFloat(uf_remappedPS[2].z) * 0.25; -R0f.w = max(R3f.x, -(R3f.x)); -PV0f.w = R0f.w; -R4f.x = max(R3f.y, -(R3f.y)); -PS0f = R4f.x; -// 1 -R1f.x = min(PV0f.w, PS0f); -R4f.y = -(intBitsToFloat(uf_remappedPS[3].y)/ resScale); -R0f.z = intBitsToFloat(uf_remappedPS[3].x); -R0f.w = R4f.z + PV0f.x; -PV1f.w = R0f.w; -R4f.x = -(intBitsToFloat(uf_remappedPS[3].x)/ resScale); -PS1f = R4f.x; -// 2 -R1f.z = R4f.w + PV1f.w; -PV0f.z = R1f.z; -R0f.w = intBitsToFloat(uf_remappedPS[3].y); -// 3 -backupReg0f = R1f.y; -R1f.y = (mul_nonIEEE(backupReg0f,PV0f.z) + intBitsToFloat(uf_remappedPS[2].w)/ resScale); -PV1f.y = R1f.y; -// 4 -backupReg0f = R1f.x; -R1f.x = max(PV1f.y, backupReg0f); -PV0f.x = R1f.x; -// 5 -R1f.w = 1.0 / PV0f.x; -PS1f = R1f.w; -// 6 -R1f.x = R3f.x * PS1f; -PV0f.x = R1f.x; -R1f.y = R3f.y * PS1f; -PV0f.y = R1f.y; -// 7 -R1f.x = max(PV0f.x, -(intBitsToFloat(uf_remappedPS[2].y)/resScale)); -PV1f.x = R1f.x; -R1f.y = max(PV0f.y, -(intBitsToFloat(uf_remappedPS[2].y)/ resScale)); -PV1f.y = R1f.y; -// 8 -R1f.x = min(PV1f.x, intBitsToFloat(uf_remappedPS[2].y)); -PV0f.x = R1f.x; -R1f.y = min(PV1f.y, intBitsToFloat(uf_remappedPS[2].y)); -PV0f.y = R1f.y; -// 9 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg2f = R0f.z; -backupReg0f = R0f.x; -backupReg3f = R0f.w; -backupReg1f = R0f.y; -R0f.x = (mul_nonIEEE(PV0f.x,R4f.x) + backupReg0f); -R0f.y = (mul_nonIEEE(PV0f.y,R4f.y) + backupReg1f); -R0f.z = (mul_nonIEEE(PV0f.x,backupReg2f) + backupReg0f); -R0f.w = (mul_nonIEEE(PV0f.y,backupReg3f) + backupReg1f); -} -if( activeMaskStackC[2] == true ) { -R1f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0f = R0f.y; -backupReg1f = R0f.x; -PV0f.x = R0f.w + R1f.w; -PV0f.x /= 2.0; -PV0f.y = R0f.z + R1f.z; -PV0f.y /= 2.0; -PV0f.z = backupReg0f + R1f.y; -PV0f.z /= 2.0; -PV0f.w = backupReg1f + R1f.x; -PV0f.w /= 2.0; -// 1 -PV1f.x = -(R2f.w) + PV0f.x; -PV1f.y = -(R2f.z) + PV0f.y; -PV1f.z = -(R2f.y) + PV0f.z; -PV1f.w = -(R2f.x) + PV0f.w; -// 2 -backupReg0f = R2f.x; -backupReg1f = R2f.y; -backupReg2f = R2f.z; -backupReg3f = R2f.w; -R2f.x = (PV1f.w * intBitsToFloat(0x3f4ccccd) + backupReg0f); -R2f.y = (PV1f.z * intBitsToFloat(0x3f4ccccd) + backupReg1f); -R2f.z = (PV1f.y * intBitsToFloat(0x3f4ccccd) + backupReg2f); -R2f.w = (PV1f.x * intBitsToFloat(0x3f4ccccd) + backupReg3f); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -// export -passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -} diff --git a/Source/SuperMarioMaker/7f513855e2ebc5d0_0000000000000000_vs.txt b/Source/SuperMarioMaker/7f513855e2ebc5d0_0000000000000000_vs.txt deleted file mode 100644 index 03336ca6..00000000 --- a/Source/SuperMarioMaker/7f513855e2ebc5d0_0000000000000000_vs.txt +++ /dev/null @@ -1,127 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 7f513855e2ebc5d0 -// vertical blur -const float resScale = ; -uniform ivec4 uf_remappedVS[5]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R126f.x = (R1f.x > 0.0)?1.0:0.0; -R126f.x /= 2.0; -R127f.y = -(R1f.y); -PV0f.y = R127f.y; -R127f.z = (0.0 > R1f.x)?1.0:0.0; -R127f.z /= 2.0; -R127f.w = 1.0; -PV0f.w = R127f.w; -R125f.x = intBitsToFloat(uf_remappedVS[0].w) / resScale * intBitsToFloat(0x3f200000); -PS0f = R125f.x; -// 1 -R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = R0f.x; -PV1f.y = R0f.x; -PV1f.z = R0f.x; -PV1f.w = R0f.x; -R127f.x = (PV0f.y > 0.0)?1.0:0.0; -R127f.x /= 2.0; -PS1f = R127f.x; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -PS0f = (0.0 > R127f.y)?1.0:0.0; -PS0f /= 2.0; -// 3 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.z = tempf.x; -R126f.z = R127f.x + -(PS0f); -PS1f = R126f.z; -// 4 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.w = tempf.x; -PS0f = R126f.x + -(R127f.z); -// 5 -R126f.x = intBitsToFloat(uf_remappedVS[0].w) / resScale * intBitsToFloat(0x401173eb); -PV1f.x = R126f.x; -R127f.y = R126f.z + 0.5; -PV1f.y = R127f.y; -R2f.x = PS0f + 0.5; -PS1f = R2f.x; -// 6 -R1f.x = PS1f; -R2f.y = PV1f.y + -(R125f.x); -R2f.z = PV1f.y + R125f.x; -R2f.w = PV1f.y; -R1f.y = PV1f.y + -(PV1f.x); -PS0f = R1f.y; -// 7 -R1f.z = R127f.y + R126f.x; -R1f.w = R127f.y; -// export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem1 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -} diff --git a/Source/SuperMarioMaker/cedd7a7d49bc26da_0000000000000000_vs.txt b/Source/SuperMarioMaker/cedd7a7d49bc26da_0000000000000000_vs.txt deleted file mode 100644 index 2d5742e4..00000000 --- a/Source/SuperMarioMaker/cedd7a7d49bc26da_0000000000000000_vs.txt +++ /dev/null @@ -1,128 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader cedd7a7d49bc26da -// horizontal blur -const float resScale = ; -uniform ivec4 uf_remappedVS[5]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = (0.0 > R1f.x)?1.0:0.0; -R127f.x /= 2.0; -R127f.y = (R1f.x > 0.0)?1.0:0.0; -R127f.y /= 2.0; -R127f.z = -(R1f.y); -PV0f.z = R127f.z; -R127f.w = 1.0; -PV0f.w = R127f.w; -R126f.y = intBitsToFloat(uf_remappedVS[0].z) / resScale * intBitsToFloat(0x3f200000); -PS0f = R126f.y; -// 1 -R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = R0f.x; -PV1f.y = R0f.x; -PV1f.z = R0f.x; -PV1f.w = R0f.x; -R126f.w = (PV0f.z > 0.0)?1.0:0.0; -R126f.w /= 2.0; -PS1f = R126f.w; -// 2 -backupReg0f = R127f.z; -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -R127f.z = (0.0 > backupReg0f)?1.0:0.0; -R127f.z /= 2.0; -PS0f = R127f.z; -// 3 -backupReg0f = R127f.y; -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.z = tempf.x; -R127f.y = backupReg0f + -(R127f.x); -PS1f = R127f.y; -// 4 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.w = tempf.x; -PS0f = R126f.w + -(R127f.z); -// 5 -R127f.x = intBitsToFloat(uf_remappedVS[0].z) / resScale * intBitsToFloat(0x401173eb); -PV1f.z = PS0f + 0.5; -R127f.w = R127f.y + 0.5; -PV1f.w = R127f.w; -// 6 -R2f.x = PV1f.z; -PV0f.x = R2f.x; -R2f.y = PV1f.w + -(R126f.y); -R2f.z = PV1f.w + R126f.y; -R2f.w = PV1f.w; -// 7 -R1f.x = PV0f.x; -R1f.y = R127f.w + -(R127f.x); -R1f.z = R127f.w + R127f.x; -R1f.w = R127f.w; -// export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem1 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -} diff --git a/Source/SuperMarioMaker/db25758018a030be_0000000000000000_vs.txt b/Source/SuperMarioMaker/db25758018a030be_0000000000000000_vs.txt deleted file mode 100644 index ae769dd8..00000000 --- a/Source/SuperMarioMaker/db25758018a030be_0000000000000000_vs.txt +++ /dev/null @@ -1,115 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader db25758018a030be -// chromatic aberration -const float resScale = ; -uniform ivec4 uf_remappedVS[5]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = -(R1f.y); -PV0f.x = R127f.x; -R127f.y = (R1f.x > 0.0)?1.0:0.0; -R127f.y /= 2.0; -R127f.z = (0.0 > R1f.x)?1.0:0.0; -R127f.z /= 2.0; -R127f.w = 1.0; -PV0f.w = R127f.w; -R2f.x = intBitsToFloat(uf_remappedVS[0].z) / resScale; -PS0f = R2f.x; -// 1 -R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = R0f.x; -PV1f.y = R0f.x; -PV1f.z = R0f.x; -PV1f.w = R0f.x; -R126f.z = (PV0f.x > 0.0)?1.0:0.0; -R126f.z /= 2.0; -PS1f = R126f.z; -// 2 -backupReg0f = R127f.x; -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -R127f.x = (0.0 > backupReg0f)?1.0:0.0; -R127f.x /= 2.0; -PS0f = R127f.x; -// 3 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.z = tempf.x; -R126f.w = R127f.y + -(R127f.z); -PS1f = R126f.w; -// 4 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.w = tempf.x; -PS0f = R126f.z + -(R127f.x); -// 5 -R1f.x = R126f.w + 0.5; -R2f.y = intBitsToFloat(uf_remappedVS[0].w) / resScale; -R1f.z = PS0f + 0.5; -// export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem0 = vec4(R1f.x, R1f.z, R1f.z, R1f.z); -// export -passParameterSem2 = vec4(R2f.x, R2f.y, R2f.z, R2f.z); -} diff --git a/Source/SuperMarioMaker/fc3e63a2007625f8_0000000000000000_vs.txt b/Source/SuperMarioMaker/fc3e63a2007625f8_0000000000000000_vs.txt index d5f14e4c..ce1e3de8 100644 --- a/Source/SuperMarioMaker/fc3e63a2007625f8_0000000000000000_vs.txt +++ b/Source/SuperMarioMaker/fc3e63a2007625f8_0000000000000000_vs.txt @@ -1,17 +1,12 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_packing : enable -// shader fc3e63a2007625f8 -//horizontal blyr -const float resScale = ; +// shader 0b9b8f5dfa16ad58 +// Used for: Vertical (Edit Screen) Blur +const float resXScale = $width/1280; +const float resYScale = $height/720; + uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; layout(location = 0) in uvec4 attrDataSem0; @@ -29,7 +24,7 @@ else if( v == 0xFFFFFFFF ) return floatBitsToInt(0.0); return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); } -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} void main() { vec4 R0f = vec4(0.0); @@ -53,15 +48,15 @@ attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDeco attrDecoder.w = 0; R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); // 0 -R127f.x = -(R1f.y); -PV0f.x = R127f.x; -R127f.y = (R1f.x > 0.0)?1.0:0.0; -R127f.y /= 2.0; -R126f.z = (0.0 > R1f.x)?1.0:0.0; -R126f.z /= 2.0; +R127f.x = (R1f.x > 0.0)?1.0:0.0; +R127f.x /= 2.0; +R127f.y = -(R1f.y); +PV0f.y = R127f.y; +R127f.z = (0.0 > R1f.x)?1.0:0.0; +R127f.z /= 2.0; R127f.w = 1.0; PV0f.w = R127f.w; -R126f.x = intBitsToFloat(uf_remappedVS[0].w) * intBitsToFloat(0x3fae8a72)/ resScale; +R126f.x = intBitsToFloat(uf_remappedVS[0].z) * (intBitsToFloat(0x3fae8a72)/resXScale); PS0f = R126f.x; // 1 R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); @@ -69,28 +64,30 @@ PV1f.x = R0f.x; PV1f.y = R0f.x; PV1f.z = R0f.x; PV1f.w = R0f.x; -R127f.z = (PV0f.x > 0.0)?1.0:0.0; -R127f.z /= 2.0; -PS1f = R127f.z; +R126f.w = (PV0f.y > 0.0)?1.0:0.0; +R126f.w /= 2.0; +PS1f = R126f.w; // 2 +backupReg0f = R127f.y; tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); PV0f.x = tempf.x; PV0f.y = tempf.x; PV0f.z = tempf.x; PV0f.w = tempf.x; R0f.y = tempf.x; -PS0f = (0.0 > R127f.x)?1.0:0.0; -PS0f /= 2.0; +R127f.y = (0.0 > backupReg0f)?1.0:0.0; +R127f.y /= 2.0; +PS0f = R127f.y; // 3 -backupReg0f = R127f.z; +backupReg0f = R127f.x; tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); PV1f.x = tempf.x; PV1f.y = tempf.x; PV1f.z = tempf.x; PV1f.w = tempf.x; R0f.z = tempf.x; -R127f.z = backupReg0f + -(PS0f); -PS1f = R127f.z; +R127f.x = backupReg0f + -(R127f.z); +PS1f = R127f.x; // 4 tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); PV0f.x = tempf.x; @@ -98,14 +95,15 @@ PV0f.y = tempf.x; PV0f.z = tempf.x; PV0f.w = tempf.x; R0f.w = tempf.x; -PS0f = R127f.y + -(R126f.z); +PS0f = R126f.w + -(R127f.y); // 5 -R1f.x = PS0f + 0.5; -PV1f.y = R127f.z + 0.5; +PV1f.y = PS0f + 0.5; +PV1f.z = R127f.x + 0.5; // 6 -R1f.y = PV1f.y + -(R126f.x); -R1f.z = PV1f.y + R126f.x; -R1f.w = PV1f.y; +R1f.x = PV1f.y; +R1f.y = PV1f.z + -(R126f.x); +R1f.z = PV1f.z + R126f.x; +R1f.w = PV1f.z; // export gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); // export diff --git a/Source/SuperMarioMaker/rules.txt b/Source/SuperMarioMaker/rules.txt index fbd12755..faf72b6b 100644 --- a/Source/SuperMarioMaker/rules.txt +++ b/Source/SuperMarioMaker/rules.txt @@ -1,279 +1,164 @@ - - [Definition] titleIds = 000500001018DB00,000500001018DC00,000500001018DD00 -name = "Super Mario Maker - " -version = 2 +name = Resolution +path = "Super Mario Maker/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 -[TextureRedefine] +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + + +[TextureRedefine] # Game Resolution width = 1280 height = 720 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +formats = 0x019,0x80e,0x001 +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 -[TextureRedefine] -width = 1152 -height = 648 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 1024 -#height = 1024 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 912 -height = 516 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 900 -height = 508 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 892 -height = 504 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 880 -height = 496 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 868 -height = 488 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 856 -height = 483 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 854 -height = 480 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 844 -height = 476 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 832 -height = 467 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 820 -height = 460 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 808 -height = 456 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 800 -height = 448 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 788 -height = 444 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 780 -height = 440 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 776 -height = 436 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 772 -height = 432 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 768 -height = 384 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +# Screen Blur Type 1 [TextureRedefine] width = 640 -height = 360 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 427 -height = 240 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 384 -height = 216 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 384 -height = 192 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 256 -#height = 256 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = +height = 368 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 [TextureRedefine] width = 160 -height = 90 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +height = 96 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 64 + + +# Screen Blur Type 2 +[TextureRedefine] +width = 864 +height = 480 +formats = 0x019 +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 + +[TextureRedefine] +width = 448 +height = 220 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 448 +overwriteHeight = ($height/$gameHeight) * 220 [TextureRedefine] width = 128 -height = 256 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 128 -#height = 128 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 106 -height = 60 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 64 -#height = 64 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 48 -#height = 48 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 32 height = 64 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 32 -#height = 32 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 24 -#height = 24 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 16 -#height = 16 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 8 -#height = 8 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 4 -#height = 4 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 2 -#height = 2 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 64 diff --git a/Source/SuperSmashBros/315d61ad21f97614_0000000000000000_vs.txt b/Source/SuperSmashBros/315d61ad21f97614_0000000000000000_vs.txt index 414de879..cb5e6def 100644 --- a/Source/SuperSmashBros/315d61ad21f97614_0000000000000000_vs.txt +++ b/Source/SuperSmashBros/315d61ad21f97614_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 315d61ad21f97614 // Used for: Vertical blur pass end screen background -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/SuperSmashBros/4b92e636153d6b54_0000000000000000_vs.txt b/Source/SuperSmashBros/4b92e636153d6b54_0000000000000000_vs.txt index 37191f20..3b739987 100644 --- a/Source/SuperSmashBros/4b92e636153d6b54_0000000000000000_vs.txt +++ b/Source/SuperSmashBros/4b92e636153d6b54_0000000000000000_vs.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_shading_language_packing : enable // shader 4b92e636153d6b54 // Used for: Horizontal blur pass end screen background -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_remappedVS[5]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Source/SuperSmashBros/rules.txt b/Source/SuperSmashBros/rules.txt index 56d4fe71..1f72c20e 100644 --- a/Source/SuperSmashBros/rules.txt +++ b/Source/SuperSmashBros/rules.txt @@ -1,129 +1,318 @@ - [Definition] titleIds = 0005000010110E00,0005000010145000,0005000010144F00 -name = "Super Smash Bros. for Wii U - " -version = 2 +name = Resolution +path = "Super Smash Bros. for Wii U/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 -[TextureRedefine] # tv +[Preset] +name = 1920x1080 (Default) +$width = 1920 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 + +// For [4:3] resolutions that are multiples of 320x180 +// Performance + +[Preset] +name = 320x180 +$width = 320 +$height = 180 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1920 +$gameHeight = 1080 + +// Quality + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1920 +$gameHeight = 1080 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1920 +$gameHeight = 1080 + + + +[TextureRedefine] # Game Resolution +width = 1920 +height = 1088 +overwriteWidth = ($width / $gameWidth) * 1920 +overwriteHeight = ($height / $gameHeight) * 1088 + +[TextureRedefine] # Game Resolution width = 1920 height = 1080 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 1920 +overwriteHeight = ($height / $gameHeight) * 1080 -[TextureRedefine] # half-res +[TextureRedefine] # Gamepad Resolution +width = 864 +height = 480 +overwriteWidth = ($width / $gameWidth) * 864 +overwriteHeight = ($height / $gameHeight) * 480 + +[TextureRedefine] # Gamepad Resolution +width = 854 +height = 480 +overwriteWidth = ($width / $gameWidth) * 854 +overwriteHeight = ($height / $gameHeight) * 480 + +[TextureRedefine] +width = 960 +height = 544 +overwriteWidth = ($width / $gameWidth) * 960 +overwriteHeight = ($height / $gameHeight) * 544 + +[TextureRedefine] width = 960 height = 540 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 960 +overwriteHeight = ($height / $gameHeight) * 540 + +[TextureRedefine] +width = 960 +height = 368 +overwriteWidth = ($width / $gameWidth) * 960 +overwriteHeight = ($height / $gameHeight) * 368 [TextureRedefine] width = 960 height = 360 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 960 +overwriteHeight = ($height / $gameHeight) * 360 -[TextureRedefine] # q-res +[TextureRedefine] +width = 832 +height = 416 +overwriteWidth = ($width / $gameWidth) * 832 +overwriteHeight = ($height / $gameHeight) * 416 + +[TextureRedefine] +width = 820 +height = 410 +overwriteWidth = ($width / $gameWidth) * 820 +overwriteHeight = ($height / $gameHeight) * 410 + +[TextureRedefine] +width = 768 +height = 368 +overwriteWidth = ($width / $gameWidth) * 768 +overwriteHeight = ($height / $gameHeight) * 368 + +[TextureRedefine] +width = 736 +height = 368 +overwriteWidth = ($width / $gameWidth) * 736 +overwriteHeight = ($height / $gameHeight) * 368 + +[TextureRedefine] +width = 730 +height = 365 +overwriteWidth = ($width / $gameWidth) * 730 +overwriteHeight = ($height / $gameHeight) * 365 + +[TextureRedefine] +width = 512 +height = 272 +overwriteWidth = ($width / $gameWidth) * 512 +overwriteHeight = ($height / $gameHeight) * 272 + +[TextureRedefine] +width = 480 +height = 272 +overwriteWidth = ($width / $gameWidth) * 480 +overwriteHeight = ($height / $gameHeight) * 272 + +[TextureRedefine] width = 480 height = 270 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 480 +overwriteHeight = ($height / $gameHeight) * 270 + +[TextureRedefine] +width = 480 +height = 192 +overwriteWidth = ($width / $gameWidth) * 480 +overwriteHeight = ($height / $gameHeight) * 192 [TextureRedefine] width = 480 height = 180 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 480 +overwriteHeight = ($height / $gameHeight) * 180 -[TextureRedefine] # o-res -width = 240 -height = 135 -overwriteWidth = -overwriteHeight = +[TextureRedefine] +width = 448 +height = 224 +overwriteWidth = ($width / $gameWidth) * 448 +overwriteHeight = ($height / $gameHeight) * 224 -[TextureRedefine] # half-res 2 -width = 120 -height = 67 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res 2 -width = 60 -height = 33 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # o-res 2 -width = 30 -height = 16 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # o-res 3 -width = 8 -height = 1 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # 2nd -width = 820 -height = 410 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # 3rd -width = 730 -height = 365 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # 4th +[TextureRedefine] width = 420 height = 210 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 420 +overwriteHeight = ($height / $gameHeight) * 210 + +[TextureRedefine] +width = 256 +height = 256 +formats = 0x5,0x19 +overwriteWidth = ($width / $gameWidth) * 256 +overwriteHeight = ($height / $gameHeight) * 256 + +[TextureRedefine] +width = 256 +height = 144 +overwriteWidth = ($width / $gameWidth) * 256 +overwriteHeight = ($height / $gameHeight) * 144 + +[TextureRedefine] +width = 256 +height = 128 +formats = 0x8 +overwriteWidth = ($width / $gameWidth) * 256 +overwriteHeight = ($height / $gameHeight) * 128 [TextureRedefine] width = 249 height = 250 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 249 +overwriteHeight = ($height / $gameHeight) * 250 + +[TextureRedefine] +width = 240 +height = 135 +overwriteWidth = ($width / $gameWidth) * 240 +overwriteHeight = ($height / $gameHeight) * 135 + +[TextureRedefine] +width = 192 +height = 160 +overwriteWidth = ($width / $gameWidth) * 192 +overwriteHeight = ($height / $gameHeight) * 160 + +[TextureRedefine] +width = 192 +height = 144 +overwriteWidth = ($width / $gameWidth) * 192 +overwriteHeight = ($height / $gameHeight) * 144 [TextureRedefine] width = 160 height = 160 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 160 + +[TextureRedefine] +width = 160 +height = 144 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 144 [TextureRedefine] width = 135 height = 135 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 135 +overwriteHeight = ($height / $gameHeight) * 135 -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = +[TextureRedefine] +width = 128 +height = 80 +overwriteWidth = ($width / $gameWidth) * 128 +overwriteHeight = ($height / $gameHeight) * 80 -[TextureRedefine] # shadows -width = 512 -height = 512 -formats = 0x00f,0x00b -overwriteWidth = -overwriteHeight = +[TextureRedefine] +width = 128 +height = 128 +formats = 0x21f,0x219,0x80e +overwriteWidth = ($width / $gameWidth) * 128 +overwriteHeight = ($height / $gameHeight) * 128 -[TextureRedefine] # shadows -width = 1024 -height = 1024 -formats = 0x005 -overwriteWidth = -overwriteHeight = +[TextureRedefine] +width = 120 +height = 67 +overwriteWidth = ($width / $gameWidth) * 120 +overwriteHeight = ($height / $gameHeight) * 67 + +[TextureRedefine] +width = 64 +height = 48 +overwriteWidth = ($width / $gameWidth) * 64 +overwriteHeight = ($height / $gameHeight) * 48 + +[TextureRedefine] +width = 60 +height = 33 +overwriteWidth = ($width / $gameWidth) * 60 +overwriteHeight = ($height / $gameHeight) * 33 + +[TextureRedefine] +width = 32 +height = 16 +formats = 0x816 +overwriteWidth = ($width / $gameWidth) * 32 +overwriteHeight = ($height / $gameHeight) * 16 + +[TextureRedefine] +width = 30 +height = 16 +overwriteWidth = ($width / $gameWidth) * 30 +overwriteHeight = ($height / $gameHeight) * 16 diff --git a/Source/TNTRacers/rules.txt b/Source/TNTRacers/rules.txt deleted file mode 100644 index 604a9638..00000000 --- a/Source/TNTRacers/rules.txt +++ /dev/null @@ -1,30 +0,0 @@ - -[Definition] -titleIds = 0005000010142800,000500001014F000 -name = "TNT Racers Nitro Machines Edition - " -version = 2 - -[TextureRedefine] # tv -width = 1920 -height = 1080 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # q-res -width = 480 -height = 270 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/TaikoNoTatsujin/9bc0b72c01bbaac2_000000000000001c_ps.txt b/Source/TaikoNoTatsujin/9bc0b72c01bbaac2_000000000000001c_ps.txt deleted file mode 100644 index 3d6180c4..00000000 --- a/Source/TaikoNoTatsujin/9bc0b72c01bbaac2_000000000000001c_ps.txt +++ /dev/null @@ -1,272 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 9bc0b72c01bbaac2 -const float resXScale = ; -const float resYScale = ; -uniform ivec4 uf_remappedPS[2]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x16e68800 res 600x600x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 0 border: 0 -layout(location = 0) in vec4 passParameterSem130; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem130; -R6f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -// 0 -PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x) / resXScale, intBitsToFloat(uf_remappedPS[1].x)); -R127f.y = intBitsToFloat(uf_remappedPS[1].y) + 4.0; -R127f.z = R6f.w + -(1.0); -PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y) / resYScale, intBitsToFloat(uf_remappedPS[1].x)); -PS0f = mul_nonIEEE(R6f.z, R6f.z); -// 1 -backupReg0f = R0f.x; -backupReg0f = R0f.x; -R0f.x = backupReg0f + -(PV0f.x); -R123f.y = (mul_nonIEEE(R6f.y,R6f.y) + PS0f); -PV1f.y = R123f.y; -PV1f.z = R0f.y + -(PV0f.w); -R127f.w = R0f.y + PV0f.w; -PV1f.w = R127f.w; -R2f.x = backupReg0f + PV0f.x; -PS1f = R2f.x; -// 2 -R123f.x = (mul_nonIEEE(R6f.x,R6f.x) + PV1f.y); -PV0f.x = R123f.x; -R0f.y = PV1f.z; -R2f.z = PV1f.z; -R2f.w = PV1f.w; -R1f.w = 1.0 / R127f.y; -PS0f = R1f.w; -// 3 -R1f.x = (-(intBitsToFloat(uf_remappedPS[0].w)) * 0.5 + 1.0); -R7f.y = intBitsToFloat(((R127f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV1f.z = intBitsToFloat(uf_remappedPS[0].z) + -(0.0); -R2f.y = sqrt(PV0f.x); -PS1f = R2f.y; -// 4 -R7f.x = intBitsToFloat(((PV1f.z >= 0.0)?(floatBitsToInt(1.0)):(0))); -R1f.y = R127f.w; -R1f.z = R0f.x; -R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R2f.xz).xyzw); -R4f.xyzw = (texture(textureUnitPS0, R1f.zy).xyzw); -R5f.xyzw = (texture(textureUnitPS0, R2f.xw).xyzw); -// 0 -backupReg0f = R0f.x; -backupReg0f = R0f.x; -backupReg1f = R0f.y; -backupReg1f = R0f.y; -backupReg2f = R0f.z; -backupReg2f = R0f.z; -backupReg0f = R0f.x; -tempf.x = dot(vec4(backupReg0f,backupReg1f,backupReg2f,-0.0),vec4(backupReg0f,backupReg1f,backupReg2f,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R125f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R6f.x) + backupReg0f); -PS0f = R125f.x; -// 1 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,-0.0),vec4(R3f.x,R3f.y,R3f.z,0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.z = tempf.x; -PS1f = sqrt(PV0f.x); -// 2 -R127f.x = dot(vec4(R4f.x,R4f.y,R4f.z,-0.0),vec4(R4f.x,R4f.y,R4f.z,0.0)); -PV0f.x = R127f.x; -PV0f.y = R127f.x; -PV0f.z = R127f.x; -PV0f.w = R127f.x; -R126f.x = min(R2f.y, PS1f); -PS0f = R126f.x; -// 3 -backupReg0f = R127f.z; -tempf.x = dot(vec4(R5f.x,R5f.y,R5f.z,-0.0),vec4(R5f.x,R5f.y,R5f.z,0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.z = tempf.x; -PS1f = sqrt(backupReg0f); -// 4 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R6f.y) + R0f.y); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R6f.w) + R0f.w); -PV0f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R6f.z) + R0f.z); -PV0f.z = R123f.z; -R126f.w = min(PS1f, R126f.x); -R127f.w = sqrt(R127f.x); -PS0f = R127f.w; -// 5 -backupReg0f = R127f.z; -PV1f.x = R3f.x + R125f.x; -R127f.y = R3f.w + PV0f.y; -R127f.z = R3f.z + PV0f.z; -PV1f.w = R3f.y + PV0f.x; -PS1f = sqrt(backupReg0f); -// 6 -backupReg0f = R0f.x; -PV0f.x = R4f.x + PV1f.x; -R126f.y = backupReg0f + R3f.x; -PV0f.z = min(R127f.w, PS1f); -PV0f.w = R4f.y + PV1f.w; -R127f.w = R0f.y + R3f.y; -PS0f = R127f.w; -// 7 -R125f.x = R4f.w + R127f.y; -PV1f.y = min(PV0f.z, R126f.w); -PV1f.y = clamp(PV1f.y, 0.0, 1.0); -PV1f.z = R4f.z + R127f.z; -R126f.w = R5f.x + PV0f.x; -R125f.w = R5f.y + PV0f.w; -PS1f = R125f.w; -// 8 -backupReg0f = R127f.w; -PV0f.x = R4f.x + R126f.y; -PV0f.y = R0f.z + R3f.z; -PV0f.z = mul_nonIEEE(R6f.w, PV1f.y); -R127f.w = R4f.y + backupReg0f; -R127f.z = R5f.z + PV1f.z; -PS0f = R127f.z; -// 9 -PV1f.x = R5f.w + R125f.x; -R126f.y = R0f.w + R3f.w; -R126f.z = R4f.z + PV0f.y; -R124f.w = R5f.x + PV0f.x; -tempResultf = log2(PV0f.z); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1f = tempResultf; -// 10 -backupReg0f = R127f.z; -backupReg1f = R1f.w; -PV0f.x = PS1f * intBitsToFloat(0x40a00000); -R127f.y = R125f.w * R1f.w; -PV0f.y = R127f.y; -R127f.z = R126f.w * R1f.w; -PV0f.z = R127f.z; -R126f.w = backupReg0f * R1f.w; -R1f.w = PV1f.x * backupReg1f; -PS0f = R1f.w; -// 11 -backupReg0f = R127f.w; -PV1f.x = R6f.y + -(PV0f.y); -PV1f.y = R4f.w + R126f.y; -PV1f.z = R6f.x + -(PV0f.z); -R127f.w = R5f.y + backupReg0f; -R125f.w = exp2(PV0f.x); -PS1f = R125f.w; -// 12 -backupReg0f = R124f.w; -R123f.x = (mul_nonIEEE(PV1f.z,PS1f) + R127f.z); -PV0f.x = R123f.x; -PV0f.y = R5f.w + PV1f.y; -PV0f.z = R5f.z + R126f.z; -R124f.w = (mul_nonIEEE(PV1f.x,PS1f) + R127f.y); -R125f.x = backupReg0f * 0.25; -PS0f = R125f.x; -// 13 -backupReg0f = R127f.w; -R127f.x = R6f.z + -(R126f.w); -R127f.y = PV0f.y * 0.25; -R127f.z = PV0f.z * 0.25; -R127f.w = backupReg0f * 0.25; -PV1f.w = R127f.w; -PS1f = -(PS0f) + PV0f.x; -// 14 -backupReg0f = R125f.x; -R125f.x = -(PV1f.w) + R124f.w; -R123f.y = (mul_nonIEEE(PS1f,R7f.y) + backupReg0f); -PV0f.y = R123f.y; -PV0f.w = R6f.w + -(R1f.w); -// 15 -R123f.x = (mul_nonIEEE(R127f.x,R125f.w) + R126f.w); -PV1f.x = R123f.x; -R123f.y = (intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3eb40000) + PV0f.y); -PV1f.y = R123f.y; -R126f.z = mul_nonIEEE(PV0f.y, R1f.x); -R123f.w = (mul_nonIEEE(PV0f.w,R125f.w) + R1f.w); -PV1f.w = R123f.w; -// 16 -PV0f.x = PV1f.y + intBitsToFloat(0x3edc0000); -PV0f.y = -(R127f.y) + PV1f.w; -PV0f.z = -(R127f.z) + PV1f.x; -R123f.w = (mul_nonIEEE(R125f.x,R7f.y) + R127f.w); -PV0f.w = R123f.w; -// 17 -R123f.x = (intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3e700000) + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (mul_nonIEEE(PV0f.y,R7f.y) + R127f.y); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(PV0f.z,R7f.y) + R127f.z); -PV1f.z = R123f.z; -R126f.w = mul_nonIEEE(PV0f.w, R1f.x); -R127f.w = -(R126f.z) + PV0f.x; -PS1f = R127f.w; -// 18 -R125f.x = PV1f.y; -PV0f.x = R125f.x; -R127f.y = mul_nonIEEE(PV1f.z, R1f.x); -PV0f.y = R127f.y; -PV0f.z = PV1f.x + intBitsToFloat(0x3ec80000); -R123f.w = (intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3df00000) + PV1f.z); -PV0f.w = R123f.w; -PS0f = PV1f.y; -// 19 -PV1f.x = -(PV0f.x) + PS0f; -PV1f.y = -(PV0f.y) + PV0f.w; -PV1f.z = -(R126f.w) + PV0f.z; -R1f.x = (mul_nonIEEE(R127f.w,R7f.x) + R126f.z); -PS1f = R1f.x; -// 20 -R1f.y = (mul_nonIEEE(PV1f.z,R7f.x) + R126f.w); -R1f.z = (mul_nonIEEE(PV1f.y,R7f.x) + R127f.y); -R1f.w = (mul_nonIEEE(PV1f.x,R7f.x) + R125f.x); -// export -if( ((vec4(R1f.x, R1f.y, R1f.z, R1f.w)).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -} diff --git a/Source/TaikoNoTatsujin/rules.txt b/Source/TaikoNoTatsujin/rules.txt deleted file mode 100644 index 268e67b3..00000000 --- a/Source/TaikoNoTatsujin/rules.txt +++ /dev/null @@ -1,39 +0,0 @@ - -[Definition] -titleIds = 00050000101d3000 -name = "Taiko no Tatsujin: Atsumete Tomodachi Daisakusen! - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -#formatsExcluded = 0x1a # disabled because shares same format as display texture itself -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # ??? -width = 600 -height = 600 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # ??? -width = 400 -height = 256 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/Tekken/rules.txt b/Source/Tekken/rules.txt deleted file mode 100644 index 94a636a6..00000000 --- a/Source/Tekken/rules.txt +++ /dev/null @@ -1,26 +0,0 @@ - -[Definition] -titleIds = 000500001010F800,0005000010110000 -name = "TEKKEN TAG TOURNAMENT 2 - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -formatsExcluded = 0x033,0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/Tengami/rules.txt b/Source/Tengami/rules.txt deleted file mode 100644 index bcb748d4..00000000 --- a/Source/Tengami/rules.txt +++ /dev/null @@ -1,24 +0,0 @@ - -[Definition] -titleIds = 000500001015B100,0005000010155B00,00050000101B6500 -name = "Tengami - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/TokyoMirage/013b284dd654166c_00000000001e1e49_ps.txt b/Source/TokyoMirage/013b284dd654166c_00000000001e1e49_ps.txt deleted file mode 100644 index 3f4fd4b1..00000000 --- a/Source/TokyoMirage/013b284dd654166c_00000000001e1e49_ps.txt +++ /dev/null @@ -1,880 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 013b284dd654166c -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1d918000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R10i.x = 0; -PS0i = R10i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.w = tempi.x; -R10i.y = 0; -PS1i = R10i.y; -// 4 -R10i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS1i = R5i.w; -// 8 -R5i.x = PV1i.w << 0x00000002; -R5i.y = PV1i.w << 0x00000005; -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R11i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -PV0i.z = R7i.x << R0i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -PS0i = R9i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R4i.z = R5i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.x & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R4i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R5i.z << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = (R1i.w > R8i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R3i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.z; -PV0i.y = R4i.z + R8i.z; -R8i.z = backupReg0i + int(1); -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R5i.x << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.z].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.z << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R11i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R11i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R11i.z > R9i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.y; -backupReg0i = R9i.y; -R9i.y = backupReg0i + int(1); -PV0i.z = R4i.z + backupReg0i; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.y << R0i.x; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.y].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -// 1 -PV1i.x = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R1i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R10i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R10i.z))); -// 2 -R5i.y = ((PV1i.x == 0)?(0):(0)); -R4i.z = ((PV1i.x == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[1].y)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS10[1].y)); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -// 1 -predResult = (R4i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = backupReg0i; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R4i.w = 0x3f800000; -PV0i.w = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R5i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PS1i)); -R5i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.wy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R3i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R3i.w = floatBitsToInt(intBitsToFloat(R3i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R3i.w; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = floatBitsToInt(min(intBitsToFloat(R7i.y), intBitsToFloat(R3i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS0i = R127i.y; -// 1 -backupReg0i = R0i.z; -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R5i.y))) + uf_blockPS10[1].z)); -PV1i.y = R123i.y; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.w))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -PS1i = R3i.w; -// 2 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R0i.w = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV1i.y)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[10].x)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[10].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[10].y)); -R5i.y = 0; -PS1i = R5i.y; -// 4 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); -PV0i.y = clampFI32(PV0i.y); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.y) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 6 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 7 -R2i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS1i))); -// 9 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 10 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS1i))); -// 11 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R126i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.z = R123i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.z))); -// 2 -backupReg0i = R0i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R4i.y)) + intBitsToFloat(R0i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(backupReg0i))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.z)) + intBitsToFloat(R1i.w))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R2i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R2i.y))); -PS0i = R3i.y; -// 5 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R2i.z))); -PV1i.z = R3i.z; -// 6 -R0i.xyz = ivec3(R3i.x,R3i.y,PV1i.z); -R0i.w = R3i.w; -// 7 -R1i.xyz = ivec3(R5i.z,R5i.y,R5i.y); -R1i.w = R5i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/06ba1a56c89ddf3f_0000000007879249_ps.txt b/Source/TokyoMirage/06ba1a56c89ddf3f_0000000007879249_ps.txt deleted file mode 100644 index e2cce669..00000000 --- a/Source/TokyoMirage/06ba1a56c89ddf3f_0000000007879249_ps.txt +++ /dev/null @@ -1,1085 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 06ba1a56c89ddf3f -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1c0d2000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x1c0de000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a2000 res 4096x4096x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R7i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R13i.x = 0; -PS0i = R13i.x; -// 3 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -R13i.y = 0; -PS1i = R13i.y; -// 4 -R12i.x = 0; -R12i.y = 0; -R13i.z = 0; -R1i.w = 0; -R12i.z = 0; -PS0i = R12i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R6i.w = floatBitsToInt(tempResultf); -PS0i = R6i.w; -// 9 -R6i.x = PV0i.z << 0x00000002; -R6i.y = PV0i.z << 0x00000005; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -} -if( activeMaskStackC[1] == true ) { -R9i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R9i.x << backupReg0i; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R3i.z = R6i.y + 0x00000e10; -PS0i = R3i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R7i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PS1i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.w & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R6i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.z + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.z << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), -(intBitsToFloat(R7i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R9i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.y > R3i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.x; -backupReg0i = R3i.x; -R3i.x = backupReg0i + int(1); -PV0i.w = R3i.z + backupReg0i; -// 1 -R6i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.x << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xy = floatBitsToInt(uf_blockPS11[R6i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.x) + -(intBitsToFloat(R6i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -backupReg0i = R13i.x; -backupReg1i = R13i.z; -backupReg2i = R13i.y; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg2i))); -PS0i = R13i.y; -// 11 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.z << R0i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R3i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R3i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R6i.y = (R3i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R3i.z + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.y << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000004; -R6i.z = PS0i + 0x00000005; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.z].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.y))); -R126i.w = clampFI32(R126i.w); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R127i.x; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R126i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.x))); -PV1i.w = clampFI32(PV1i.w); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -// 11 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.y))); -PV1i.x = R126i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.z))); -PV1i.w = R126i.w; -R125i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R125i.x; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.xyz = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].y),-(uf_blockPS2[1].z)) + vec3(1.0,1.0,1.0)); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -R3i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -PS0i = R3i.z; -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PS1i == 0)?(0):(0x3f800000)); -R2i.w = ((PS1i == 0)?(0):(0)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R1i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R2i.w = floatBitsToInt(min(intBitsToFloat(R1i.z), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).xyz); -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R2i.w))) + uf_blockPS10[1].z)); -PV1i.w = R123i.w; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R1i.x))); -PS1i = R126i.x; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R2i.w)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -PV0i.z = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV1i.w)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[21].x)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R1i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R1i.z))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(R127i.x))); -PS1i = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(PV0i.z))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R127i.y))); -PV0i.x = clampFI32(PV0i.x); -PV0i.y = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R127i.z = floatBitsToInt(max(intBitsToFloat(PS1i), -(intBitsToFloat(PS1i)))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.x))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -PS0i = R2i.x; -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.z))); -R1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PS1i)) + 1.0)); -R127i.w = clampFI32(R127i.w); -R2i.y = 0; -PS0i = R2i.y; -// 7 -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -tempResultf = log2(intBitsToFloat(R127i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -// 10 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -R5i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R5i.x; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.y))); -// 12 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.y))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.y))); -// 2 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.y)) + intBitsToFloat(backupReg0i))); -PV0i.z = R126i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R0i.z))); -PV0i.w = R126i.w; -// 3 -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R4i.z)) + intBitsToFloat(R0i.x))); -PV1i.y = R126i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.y)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R1i.x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R126i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.z)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R3i.x)) + intBitsToFloat(R126i.z))); -PV0i.w = R123i.w; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R126i.y))); -PV1i.z = R123i.z; -// 6 -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(R126i.z))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R5i.x)) + intBitsToFloat(R126i.w))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R126i.y)) + intBitsToFloat(PV1i.z)); -// 7 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R126i.y))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), uf_blockPS3[20].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS3[20].x)); -// 1 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].x)); -PV1i.x = R6i.x; -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[2].y)); -PV1i.y = R6i.y; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[2].z)); -PV1i.z = R6i.z; -// 2 -R0i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -R0i.w = R6i.w; -// 3 -R1i.xyz = ivec3(R2i.z,R2i.y,R2i.y); -R1i.w = R2i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/0d4f172cb95a4c6d_0000000007879249_ps.txt b/Source/TokyoMirage/0d4f172cb95a4c6d_0000000007879249_ps.txt deleted file mode 100644 index 998c75af..00000000 --- a/Source/TokyoMirage/0d4f172cb95a4c6d_0000000007879249_ps.txt +++ /dev/null @@ -1,896 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 0d4f172cb95a4c6d -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1c957000 res 512x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1bbe6000 res 256x128x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x194a2000 res 4096x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R10i.x = R127i.y; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R127i.z = R2i.x; -R1i.w = R1i.y; -R127i.y = int(uint(intBitsToFloat(PV1i.z))); -PS0i = R127i.y; -// 3 -R8i.x = R127i.w; -R8i.y = R1i.z; -R126i.z = R2i.y; -R127i.w = R2i.z; -R3i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R3i.w; -// 4 -R11i.x = 0; -R11i.y = 0; -R6i.z = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R6i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R11i.z = 0; -PS0i = R11i.z; -// 5 -R0i.x = 0; -R126i.x = int(uint(R127i.y) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.x = R126i.x + PS0i; -PS1i = floatBitsToInt(sqrt(intBitsToFloat(R126i.y))); -// 8 -R1i.x = PV1i.x << 0x00000002; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.w))); -R8i.w = PV1i.x << 0x00000005; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -PS0i = R5i.x; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R5i.x),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R1i.w)) + intBitsToFloat(R1i.y))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R10i.x)) + intBitsToFloat(PS0i))); -PS1i = R126i.y; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -R0i.y = R8i.w + 0x00000e10; -PV0i.z = R4i.x << R3i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.z) >> uint(R6i.z)); -// 4 -R2i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.y = (R2i.w > R0i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg0i = R0i.x; -R0i.x = backupReg0i + int(1); -PV0i.y = backupReg1i + backupReg0i; -R5i.w = 0; -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R3i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R6i.z)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000004; -R1i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R10i.z)),vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R5i.y)),-(intBitsToFloat(R5i.z)),-(intBitsToFloat(R5i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R4i.y << R3i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R6i.z)); -// 2 -R0i.x = PV1i.y & 0x0000ffff; -// 3 -backupReg0i = R0i.x; -predResult = (backupReg0i > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R2i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.y = (R0i.x > R2i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R2i.w; -PV0i.y = backupReg0i + R2i.w; -R2i.w = backupReg1i + int(1); -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.x << R3i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R6i.z)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.x = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000005; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R8i.xy = floatBitsToInt(uf_blockPS11[R1i.w].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 7 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R3i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R6i.z)); -// 2 -R2i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R2i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R0i.x = (R2i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -backupReg0i = R0i.x; -predResult = (backupReg0i != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R0i.y + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R1i.y << R3i.w; -// 1 -PV1i.w = int(uint(PV0i.z) >> uint(R6i.z)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R6i.w + PV0i.y; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000003; -R1i.y = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.y].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R127i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV0i.z))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -PV1i.y = clampFI32(PV1i.y); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R11i.y))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R11i.z))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R11i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].y),-(uf_blockPS2[1].z),-(uf_blockPS2[1].x)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.z = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -// 4 -PV0i.y = ((0.0 >= intBitsToFloat(R2i.z))?int(0xFFFFFFFF):int(0x0)); -// 5 -R0i.x = ((PV0i.y == 0)?(0):(0x3f800000)); -R3i.w = ((PV0i.y == 0)?(0):(0)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -// 2 -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.x))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -backupReg0i = R0i.x; -predResult = (backupReg0i == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.z = R2i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); -PV0i.z = clampFI32(PV0i.z); -R127i.w = floatBitsToInt(max(intBitsToFloat(R2i.z), 0.0)); -PV0i.w = R127i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R123i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -// 3 -R0i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -R4i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -R1i.z = PS0i; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.w))); -R2i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.w))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R1i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R1i.z = floatBitsToInt(intBitsToFloat(R1i.z) / 2.0); -R2i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R4i.y)); -PS0i = R2i.z; -// 1 -predResult = (intBitsToFloat(R2i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.w)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.z)) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.w))); -R1i.z = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.w))); -PS0i = R1i.y; -// 7 -R2i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.w)); -R1i.w = R126i.y; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R3i.z; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R1i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.zy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R1i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 3 -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.w = floatBitsToInt(min(intBitsToFloat(R5i.w), intBitsToFloat(R1i.z))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R3i.w))) + uf_blockPS10[1].z)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -R0i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(PV0i.z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), uf_blockPS3[20].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R6i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R6i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS3[20].z)); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -PS1i = R2i.x; -// 4 -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.z))); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,PV0i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.y,R3i.y); -R1i.w = R3i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/0f9b53e33a3bdda2_0000000f0f249249_ps.txt b/Source/TokyoMirage/0f9b53e33a3bdda2_0000000f0f249249_ps.txt deleted file mode 100644 index 80d65750..00000000 --- a/Source/TokyoMirage/0f9b53e33a3bdda2_0000000f0f249249_ps.txt +++ /dev/null @@ -1,1565 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader 0f9b53e33a3bdda2 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30588000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x30634000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x30280000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x30128000 res 1024x1024x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R7i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R7i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R8i.y = R127i.z; -R127i.z = R2i.x; -R7i.w = R1i.y; -R127i.y = int(uint(intBitsToFloat(PV1i.z))); -PS0i = R127i.y; -// 3 -R5i.x = R127i.w; -R1i.y = R1i.z; -R126i.z = R2i.y; -R8i.w = R2i.z; -R8i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -PS1i = R8i.x; -// 4 -R11i.x = 0; -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -R7i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -R11i.y = 0; -PS0i = R11i.y; -// 5 -R0i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R12i.y = 0; -R11i.z = 0; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R126i.x = int(uint(R127i.y) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R125i.x))); -PS1i = R5i.z; -// 8 -R1i.x = PV1i.w << 0x00000002; -R10i.y = PV1i.w << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R9i.x = floatBitsToInt(tempResultf); -PS0i = R9i.x; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R9i.y; -backupReg1i = R4i.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R9i.x))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.x))); -PV0i.z = backupReg1i << R2i.w; -R3i.w = R10i.y + 0x00000e10; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R9i.x))); -PS0i = R6i.z; -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.z) >> uint(backupReg0i)); -// 4 -R10i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R12i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R12i.y; -backupReg0i = R12i.y; -R5i.x = 0; -R12i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R0i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R1i.x)),-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R1i.z)),-(intBitsToFloat(R5i.x))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -// 4 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R7i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R7i.z; -backupReg0i = R7i.z; -R7i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R1i.x << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R0i.x)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.y = PS0i + int(1); -R1i.w = PS0i + 0x00000005; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.w].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(backupReg0i)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(backupReg0i))); -// 7 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -// 9 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R4i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R0i.x)); -// 2 -R10i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R10i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R5i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.y = (R10i.x > R5i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R5i.w; -PV0i.z = R3i.w + R5i.w; -R5i.w = backupReg0i + int(1); -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R1i.y << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.z = R10i.z + PV0i.w; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000003; -R1i.y = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.y].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R125i.z))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); -// 7 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV0i.x)); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.y))); -PV0i.x = clampFI32(PV0i.x); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -// 10 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.w; -// 1 -R127i.x = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.y = R127i.y; -R127i.z = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R125i.z = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS1i = R125i.z; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.y)); -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.y)); -R126i.z = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R124i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -PS1i = R124i.w; -// 4 -R125i.x = ((R127i.z == 0)?(0):(0x3f800000)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.x))); -R5i.z = ((R126i.w == 0)?(0):(0x3f800000)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R124i.x = ((R127i.x == 0)?(0):(0x3f800000)); -PS0i = R124i.x; -// 5 -R0i.x = floatBitsToInt(-(intBitsToFloat(R125i.w)) + 1.0); -PV1i.x = R0i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(R125i.z)) + 1.0); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R124i.w))); -R125i.w = floatBitsToInt(min(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.w))); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS1i = R127i.x; -// 6 -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R5i.z) + 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R125i.z))); -R125i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.x) + 1.0)); -R124i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -R124i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(backupReg0i)) + 1.0)); -PV1i.y = R124i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PS0i))); -R126i.z = clampFI32(R126i.z); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -R127i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -PS1i = R127i.y; -// 8 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R8i.z))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R8i.x))); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.y))); -PV0i.z = R127i.z; -R124i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -PV0i.w = R124i.w; -R124i.z = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w)); -PS0i = R124i.z; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.y))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R1i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R125i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R1i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R1i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R126i.z) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R126i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -backupReg0i = R127i.x; -backupReg1i = R124i.w; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R7i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.z))); -R125i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R7i.y)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R7i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PS1i = R127i.y; -// 12 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R127i.z))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R126i.y))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(backupReg0i))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.y))); -// 13 -backupReg0i = R127i.x; -backupReg1i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(backupReg1i)) + intBitsToFloat(PS0i))); -PS1i = R127i.w; -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(R126i.x))); -PV0i.z = R123i.z; -tempResultf = log2(intBitsToFloat(R124i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R127i.w))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 16 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[0].x)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 17 -R4i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R11i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R11i.y))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R11i.x))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R127i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.y = R124i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.z = R125i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.x))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R125i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = R125i.z; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R10i.w = 0x3f800000; -PV0i.w = R10i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[2].w)); -R4i.x = floatBitsToInt(uf_blockPS8[23].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS0i = R4i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[23].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R7i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R4i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R8i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R7i.z)); -PS0i = R8i.x; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R9i.x) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R9i.w) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R9i.y) >= intBitsToFloat(R8i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R9i.z) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R4i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R0i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.y)); -// 6 -R4i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R0i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 3 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R7i.y; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R9i.y; -// 4 -R8i.x = floatBitsToInt(uf_blockPS8[24].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[6].w)); -R8i.y = floatBitsToInt(uf_blockPS8[24].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS0i = R8i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R4i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R8i.z = floatBitsToInt(uf_blockPS4[2].x); -R8i.z = floatBitsToInt(intBitsToFloat(R8i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R8i.x = floatBitsToInt(uf_blockPS8[24].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R8i.y = floatBitsToInt(uf_blockPS8[24].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS1i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R0i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.w; -PV0i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R4i.w))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R4i.z))); -PV0i.w = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg0i))); -PS0i = R2i.x; -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -R0i.y = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV0i.x))); -R6i.w = 0; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.y; -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].x)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.y)) + 1.0)); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.w))); -R2i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -PS1i = R2i.y; -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.z = floatBitsToInt(tempResultf); -PS0i = R127i.z; -// 5 -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -// 6 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -// 7 -R4i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R3i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.w))); -PV1i.x = R127i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.z))); -PV1i.w = R127i.w; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i)); -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R2i.y)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.w))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -PS0i = R6i.x; -// 5 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PV0i.x = R123i.x; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R4i.x))); -// 7 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R4i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[2].x)); -PV0i.x = R5i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), uf_blockPS10[2].y)); -PV0i.y = R5i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), uf_blockPS10[2].z)); -PV0i.z = R5i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R5i.w; -// 2 -R1i.xyz = ivec3(R6i.x,R6i.w,R6i.w); -R1i.w = R6i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/11ad1c7744853e28_0000000007879649_ps.txt b/Source/TokyoMirage/11ad1c7744853e28_0000000007879649_ps.txt deleted file mode 100644 index 793201ac..00000000 --- a/Source/TokyoMirage/11ad1c7744853e28_0000000007879649_ps.txt +++ /dev/null @@ -1,1084 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 11ad1c7744853e28 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1da4e000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x1c2ba000 res 128x128x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a2000 res 4096x4096x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R7i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R7i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R11i.x = 0; -PS0i = R11i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.w = tempi.x; -R11i.y = 0; -PS1i = R11i.y; -// 4 -R11i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R6i.w = floatBitsToInt(tempResultf); -PS1i = R6i.w; -// 8 -R6i.x = PV1i.w << 0x00000002; -R6i.y = PV1i.w << 0x00000005; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R12i.x; -} -if( activeMaskStackC[1] == true ) { -R8i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.w))); -PV0i.z = R8i.x << R0i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.w))); -PS0i = R10i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R4i.z = R6i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R7i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PS1i))); -R9i.y = PV1i.x & 0x0000ffff; -PS0i = R9i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R6i.y = (R9i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R4i.z + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R6i.z << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),intBitsToFloat(R10i.z)),vec4(-(intBitsToFloat(R7i.x)),-(intBitsToFloat(R7i.y)),-(intBitsToFloat(R7i.z)),-(intBitsToFloat(R7i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = (R1i.w > R9i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R3i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.z; -PV0i.y = R4i.z + R9i.z; -R9i.z = backupReg0i + int(1); -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.x << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000004; -R6i.z = PS0i + 0x00000005; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xy = floatBitsToInt(uf_blockPS11[R6i.z].xy); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.z << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R12i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R12i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R12i.z > R10i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.y; -backupReg0i = R10i.y; -R10i.y = backupReg0i + int(1); -PV0i.z = R4i.z + backupReg0i; -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.y << R0i.x; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.y].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R11i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R11i.z))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R11i.x))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.x = floatBitsToInt(-(uf_blockPS2[1].y) + 1.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.z = floatBitsToInt(-(uf_blockPS2[1].z) + 1.0); -R127i.w = floatBitsToInt(-(uf_blockPS2[1].x) + 1.0); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(R10i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R12i.x)) + -(intBitsToFloat(R10i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R3i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R3i.z)))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R1i.z))) + uf_blockPS10[1].z)); -PV1i.w = R123i.w; -R127i.y = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -PS1i = R127i.y; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R4i.x = floatBitsToInt(cubeMapSTM.x); -R4i.y = floatBitsToInt(cubeMapSTM.y); -R4i.z = floatBitsToInt(cubeMapSTM.z); -R4i.w = cubeMapFaceId; -PV0i.x = R4i.x; -PV0i.y = R4i.y; -PV0i.z = R4i.z; -PV0i.w = R4i.w; -R1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV1i.w)); -PS0i = R1i.y; -// 3 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 4 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R126i.w = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R1i.x = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS0i = R1i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -PV1i.y = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[5].x)); -R5i.y = 0; -PS1i = R5i.y; -// 6 -R0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R126i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R127i.w))); -R1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R0i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -PS0i = R0i.w; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R4i.yx),R4i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(R0i.x), -(intBitsToFloat(R0i.x)))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R1i.x))); -PV0i.w = clampFI32(PV0i.w); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.w) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 2 -backupReg0i = R127i.z; -backupReg1i = R0i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R2i.y))); -PV0i.y = R1i.y; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R2i.x))); -PV0i.z = R0i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(backupReg1i)) + 1.0)); -R127i.z = clampFI32(R127i.z); -PS0i = R127i.z; -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R2i.z))); -R2i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.y)); -R2i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.w)); -R127i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R1i.w = floatBitsToInt(tempResultf); -PS1i = R1i.w; -// 4 -tempResultf = log2(intBitsToFloat(R127i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.y = floatBitsToInt(tempResultf); -PS0i = R0i.y; -// 5 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -// 6 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -// 1 -backupReg0i = R0i.z; -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(PV0i.y)); -R127i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(R0i.y))); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(R1i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.y))); -PS1i = R122i.x; -// 2 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(-(intBitsToFloat(R0i.z)) + intBitsToFloat(PV1i.w)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(R2i.x))); -PV0i.y = R123i.y; -R127i.w = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS1i)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.y))); -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(R1i.y))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + intBitsToFloat(R0i.z))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PS1i)) + intBitsToFloat(R2i.x))); -PV0i.w = R127i.w; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R4i.y)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R4i.x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.z)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[20].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[20].x)); -// 8 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[2].x)); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[2].y)); -PV0i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].z)); -PV0i.z = R3i.z; -// 9 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R3i.w; -// 10 -R1i.xyz = ivec3(R5i.x,R5i.y,R5i.y); -R1i.w = R5i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/11cd991ec462cde6_000003c3c9249649_ps.txt b/Source/TokyoMirage/11cd991ec462cde6_000003c3c9249649_ps.txt deleted file mode 100644 index 45e84355..00000000 --- a/Source/TokyoMirage/11cd991ec462cde6_000003c3c9249649_ps.txt +++ /dev/null @@ -1,1859 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader 11cd991ec462cde6 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x37174000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x37725000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x36e88000 res 256x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x36d30000 res 1024x1024x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x37220000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x372cc000 res 256x256x1 dim 3 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R7i.x = R127i.w; -R7i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R7i.z = R2i.z; -R7i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R9i.y; -// 4 -R9i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R4i.y = 0; -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R8i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R4i.x = 0; -PS0i = R4i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R4i.z = 0; -PS1i = R4i.z; -// 6 -R11i.xyz = ivec3(0,0,0); -R13i.y = 0; -PS0i = R13i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R10i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R8i.w = floatBitsToInt(tempResultf); -PS1i = R8i.w; -} -if( activeMaskStackC[1] == true ) { -R12i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R12i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R8i.w))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R8i.w))); -R3i.w = backupReg0i + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R8i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R9i.x)); -// 4 -R9i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R1i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R1i.w > R13i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R13i.y; -backupReg0i = R13i.y; -R5i.x = 0; -R13i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = R1i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000004; -R1i.z = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -// 6 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 7 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -backupReg3i = R11i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R11i.x; -// 8 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R12i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -R8i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R8i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R8i.y > R8i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg0i = R8i.x; -R8i.x = backupReg0i + int(1); -PV0i.z = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.z = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -backupReg3i = R11i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R11i.x; -// 13 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R12i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R9i.x)); -// 2 -R12i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R12i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R12i.z > R9i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.y; -PV0i.y = R3i.w + R9i.y; -R9i.y = backupReg0i + int(1); -PS0i = R9i.y; -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R9i.x)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R9i.z + PV0i.x; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.y))); -R125i.w = clampFI32(R125i.w); -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R126i.z; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 10 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.y))); -PV1i.z = R126i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -// 12 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R9i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R12i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.x; -// 1 -R126i.x = ((intBitsToFloat(R9i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = ((intBitsToFloat(R9i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.w = ((intBitsToFloat(R9i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.w = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R126i.w; -// 2 -R6i.x = ((PV1i.w == 0)?(0):(0x3f800000)); -PV0i.y = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.z)); -R127i.z = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R125i.x = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -PS0i = R125i.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg1i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(max(intBitsToFloat(R127i.z), 0.0)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -R125i.w = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV0i.w = R125i.w; -R5i.x = ((R126i.x == 0)?(0):(0x3f800000)); -PS0i = R5i.x; -// 5 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0); -R6i.y = ((R127i.y == 0)?(0):(0x3f800000)); -PV1i.y = R6i.y; -R127i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R5i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(backupReg0i))); -PS1i = R5i.y; -// 6 -backupReg0i = R127i.x; -backupReg1i = R127i.w; -R127i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R5i.x) + 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(backupReg0i))); -R126i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.y) + 1.0)); -R127i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R6i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -// 7 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R5i.w) + -(intBitsToFloat(R125i.w))); -R7i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PS0i)) + 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.w) + -(intBitsToFloat(R126i.w))); -R126i.w = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 8 -backupReg0i = R127i.z; -R126i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R9i.x)); -R126i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R9i.z)); -R127i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R9i.y)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PS1i))); -R125i.w = clampFI32(R125i.w); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 9 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R9i.x))); -PV1i.x = R124i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R9i.y))); -PV1i.y = R125i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R9i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R127i.w = clampFI32(R127i.w); -R124i.y = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(R126i.w)); -PS1i = R124i.y; -// 10 -R127i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R1i.y)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R1i.x)); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(R1i.z)); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.y))); -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 11 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.w) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R125i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R125i.z))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.w) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(PV1i.w))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R12i.x)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PS0i = R127i.y; -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R12i.y)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(R12i.z)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R125i.y))); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R125i.z))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 14 -backupReg0i = R124i.y; -backupReg0i = R124i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R9i.y))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R124i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(PS1i))); -PS0i = R126i.y; -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.w))); -PV1i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R126i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 16 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R126i.x)) + intBitsToFloat(R124i.y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.y))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R127i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[0].x)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[0].x)); -R126i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R126i.x; -// 18 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R6i.z)))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[0].x)); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 19 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg1i),intBitsToFloat(PV0i.x),-0.0),vec4(-(intBitsToFloat(backupReg0i)),-(intBitsToFloat(R10i.y)),1.0,0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(R126i.x))); -PS1i = R6i.y; -// 20 -R6i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R0i.x)))); -R9i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R10i.y)))); -R5i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R6i.z)))); -R6i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(R127i.x))); -PS0i = R6i.z; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R4i.y))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R4i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R4i.z))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.x = R127i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -// 6 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PV1i.y))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV1i.x))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R127i.w; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R13i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.z),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R12i.z = floatBitsToInt(uf_blockPS4[2].x); -R12i.z = floatBitsToInt(intBitsToFloat(R12i.z) * 4.0); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R4i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[2].w)); -R9i.x = floatBitsToInt(uf_blockPS8[23].x); -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS0i = R9i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R12i.y = floatBitsToInt(uf_blockPS8[23].y); -R12i.y = floatBitsToInt(intBitsToFloat(R12i.y) / 2.0); -PS1i = R12i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R12i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R13i.y = floatBitsToInt(-(intBitsToFloat(R12i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R12i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R13i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(R4i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R12i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R7i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R12i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R12i.y; -R2i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R10i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R5i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R5i.x; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.x)); -// 6 -R10i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R5i.x) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R10i.x; -// 3 -R7i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.z))); -PV1i.y = R10i.y; -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R9i.x = floatBitsToInt(uf_blockPS8[24].x); -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS1i = R9i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[6].w)); -R7i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R7i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R12i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R7i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R7i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R7i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R7i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R7i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -R10i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt(-(intBitsToFloat(R6i.w)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R10i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R10i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R13i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R13i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R13i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R13i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R12i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R10i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R10i.y)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R13i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R13i.z))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R13i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PS1i))); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R10i.z)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R10i.z; -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R12i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -PS0i = R5i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS1i = R5i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R12i.y))); -R10i.z = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.w) >= intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R10i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.w = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R10i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.w)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.z; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -redcCUBE(vec4(intBitsToFloat(R5i.z),intBitsToFloat(R5i.z),intBitsToFloat(R6i.x),intBitsToFloat(R9i.y)),vec4(intBitsToFloat(R9i.y),intBitsToFloat(R6i.x),intBitsToFloat(R5i.z),intBitsToFloat(R5i.z)),cubeMapSTM,cubeMapFaceId); -R1i.x = floatBitsToInt(cubeMapSTM.x); -R1i.y = floatBitsToInt(cubeMapSTM.y); -R1i.z = floatBitsToInt(cubeMapSTM.z); -R1i.w = cubeMapFaceId; -PV0i.x = R1i.x; -PV0i.y = R1i.y; -PV0i.z = R1i.z; -PV0i.w = R1i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R8i.x))); -PS0i = R127i.x; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), uf_blockPS3[21].x)); -PV1i.x = R126i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R10i.z))) + uf_blockPS10[1].z)); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R8i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R8i.y))); -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 2 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg2i = R127i.x; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R2i.w = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.y)); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PV1i.x))); -PS0i = R127i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R10i.z)) + uf_blockPS3[19].w)); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R126i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R126i.x))); -R2i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -PS1i = R2i.z; -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.w) + -(intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.x))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.x))); -PS0i = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -// 5 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), uf_blockPS3[10].x)); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.w), intBitsToFloat(R6i.z))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), uf_blockPS3[10].z)); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), uf_blockPS3[10].y)); -R4i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); -PS1i = R4i.w; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R1i.yx),R1i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R6i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R2i.z)); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R3i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R4i.w)),intBitsToFloat(PS0i)) + 1.0)); -R123i.z = clampFI32(R123i.z); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R3i.z))); -PV1i.w = R123i.w; -R0i.z = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PS1i = R0i.z; -// 2 -backupReg0i = R2i.x; -backupReg1i = R5i.w; -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R2i.y))); -PV0i.z = R123i.z; -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV1i.w))); -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R3i.z = floatBitsToInt(tempResultf); -PS0i = R3i.z; -// 3 -backupReg0i = R4i.z; -R0i.y = 0; -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.z))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(PV0i.y)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.w), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(R3i.z))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), uf_blockPS10[5].x)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.x))); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R4i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R5i.w))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R127i.x; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(PV1i.z)); -// 5 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R4i.z))); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(R5i.w))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(R2i.x))); -PV1i.z = R127i.z; -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R0i.z)) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R0i.z)) + intBitsToFloat(R127i.z))); -PV1i.z = R123i.z; -// 8 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[20].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 9 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].x)); -PV1i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[2].y)); -PV1i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[2].z)); -PV1i.z = R3i.z; -// 10 -R1i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -R1i.w = R3i.w; -// 11 -R2i.xyz = ivec3(R0i.x,R0i.y,R0i.y); -R2i.w = R0i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/13727f533f0b02e5_000000003c3c9249_ps.txt b/Source/TokyoMirage/13727f533f0b02e5_000000003c3c9249_ps.txt deleted file mode 100644 index fd92e9e1..00000000 --- a/Source/TokyoMirage/13727f533f0b02e5_000000003c3c9249_ps.txt +++ /dev/null @@ -1,999 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 13727f533f0b02e5 -uniform ivec4 uf_remappedPS[28]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1a5f0000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1a5d8000 res 256x256x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R7i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R7i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.y = R1i.x; -PS0i = R126i.y; -// 1 -R127i.x = PV0i.w; -R125i.y = R1i.y; -R126i.z = R2i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -R125i.z = R2i.y; -PS1i = R125i.z; -// 2 -R126i.x = R127i.y; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R127i.w = R2i.z; -R124i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(uf_remappedPS[0].x)); -PS0i = R124i.x; -// 3 -R127i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(uf_remappedPS[0].y)); -R5i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(uf_remappedPS[0].z)); -R124i.z = floatBitsToInt(sqrt(intBitsToFloat(PV0i.y))); -PS1i = R124i.z; -// 4 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.z),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R125i.z))); -// 5 -backupReg0i = R125i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R127i.w))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R1i.z),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.z = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.z))); -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), -(intBitsToFloat(uf_remappedPS[1].z)))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(PS1i))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(tempResultf); -PS0i = R127i.w; -// 9 -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(PV0i.x),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[1].x)),-(intBitsToFloat(uf_remappedPS[1].y)),1.0,0.0))); -PV1i.x = R1i.x; -PV1i.y = R1i.x; -PV1i.z = R1i.x; -PV1i.w = R1i.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -// 10 -PV0i.x = ((0.0 >= intBitsToFloat(PV1i.x))?int(0xFFFFFFFF):int(0x0)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R127i.w))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R127i.w))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.w)); -PS0i = floatBitsToInt(tempResultf); -// 11 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS0i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS0i))); -R2i.w = ((PV0i.x == 0)?(0):(0)); -R1i.z = ((PV0i.x == 0)?(0):(0x3f800000)); -PS1i = R1i.z; -// 12 -predResult = (R1i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R1i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[2].x) >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(uf_remappedPS[3].x))); -R7i.w = 0x3f800000; -PV0i.w = R7i.w; -R6i.w = uf_remappedPS[4].x; -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),intBitsToFloat(uf_remappedPS[5].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),intBitsToFloat(uf_remappedPS[7].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R4i.x; -// 4 -R5i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[8].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(uf_remappedPS[9].w))); -R9i.x = uf_remappedPS[8].x; -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS0i = R9i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(uf_remappedPS[9].z)) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[8].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R11i.y = uf_remappedPS[8].y; -R11i.y = floatBitsToInt(intBitsToFloat(R11i.y) / 2.0); -PS1i = R11i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(uf_remappedPS[9].y)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(uf_remappedPS[9].x)) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R4i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[8].x)) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R12i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R11i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[8].y)) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R10i.y; -R10i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R10i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].y) /resScale * 0.5 + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(R4i.z)); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R10i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R10i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R9i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R9i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R9i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R9i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].x) /resScale * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R11i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].y) /resScale * 0.5 + intBitsToFloat(R10i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R10i.y)); -} -if( activeMaskStackC[4] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R9i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R9i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R5i.x))?1.0:0.0); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R9i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(uf_remappedPS[10].x)); -// 2 -backupReg0i = R4i.w; -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R4i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w)); -PS0i = R4i.w; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.y)); -// 6 -R8i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R4i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R9i.x; -// 3 -R4i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R11i.y; -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[15].y)) + intBitsToFloat(uf_remappedPS[15].x))); -R8i.x = uf_remappedPS[14].x; -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS1i = R8i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(uf_remappedPS[16].w))); -R4i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R10i.y = uf_remappedPS[14].y; -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS0i = R10i.y; -} -if( activeMaskStackC[4] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(uf_remappedPS[16].z)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(uf_remappedPS[16].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[5] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R11i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R2i.w))?1.0:0.0); -R11i.y = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R3i.z)); -PS0i = R11i.y; -} -if( activeMaskStackC[4] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R11i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R10i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[5] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -R127i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[10].x)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R8i.y)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R8i.y; -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R8i.x = uf_remappedPS[14].x; -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -R8i.y = uf_remappedPS[14].y; -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R6i.w = uf_remappedPS[4].x; -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -backupReg0i = R3i.w; -R4i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[15].y)) + intBitsToFloat(uf_remappedPS[15].x))); -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_remappedPS[16].w))); -R4i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(uf_remappedPS[16].z)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(uf_remappedPS[16].x)) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R2i.w))?1.0:0.0); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.z)); -PS0i = R10i.y; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R10i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R10i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R3i.y))?1.0:0.0); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[4].x) == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(uf_remappedPS[17].x)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R10i.y))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[17].x)) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.y; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R2i.w = floatBitsToInt(min(intBitsToFloat(R9i.y), intBitsToFloat(R8i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),-(intBitsToFloat(R2i.w))) + intBitsToFloat(uf_remappedPS[18].z))); -PS0i = R122i.x; -// 1 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -R127i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[19].x)) + 1.0); -R6i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(uf_remappedPS[19].x), intBitsToFloat(0x33d6bf95))); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i))); -PS1i = R0i.x; -// 2 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[20].x), intBitsToFloat(uf_remappedPS[21].y))); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R2i.z = 0; -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[20].y), intBitsToFloat(uf_remappedPS[21].y))); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R126i.x; -// 3 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[20].w), intBitsToFloat(uf_remappedPS[21].y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[20].z), intBitsToFloat(uf_remappedPS[21].y))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(R127i.x))); -// 4 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[22].x))); -// 5 -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R126i.x)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 6 -R4i.xyz = ivec3(uf_remappedPS[23].x,uf_remappedPS[23].y,uf_remappedPS[23].z); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y), intBitsToFloat(PS0i))); -// 8 -R3i.xyz = ivec3(uf_remappedPS[24].x,uf_remappedPS[24].y,uf_remappedPS[24].z); -R2i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R2i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[25].y)) + intBitsToFloat(uf_remappedPS[26].y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[25].x)) + intBitsToFloat(uf_remappedPS[26].x))); -PV0i.y = R123i.y; -// 1 -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.x))); -PV1i.z = R127i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[25].z)) + intBitsToFloat(uf_remappedPS[26].z))); -PV1i.w = R123i.w; -// 2 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R1i.z))); -PV0i.x = R126i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[27].z)) + intBitsToFloat(uf_remappedPS[27].w)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R0i.w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.x)); -// 3 -backupReg0i = R0i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R0i.y)) + intBitsToFloat(R127i.z))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.z)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R127i.y))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -backupReg0i = R0i.y; -backupReg1i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(R126i.x))); -PV0i.z = R123i.z; -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -// 5 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R2i.x)) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R2i.x)) + intBitsToFloat(R127i.z))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.z)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R2i.x)) + intBitsToFloat(R126i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R3i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.x))); -// 7 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R4i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R4i.y))); -PS1i = R5i.y; -// 8 -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.z))); -PV0i.z = R5i.z; -// 9 -R0i.xyz = ivec3(R5i.x,R5i.y,PV0i.z); -R0i.w = R5i.w; -// 10 -R1i.xyz = ivec3(R2i.w,R2i.z,R2i.z); -R1i.w = R2i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/15818f56e475e8dd_000000003c3c9649_ps.txt b/Source/TokyoMirage/15818f56e475e8dd_000000003c3c9649_ps.txt deleted file mode 100644 index c92454b3..00000000 --- a/Source/TokyoMirage/15818f56e475e8dd_000000003c3c9649_ps.txt +++ /dev/null @@ -1,1225 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 15818f56e475e8dd -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1d217000 res 256x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x1bd68000 res 128x256x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x1bf40000 res 128x128x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a2000 res 4096x4096x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R7i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R3i.x = 0; -PS0i = R3i.x; -// 3 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -R3i.y = 0; -PS1i = R3i.y; -// 4 -R12i.x = 0; -R12i.y = 0; -R3i.z = 0; -R1i.w = 0; -R12i.z = 0; -PS0i = R12i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R6i.w = floatBitsToInt(tempResultf); -PS0i = R6i.w; -// 9 -R6i.x = PV0i.z << 0x00000002; -R6i.y = PV0i.z << 0x00000005; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -} -if( activeMaskStackC[1] == true ) { -R9i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R9i.x << backupReg0i; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R4i.z = R6i.y + 0x00000e10; -PS0i = R4i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R7i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PS1i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.w & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R6i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R4i.z + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.z << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), -(intBitsToFloat(R7i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -// 6 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R9i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.y > R9i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.x; -backupReg0i = R9i.x; -R9i.x = backupReg0i + int(1); -PV0i.w = R4i.z + backupReg0i; -// 1 -R6i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.x << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xy = floatBitsToInt(uf_blockPS11[R6i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.x) + -(intBitsToFloat(R6i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -backupReg0i = R3i.x; -backupReg1i = R3i.z; -backupReg2i = R3i.y; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg2i))); -PS0i = R3i.y; -// 11 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.z << R0i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R13i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R13i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R6i.y = (R13i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R4i.z + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.y << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000004; -R6i.z = PS0i + 0x00000005; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.z].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.y))); -R126i.w = clampFI32(R126i.w); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R127i.x; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R126i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.x))); -PV1i.w = clampFI32(PV1i.w); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -// 11 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.y))); -PV1i.x = R126i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.z))); -PV1i.w = R126i.w; -R125i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R125i.x; -// 12 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -backupReg3i = R12i.x; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R3i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R3i.z))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.xyz = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].y),-(uf_blockPS2[1].z)) + vec3(1.0,1.0,1.0)); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -R9i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -PS0i = R9i.z; -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R3i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R3i.xyzw = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(R11i.x)),-(intBitsToFloat(R10i.y)),-(intBitsToFloat(R10i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R126i.y; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R11i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R10i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R10i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R1i.z))) + uf_blockPS10[1].z)); -PS1i = R127i.y; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R4i.x = floatBitsToInt(cubeMapSTM.x); -R4i.y = floatBitsToInt(cubeMapSTM.y); -R4i.z = floatBitsToInt(cubeMapSTM.z); -R4i.w = cubeMapFaceId; -PV0i.x = R4i.x; -PV0i.y = R4i.y; -PV0i.z = R4i.z; -PV0i.w = R4i.w; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R127i.z; -// 3 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 4 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R3i.x))); -PS0i = R5i.y; -// 5 -PV1i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R1i.z)) + uf_blockPS3[19].w)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R2i.w = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R127i.y)); -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R3i.y))); -PS1i = R1i.x; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(R126i.y))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(PV1i.x))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R3i.z))); -PS0i = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -// 7 -R2i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -R1i.y = clampFI32(R1i.y); -R1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); -R2i.y = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -PS1i = R2i.y; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R4i.yx),R4i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R1i.y))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R1i.y) + intBitsToFloat(0x40400000))); -PV0i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.w)),intBitsToFloat(R2i.y)) + 1.0)); -R122i.x = clampFI32(R122i.x); -PS0i = R122i.x; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV0i.z))); -tempResultf = log2(intBitsToFloat(PS0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS1i))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.y))); -R0i.w = 0; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R0i.y; -// 4 -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 5 -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS0i))); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[21].x)); -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.z))); -// 8 -R3i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.y))); -// 9 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(PV0i.w))); -PV1i.x = R1i.x; -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R7i.z)) + intBitsToFloat(PV0i.y))); -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.z))); -PV1i.w = R3i.w; -// 10 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i)); -R5i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R1i.z)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(R3i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS10[5].x)); -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R1i.x)) + intBitsToFloat(PV1i.y)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(R3i.z))); -PV0i.w = R123i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(R3i.w))); -PV1i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R0i.y)) + intBitsToFloat(R1i.x))); -PV1i.w = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R4i.x)); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R0i.y)) + intBitsToFloat(R3i.z))); -PV0i.y = R126i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R4i.y)); -// 5 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R4i.z)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R126i.y))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 7 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].x)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[2].y)); -PS1i = R2i.y; -// 8 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].z)); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); -// 3 -R1i.xyz = ivec3(R2i.x,R2i.y,R2i.z); -R1i.w = R2i.w; -// 4 -R2i.xyz = ivec3(R0i.x,R0i.w,R0i.w); -R2i.w = R0i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/201bd8dfd2a9e7d3_0000000000000000_vs.txt b/Source/TokyoMirage/201bd8dfd2a9e7d3_0000000000000000_vs.txt deleted file mode 100644 index 5bd659bc..00000000 --- a/Source/TokyoMirage/201bd8dfd2a9e7d3_0000000000000000_vs.txt +++ /dev/null @@ -1,168 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 201bd8dfd2a9e7d3 -const float resXScale = ; -const float resYScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 5) out vec4 passParameterSem141; -layout(location = 2) out vec4 passParameterSem138; -layout(location = 3) out vec4 passParameterSem139; -layout(location = 4) out vec4 passParameterSem140; -layout(location = 1) out vec4 passParameterSem137; -layout(location = 0) out vec4 passParameterSem136; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R123f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder = attrDataSem0; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y) / resYScale, intBitsToFloat(uf_remappedVS[0].w)); -PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x) / resXScale, intBitsToFloat(uf_remappedVS[0].w)); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y)/ resYScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x)/ resXScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.x); -PV0f.w = R123f.w; -// 1 -R6f.x = PV0f.w + PV0f.y; -PV1f.x = R6f.x; -R6f.y = PV0f.z + PV0f.x; -PV1f.y = R6f.y; -PV1f.z = PV0f.z + -(PV0f.x); -PV1f.w = PV0f.w + -(PV0f.y); -// 2 -R5f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV1f.x); -PV0f.x = R5f.x; -R5f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV1f.y); -R6f.z = PV1f.w; -PV0f.z = R6f.z; -R6f.w = PV1f.z; -PV0f.w = R6f.w; -// 3 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.y = R123f.y; -R0f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV0f.x); -PS1f = R0f.x; -// 4 -R3f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PS1f); -PV0f.x = R3f.x; -R0f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + R5f.y); -PV0f.y = R0f.y; -R5f.z = PV1f.y; -PV0f.z = R5f.z; -R5f.w = PV1f.x; -PV0f.w = R5f.w; -// 5 -R4f.x = (intBitsToFloat(uf_remappedVS[0].x) / resYScale * 2.0 + PV0f.x); -PV1f.x = R4f.x; -R3f.y = (intBitsToFloat(uf_remappedVS[0].y) / resXScale * 2.0 + PV0f.y); -PV1f.y = R3f.y; -R123f.z = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.w = R123f.w; -// 6 -R2f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV1f.x); -R4f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV1f.y); -PV0f.y = R4f.y; -R0f.z = PV1f.w; -PV0f.z = R0f.z; -R0f.w = PV1f.z; -PV0f.w = R0f.w; -// 7 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.y = R123f.y; -R2f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV0f.y); -PS1f = R2f.y; -// 8 -R3f.z = PV1f.y; -PV0f.z = R3f.z; -R3f.w = PV1f.x; -PV0f.w = R3f.w; -// 9 -R123f.z = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.w = R123f.w; -// 10 -R4f.z = PV1f.w; -PV0f.z = R4f.z; -R4f.w = PV1f.z; -PV0f.w = R4f.w; -// 11 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.y = R123f.y; -// 12 -R2f.z = PV1f.y; -R2f.w = PV1f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem141 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// export -passParameterSem138 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem139 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// export -passParameterSem140 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -// export -passParameterSem137 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); -// export -passParameterSem136 = vec4(R6f.x, R6f.y, R6f.z, R6f.w); -} diff --git a/Source/TokyoMirage/23c5bbfda0fc3b0f_0000000000000000_vs.txt b/Source/TokyoMirage/23c5bbfda0fc3b0f_0000000000000000_vs.txt deleted file mode 100644 index 52dded07..00000000 --- a/Source/TokyoMirage/23c5bbfda0fc3b0f_0000000000000000_vs.txt +++ /dev/null @@ -1,96 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 23c5bbfda0fc3b0f -const float resXScale = ; -const float resYScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem137; -layout(location = 0) out vec4 passParameterSem136; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R123f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder = attrDataSem0; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y) / resYScale, intBitsToFloat(uf_remappedVS[0].w)); -PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x) / resXScale, intBitsToFloat(uf_remappedVS[0].w)); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y)/ resYScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x)/ resXScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.x); -PV0f.w = R123f.w; -// 1 -R0f.x = PV0f.w + PV0f.y; -PV1f.x = R0f.x; -R0f.y = PV0f.z + PV0f.x; -PV1f.y = R0f.y; -PV1f.z = PV0f.z + -(PV0f.x); -PV1f.w = PV0f.w + -(PV0f.y); -// 2 -R2f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV1f.x); -R2f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV1f.y); -R0f.z = PV1f.w; -PV0f.z = R0f.z; -R0f.w = PV1f.z; -PV0f.w = R0f.w; -// 3 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.y = R123f.y; -// 4 -R2f.z = PV1f.y; -R2f.w = PV1f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem137 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// export -passParameterSem136 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -} diff --git a/Source/TokyoMirage/2b2102290296ed7b_000000003c3c9649_ps.txt b/Source/TokyoMirage/2b2102290296ed7b_000000003c3c9649_ps.txt deleted file mode 100644 index 56ae32a9..00000000 --- a/Source/TokyoMirage/2b2102290296ed7b_000000003c3c9649_ps.txt +++ /dev/null @@ -1,1182 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 2b2102290296ed7b -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x19a63000 res 512x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x19a79000 res 512x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x199de000 res 256x256x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x188a2000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R7i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R13i.x = 0; -PS0i = R13i.x; -// 3 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -R13i.y = 0; -PS1i = R13i.y; -// 4 -R12i.x = 0; -R12i.y = 0; -R13i.z = 0; -R1i.w = 0; -R12i.z = 0; -PS0i = R12i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R6i.w = floatBitsToInt(tempResultf); -PS0i = R6i.w; -// 9 -R6i.x = PV0i.z << 0x00000002; -R6i.y = PV0i.z << 0x00000005; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -} -if( activeMaskStackC[1] == true ) { -R9i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R9i.x << backupReg0i; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R3i.z = R6i.y + 0x00000e10; -PS0i = R3i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R7i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PS1i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.w & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R6i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.z + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.z << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), -(intBitsToFloat(R7i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R9i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.y > R3i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.x; -backupReg0i = R3i.x; -R3i.x = backupReg0i + int(1); -PV0i.w = R3i.z + backupReg0i; -// 1 -R6i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.x << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xy = floatBitsToInt(uf_blockPS11[R6i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.x) + -(intBitsToFloat(R6i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -backupReg0i = R13i.x; -backupReg1i = R13i.z; -backupReg2i = R13i.y; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg2i))); -PS0i = R13i.y; -// 11 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.z << R0i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R3i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R3i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R6i.y = (R3i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R3i.z + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.y << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000004; -R6i.z = PS0i + 0x00000005; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.z].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.y))); -R126i.w = clampFI32(R126i.w); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R127i.x; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R126i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.x))); -PV1i.w = clampFI32(PV1i.w); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -// 11 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.y))); -PV1i.x = R126i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.z))); -PV1i.w = R126i.w; -R125i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R125i.x; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.xyz = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].y),-(uf_blockPS2[1].z)) + vec3(1.0,1.0,1.0)); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -R9i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -PS0i = R9i.z; -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(R11i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R10i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R126i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R11i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R3i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R10i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R1i.z))) + uf_blockPS10[1].z)); -PS1i = R127i.x; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R4i.x = floatBitsToInt(cubeMapSTM.x); -R4i.y = floatBitsToInt(cubeMapSTM.y); -R4i.z = floatBitsToInt(cubeMapSTM.z); -R4i.w = cubeMapFaceId; -PV0i.x = R4i.x; -PV0i.y = R4i.y; -PV0i.z = R4i.z; -PV0i.w = R4i.w; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R127i.y; -// 3 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(R1i.z)) + uf_blockPS3[19].w)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R2i.x))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R1i.w = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(backupReg0i)); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R2i.y))); -PS0i = R3i.w; -// 5 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R2i.z))); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(R4i.z))); -// 6 -backupReg0i = R4i.y; -backupReg1i = R0i.z; -backupReg2i = R4i.x; -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R127i.x))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R0i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(R126i.x))); -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg2i),intBitsToFloat(PS1i)) + 1.5)); -PS0i = R4i.x; -// 7 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.y))); -R0i.x = clampFI32(R0i.x); -R7i.y = 0; -} -if( activeMaskStackC[1] == true ) { -R3i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R4i.yx),R4i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R0i.x) + intBitsToFloat(0x40400000))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R0i.x))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.z))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.x))); -// 2 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.x = floatBitsToInt(tempResultf); -PS0i = R0i.x; -// 3 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(R0i.x))); -// 1 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -// 2 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[21].x)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.y))); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.x))); -R126i.w = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 6 -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R5i.z)) + intBitsToFloat(PV1i.x))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R5i.y)) + intBitsToFloat(PV1i.y))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(PV1i.z))); -PV0i.w = R127i.w; -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R3i.y)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R3i.x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R3i.z)); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.w))); -PV0i.z = R123i.z; -// 9 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[20].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[20].x)); -// 10 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[2].x)); -PV0i.x = R6i.x; -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[2].y)); -PV0i.y = R6i.y; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].z)); -PV0i.z = R6i.z; -// 11 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R6i.w; -// 12 -R1i.xyz = ivec3(R7i.x,R7i.y,R7i.y); -R1i.w = R7i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/2ccf4df3c71a294b_00000000f0f0f249_ps.txt b/Source/TokyoMirage/2ccf4df3c71a294b_00000000f0f0f249_ps.txt deleted file mode 100644 index 35be57ed..00000000 --- a/Source/TokyoMirage/2ccf4df3c71a294b_00000000f0f0f249_ps.txt +++ /dev/null @@ -1,871 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 2ccf4df3c71a294b -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1c43d000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a2000 res 4096x4096x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R3i.z = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R4i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -PS0i = R4i.w; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R8i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 2 -R10i.xyz = ivec3(0,0,0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(PS1i))); -R1i.w = 0; -PS0i = R1i.w; -// 3 -PS1i = int(uint(intBitsToFloat(R127i.z))); -// 4 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 6 -PV0i.w = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R7i.x = floatBitsToInt(tempResultf); -PS0i = R7i.x; -// 7 -R6i.x = PV0i.w << 0x00000002; -R6i.y = PV0i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R8i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R3i.x = R6i.y + 0x00000e10; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R7i.x))); -PV0i.z = R8i.x << R3i.z; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R7i.x))); -PS0i = R4i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R2i.w = (R3i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R2i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.x + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R6i.z << R3i.z; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R4i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),vec4(-(intBitsToFloat(R7i.x)),-(intBitsToFloat(R7i.y)),-(intBitsToFloat(R7i.z)),-(intBitsToFloat(R7i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R8i.y << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R3i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R3i.y > R9i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.x; -backupReg0i = R9i.x; -R9i.x = backupReg0i + int(1); -PV0i.y = R3i.x + backupReg0i; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R6i.x << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000005; -R6i.y = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xy = floatBitsToInt(uf_blockPS11[R6i.x].xy); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.z << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -R11i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R11i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R11i.z > R3i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.y; -backupReg0i = R3i.y; -R3i.y = backupReg0i + int(1); -PV0i.z = R3i.x + backupReg0i; -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.y << R3i.z; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R8i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.y].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R10i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R10i.z))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R10i.x))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.x = floatBitsToInt(-(uf_blockPS2[1].y) + 1.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.z = floatBitsToInt(-(uf_blockPS2[1].z) + 1.0); -R127i.w = floatBitsToInt(-(uf_blockPS2[1].x) + 1.0); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.y = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R0i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.z; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockPS3[8].x)); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R1i.z))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), uf_blockPS3[8].y)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.w))); -R2i.w = 0; -PS0i = R2i.w; -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[5].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS3[8].w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), uf_blockPS3[8].z)); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[5].x)); -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS10[2].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[5].x)); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[5].x)); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -PS0i = R3i.w; -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].z, uf_blockPS3[20].z)); -R1i.z = 0; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].z)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -PS1i = R2i.y; -// 4 -R0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].y, uf_blockPS3[20].y)); -R0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].x, uf_blockPS3[20].x)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.w))); -PS0i = R2i.z; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV0i.z))); -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R4i.z))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV0i.y))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(R127i.x))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PS1i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(PV1i.x))); -// 5 -R6i.xyz = ivec3(R2i.x,R2i.y,R2i.z); -R6i.w = R2i.w; -// 6 -R4i.xyz = ivec3(R3i.x,R3i.y,R3i.z); -R4i.w = R3i.w; -// 7 -R5i.xyz = ivec3(R1i.y,R1i.z,R1i.z); -R5i.w = R1i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -passPixelColor2 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -passPixelColor4 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -} diff --git a/Source/TokyoMirage/3259d3b3ca333bf3_0000000000000000_vs.txt b/Source/TokyoMirage/3259d3b3ca333bf3_0000000000000000_vs.txt deleted file mode 100644 index 8a894c85..00000000 --- a/Source/TokyoMirage/3259d3b3ca333bf3_0000000000000000_vs.txt +++ /dev/null @@ -1,116 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 3259d3b3ca333bf3 -const float resXScale = ; -const float resYScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 2) out vec4 passParameterSem138; -layout(location = 1) out vec4 passParameterSem137; -layout(location = 0) out vec4 passParameterSem136; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder = attrDataSem0; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y)/ resYScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.y); -PV0f.x = R127f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x)/ resXScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.x); -PV0f.y = R123f.y; -R127f.z = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y) / resYScale, intBitsToFloat(uf_remappedVS[0].w)); -PV0f.z = R127f.z; -PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x) / resXScale, intBitsToFloat(uf_remappedVS[0].w)); -// 1 -PV1f.x = PV0f.x + -(PV0f.z); -PV1f.y = PV0f.y + -(PV0f.w); -R3f.x = PV0f.y + PV0f.w; -PS1f = R3f.x; -// 2 -R0f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PS1f); -PV0f.x = R0f.x; -R3f.y = R127f.x + R127f.z; -PV0f.y = R3f.y; -R3f.z = PV1f.y; -PV0f.z = R3f.z; -R3f.w = PV1f.x; -PV0f.w = R3f.w; -// 3 -R2f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV0f.x); -R0f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV0f.y); -PV1f.y = R0f.y; -R123f.z = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.w = R123f.w; -// 4 -R2f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV1f.y); -R0f.z = PV1f.w; -PV0f.z = R0f.z; -R0f.w = PV1f.z; -PV0f.w = R0f.w; -// 5 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.y = R123f.y; -// 6 -R2f.z = PV1f.y; -R2f.w = PV1f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem138 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// export -passParameterSem137 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem136 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -} diff --git a/Source/TokyoMirage/3580dbf90f8599b5_0000003c3c3c9649_ps.txt b/Source/TokyoMirage/3580dbf90f8599b5_0000003c3c3c9649_ps.txt deleted file mode 100644 index 52e50740..00000000 --- a/Source/TokyoMirage/3580dbf90f8599b5_0000003c3c3c9649_ps.txt +++ /dev/null @@ -1,1286 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 3580dbf90f8599b5 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x199fe000 res 256x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x1a463000 res 128x128x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x1a15c000 res 256x256x1 dim 3 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a1000 res 2048x2048x1 dim 1 tm: 4 format 0034 compSel: 4 4 4 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R7i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R13i.x = 0; -PS0i = R13i.x; -// 3 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -R13i.y = 0; -PS1i = R13i.y; -// 4 -R12i.x = 0; -R12i.y = 0; -R13i.z = 0; -R1i.w = 0; -R12i.z = 0; -PS0i = R12i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R6i.w = floatBitsToInt(tempResultf); -PS0i = R6i.w; -// 9 -R6i.x = PV0i.z << 0x00000002; -R6i.y = PV0i.z << 0x00000005; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -} -if( activeMaskStackC[1] == true ) { -R9i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R9i.x << backupReg0i; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R3i.z = R6i.y + 0x00000e10; -PS0i = R3i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R7i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PS1i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.w & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R6i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.z + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.z << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), -(intBitsToFloat(R7i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R9i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.y > R3i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.x; -backupReg0i = R3i.x; -R3i.x = backupReg0i + int(1); -PV0i.w = R3i.z + backupReg0i; -// 1 -R6i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.x << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xy = floatBitsToInt(uf_blockPS11[R6i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.x) + -(intBitsToFloat(R6i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -backupReg0i = R13i.x; -backupReg1i = R13i.z; -backupReg2i = R13i.y; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg2i))); -PS0i = R13i.y; -// 11 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.z << R0i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R3i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R3i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R6i.y = (R3i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R3i.z + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.y << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000004; -R6i.z = PS0i + 0x00000005; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.z].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.y))); -R126i.w = clampFI32(R126i.w); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R127i.x; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R126i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.x))); -PV1i.w = clampFI32(PV1i.w); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -// 11 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.y))); -PV1i.x = R126i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.z))); -PV1i.w = R126i.w; -R125i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R125i.x; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.xyz = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].y),-(uf_blockPS2[1].z)) + vec3(1.0,1.0,1.0)); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -R9i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -PS0i = R9i.z; -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R3i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R3i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.z = floatBitsToInt(min(intBitsToFloat(R1i.z), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R5i.xyzw = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(R11i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R10i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R11i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R3i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R10i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R126i.w = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS1i = R126i.w; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R4i.x = floatBitsToInt(cubeMapSTM.x); -R4i.y = floatBitsToInt(cubeMapSTM.y); -R4i.z = floatBitsToInt(cubeMapSTM.z); -R4i.w = cubeMapFaceId; -PV0i.x = R4i.x; -PV0i.y = R4i.y; -PV0i.z = R4i.z; -PV0i.w = R4i.w; -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R127i.x; -// 3 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 4 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0); -R122i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R3i.z))) + uf_blockPS10[1].z)); -PS0i = R122i.x; -// 5 -R2i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -PV1i.x = R2i.x; -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R1i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PS0i)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R5i.x))); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R126i.w))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R127i.w))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R5i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R3i.z)) + uf_blockPS3[19].w)); -PS0i = R122i.x; -// 7 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.x))); -R1i.x = clampFI32(R1i.x); -R1i.y = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PS0i))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.x))); -R1i.w = clampFI32(R1i.w); -R2i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -PS1i = R2i.z; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R4i.yx),R4i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R1i.x))); -R123i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R1i.w) + intBitsToFloat(0x40400000))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R1i.w))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R1i.x) + intBitsToFloat(0x40400000))); -PV0i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PS0i = R122i.x; -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(intBitsToFloat(R2i.x) + -(intBitsToFloat(R1i.y))); -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV1i.w))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(max(intBitsToFloat(PS1i), -(intBitsToFloat(PS1i)))); -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), uf_blockPS3[8].x)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), uf_blockPS3[8].y)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PV0i.z))); -tempResultf = log2(intBitsToFloat(R127i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), uf_blockPS3[8].z)); -R3i.y = 0; -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS1i))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS3[8].w)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS0i))); -R7i.w = 0; -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[21].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.x))); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R2i.z)); -PS0i = R126i.y; -// 7 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV0i.x))); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.y))); -PS1i = R2i.z; -// 8 -backupReg0i = R5i.z; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.w))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.y))); -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R122i.x = clampFI32(R122i.x); -PS0i = R122i.x; -// 9 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R6i.z)) + intBitsToFloat(PV0i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R6i.y)) + intBitsToFloat(PV0i.x))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(PV0i.y))); -tempResultf = log2(intBitsToFloat(PS0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R126i.z))); -// 11 -R0i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -R2i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R2i.y; -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS3[10].z)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS3[10].y)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS3[10].x)); -// 2 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R3i.z))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(R5i.x))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R5i.y))); -PV0i.w = R126i.w; -PS0i = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(PS0i)); -R126i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -PV1i.z = R126i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R126i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R127i.x))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.w)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), uf_blockPS10[5].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), uf_blockPS10[5].x)); -PS0i = R127i.y; -// 5 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), uf_blockPS10[5].x)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.y)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.z))); -PV1i.w = R123i.w; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), uf_blockPS10[5].x)); -PS1i = R125i.w; -// 6 -backupReg0i = R127i.y; -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), uf_blockPS10[2].x)); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R2i.y)) + intBitsToFloat(R126i.w))); -PV0i.z = R126i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R2i.y)) + intBitsToFloat(R127i.x))); -PV0i.w = R127i.w; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[2].y)); -PS0i = R127i.y; -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.x)); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R2i.y)) + intBitsToFloat(R127i.z))); -PV1i.y = R126i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R4i.y)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), uf_blockPS10[2].z)); -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.y))); -PS1i = R7i.x; -// 8 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R0i.z)) + intBitsToFloat(R126i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R0i.z)) + intBitsToFloat(R127i.w))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R4i.z)); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R127i.y))); -PS0i = R7i.y; -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R126i.y))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[20].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[20].x)); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R126i.w))); -PS1i = R7i.z; -// 10 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].x, intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[20].z)); -R0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].y, intBitsToFloat(PV1i.z))); -PS0i = R0i.y; -// 11 -R0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].z, intBitsToFloat(PV0i.y))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); -// 3 -R6i.xyz = ivec3(R7i.x,R7i.y,R7i.z); -R6i.w = R7i.w; -// 4 -R4i.xyz = ivec3(R0i.x,R0i.y,R0i.z); -R4i.w = R0i.w; -// 5 -R5i.xyz = ivec3(R3i.x,R3i.y,R3i.y); -R5i.w = R3i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -passPixelColor2 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -passPixelColor4 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -} diff --git a/Source/TokyoMirage/378c2086d302df76_0000007879249249_ps.txt b/Source/TokyoMirage/378c2086d302df76_0000007879249249_ps.txt deleted file mode 100644 index 42c87f96..00000000 --- a/Source/TokyoMirage/378c2086d302df76_0000007879249249_ps.txt +++ /dev/null @@ -1,1728 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader 378c2086d302df76 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3658c000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x36638000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x36484000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3632c000 res 1024x1024x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x36664000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R7i.x = R127i.w; -R7i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R7i.z = R2i.z; -R7i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R9i.y; -// 4 -R9i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R12i.y = 0; -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R8i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R12i.x = 0; -PS0i = R12i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R12i.z = 0; -PS1i = R12i.z; -// 6 -R13i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R10i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R8i.w = floatBitsToInt(tempResultf); -PS1i = R8i.w; -} -if( activeMaskStackC[1] == true ) { -R11i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R9i.y; -PV0i.x = R11i.x << R2i.w; -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.w))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R8i.w))); -R3i.w = R10i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R8i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R9i.x)); -// 4 -R9i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R1i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R1i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = R1i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000004; -R1i.z = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R6i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -// 6 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R13i.x; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R13i.x; -// 8 -backupReg0i = R13i.y; -backupReg1i = R13i.z; -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R11i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -R0i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R0i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R0i.y > R8i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg0i = R8i.x; -R8i.x = backupReg0i + int(1); -PV0i.z = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.z = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R13i.x; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R13i.x; -// 13 -backupReg0i = R13i.y; -backupReg1i = R13i.z; -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R11i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R9i.x)); -// 2 -R10i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R10i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R10i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -PV0i.y = R3i.w + backupReg0i; -R0i.y = backupReg0i + int(1); -PS0i = R0i.y; -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R9i.x)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R9i.z + PV0i.x; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.y))); -R125i.w = clampFI32(R125i.w); -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R126i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 10 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.y))); -PV1i.z = R126i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R8i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -R10i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.y; -// 1 -R127i.x = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.y = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.z = R127i.z; -R127i.w = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R124i.y = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R124i.y; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.z)); -// 3 -R126i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R6i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.z = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.z)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS1i = R125i.y; -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.w; -R124i.x = ((R126i.y == 0)?(0):(0x3f800000)); -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); -R127i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R5i.z = ((backupReg1i == 0)?(0):(0x3f800000)); -PS0i = R5i.z; -// 5 -backupReg0i = R125i.y; -R6i.x = ((R127i.x == 0)?(0):(0x3f800000)); -PV1i.x = R6i.x; -R125i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + 1.0); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(-(intBitsToFloat(R124i.y)) + 1.0); -R0i.x = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -PS1i = R0i.x; -// 6 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.x) + 1.0)); -R126i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R5i.z) + 1.0)); -R127i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 7 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R126i.w; -PV1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R124i.y))); -R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(PS0i)) + 1.0)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R6i.y))); -R126i.w = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -// 8 -backupReg0i = R125i.y; -R126i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -R125i.y = clampFI32(R125i.y); -R125i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 9 -backupReg0i = R127i.y; -backupReg1i = R126i.w; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R7i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R127i.y = clampFI32(R127i.y); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R7i.x))); -PV1i.z = R124i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R7i.z))); -R124i.w = floatBitsToInt(-(intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i)); -PS1i = R124i.w; -// 10 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R1i.z)); -R124i.y = floatBitsToInt(intBitsToFloat(R124i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R1i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R1i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -PS0i = R126i.z; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R125i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.w))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.y))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.y) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.y) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.x; -backupReg1i = R124i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV1i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(backupReg2i)) + intBitsToFloat(R126i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PS1i))); -PS0i = R1i.w; -// 13 -backupReg0i = R125i.z; -backupReg1i = R125i.w; -PV1i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R8i.x)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R124i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R125i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R8i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R8i.y)); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R125i.x))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PS1i = R126i.x; -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R126i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.y))); -PS0i = R124i.z; -// 15 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(R126i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R124i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 16 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R124i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[0].x)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -// 18 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -R4i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 19 -R9i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R12i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R12i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R12i.x))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R127i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -// 6 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.x))); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R127i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -// 4 -R0i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -R10i.w = floatBitsToInt(uf_blockPS4[2].x); -R10i.w = floatBitsToInt(intBitsToFloat(R10i.w) * 4.0); -PS0i = R10i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[2].w)); -R4i.x = floatBitsToInt(uf_blockPS8[23].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS0i = R4i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R7i.y = floatBitsToInt(uf_blockPS8[23].y); -R7i.y = floatBitsToInt(intBitsToFloat(R7i.y) / 2.0); -PS1i = R7i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R8i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R10i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R9i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R7i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R9i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R8i.z)); -PS0i = R9i.x; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R9i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R10i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R6i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R7i.y; -R2i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R7i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.y)); -// 6 -R4i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R7i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 3 -R6i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R8i.y; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R9i.y; -// 4 -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -R6i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[6].w)); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS0i = R0i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R6i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R10i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R6i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R6i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R6i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R6i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R10i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R5i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R4i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R8i.z = floatBitsToInt(uf_blockPS4[2].x); -R8i.z = floatBitsToInt(intBitsToFloat(R8i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R6i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS0i = R4i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R6i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R6i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R6i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R6i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R6i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R6i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R5i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.x), intBitsToFloat(R10i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R4i.w))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(R10i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(R10i.y))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), uf_blockPS3[21].x)); -// 1 -R1i.x = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -PS1i = R126i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.w)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R125i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R9i.w))); -R7i.y = 0; -PS0i = R7i.y; -// 3 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV0i.y))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.x))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.x))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -// 4 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].x)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].y)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R125i.z)); -// 5 -backupReg0i = R0i.z; -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PS0i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 6 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS10[5].x)); -// 8 -R5i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R4i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R4i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R1i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.z))); -PV1i.w = R123i.w; -// 2 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(R2i.x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.w))); -PV0i.w = R127i.w; -// 3 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i)); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(R2i.z)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV0i.w = R123i.w; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R125i.z))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.x))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R125i.z))); -PV1i.x = R123i.x; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R5i.y))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.x))); -// 8 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), uf_blockPS10[2].x)); -PV0i.x = R6i.x; -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), uf_blockPS10[2].y)); -PV0i.y = R6i.y; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[2].z)); -PV0i.z = R6i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R6i.w; -// 2 -R1i.xyz = ivec3(R7i.x,R7i.y,R7i.y); -R1i.w = R7i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/38e10e2b4b676385_00000000078792c9_ps.txt b/Source/TokyoMirage/38e10e2b4b676385_00000000078792c9_ps.txt deleted file mode 100644 index 493c9ab8..00000000 --- a/Source/TokyoMirage/38e10e2b4b676385_00000000078792c9_ps.txt +++ /dev/null @@ -1,1141 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 38e10e2b4b676385 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x19be1000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x19b6c000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x199de000 res 256x256x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R5i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R11i.x = 0; -PS0i = R11i.x; -// 3 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -R11i.y = 0; -PS1i = R11i.y; -// 4 -R10i.x = 0; -R10i.y = 0; -R11i.z = 0; -R1i.w = 0; -R10i.z = 0; -PS0i = R10i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS0i = R5i.w; -// 9 -R5i.x = PV0i.z << 0x00000002; -R5i.y = PV0i.z << 0x00000005; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -} -if( activeMaskStackC[1] == true ) { -R8i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R8i.x << backupReg0i; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R4i.z = R5i.y + 0x00000e10; -PS0i = R4i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PS1i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R7i.y = PV1i.w & 0x0000ffff; -PS0i = R7i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R7i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R4i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R5i.z << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), -(intBitsToFloat(R6i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R9i.x)) + intBitsToFloat(R6i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R6i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R3i.z)) + intBitsToFloat(R6i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),-(intBitsToFloat(R6i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R3i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R6i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),-(intBitsToFloat(R6i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -// 6 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 7 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R8i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R8i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R8i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R8i.y > R3i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.x; -backupReg0i = R3i.x; -R3i.x = backupReg0i + int(1); -PV0i.w = R4i.z + backupReg0i; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.x << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xy = floatBitsToInt(uf_blockPS11[R5i.x].xy); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(R5i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R3i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R3i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R3i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -backupReg0i = R11i.x; -backupReg1i = R11i.z; -backupReg2i = R11i.y; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg2i))); -PS0i = R11i.y; -// 11 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R8i.z << R0i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R3i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R3i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = (R3i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R4i.z + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R5i.y << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.z].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.y))); -R126i.w = clampFI32(R126i.w); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R127i.x; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R3i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.x)) + -(intBitsToFloat(R126i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R3i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R3i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.x))); -PV1i.w = clampFI32(PV1i.w); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -// 11 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.y))); -PV1i.x = R126i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.z))); -PV1i.w = R126i.w; -R125i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R125i.x; -// 12 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -backupReg3i = R10i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg3i))); -PS0i = R10i.x; -// 13 -backupReg0i = R10i.y; -backupReg1i = R10i.z; -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -// 1 -PV1i.x = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R1i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R11i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R11i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R11i.z))); -// 2 -R7i.y = ((PV1i.x == 0)?(0):(0)); -R5i.z = ((PV1i.x == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[1].y)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS10[1].y)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -// 1 -predResult = (R5i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = backupReg0i; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R4i.w = 0x3f800000; -PV0i.w = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R5i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PS1i)); -R5i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.wy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R3i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R3i.w = floatBitsToInt(intBitsToFloat(R3i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R3i.w; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R7i.y; -R7i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R3i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R3i.z),-0.0),vec4(-(intBitsToFloat(R12i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R9i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R126i.z; -// 1 -R125i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R9i.x)) + -(intBitsToFloat(R12i.x)))); -R125i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R3i.y)))); -R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R3i.z)) + -(intBitsToFloat(R9i.z)))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R7i.y))) + uf_blockPS10[1].z)); -PS1i = R127i.z; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R3i.y),intBitsToFloat(R9i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R127i.w; -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R4i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(R127i.z)); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(R2i.x))); -PV1i.w = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R2i.z))); -PS1i = R4i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(R2i.y))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R7i.y)) + uf_blockPS3[19].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), uf_blockPS10[5].x)); -PS0i = R6i.w; -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R126i.z))); -R7i.z = 0; -// 6 -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R127i.w))); -R126i.z = clampFI32(R126i.z); -PV0i.z = R126i.z; -// 7 -redcCUBE(vec4(intBitsToFloat(R125i.z),intBitsToFloat(R125i.z),intBitsToFloat(R125i.x),intBitsToFloat(R125i.y)),vec4(intBitsToFloat(R125i.y),intBitsToFloat(R125i.x),intBitsToFloat(R125i.z),intBitsToFloat(R125i.z)),cubeMapSTM,cubeMapFaceId); -R0i.x = floatBitsToInt(cubeMapSTM.x); -R0i.y = floatBitsToInt(cubeMapSTM.y); -R0i.z = floatBitsToInt(cubeMapSTM.z); -R0i.w = cubeMapFaceId; -PV1i.x = R0i.x; -PV1i.y = R0i.y; -PV1i.z = R0i.z; -PV1i.w = R0i.w; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -PS1i = R125i.y; -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R126i.z) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS0i)) + 1.5)); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS0i)) + 1.5)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.x))); -} -if( activeMaskStackC[1] == true ) { -R0i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R0i.yx),R0i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.w))); -// 2 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV0i.z = R123i.z; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 3 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.z))); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS0i))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS3[21].x)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.w))); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R3i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R3i.z))); -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R5i.z)) + intBitsToFloat(PV0i.w))); -PV1i.x = R127i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R5i.y)) + intBitsToFloat(PV0i.x))); -PV1i.y = R125i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.y))); -PV1i.z = R126i.z; -// 8 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R0i.y)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R0i.z)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(R125i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(R126i.z))); -PV1i.z = R123i.z; -// 10 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[20].z)); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), uf_blockPS10[2].x)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), uf_blockPS10[2].y)); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), uf_blockPS10[2].z)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -// 3 -R0i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -R0i.w = R6i.w; -// 4 -R1i.xyz = ivec3(R7i.x,R7i.z,R7i.z); -R1i.w = R7i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/39500ee79c45c24e_00000001e1e49249_ps.txt b/Source/TokyoMirage/39500ee79c45c24e_00000001e1e49249_ps.txt deleted file mode 100644 index c593be42..00000000 --- a/Source/TokyoMirage/39500ee79c45c24e_00000001e1e49249_ps.txt +++ /dev/null @@ -1,1504 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 39500ee79c45c24e -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x34b86000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x10067000 res 1x1x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x34ad6000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R9i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R9i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R3i.x = 0; -PS0i = R3i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.w = tempi.x; -R3i.y = 0; -PS1i = R3i.y; -// 4 -R3i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS1i = R5i.w; -// 8 -R5i.x = PV1i.w << 0x00000002; -R5i.y = PV1i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -PV0i.z = R7i.x << R9i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -PS0i = R10i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R9i.z = R5i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.x & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R9i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R5i.z << R9i.x; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R10i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 4 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.y << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R8i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R8i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R8i.z > R8i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.y; -backupReg0i = R8i.y; -R8i.y = backupReg0i + int(1); -PV0i.w = R9i.z + backupReg0i; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.x << R9i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PV1i.x = floatBitsToInt(uf_blockPS11[0].x) + PV0i.w; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.x].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.z << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R9i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R11i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.y > R11i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R11i.x; -backupReg0i = R11i.x; -R11i.x = backupReg0i + int(1); -PV0i.z = R9i.z + backupReg0i; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R5i.y << R9i.x; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.y].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.y))); -R127i.w = clampFI32(R127i.w); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.x))); -PV1i.z = clampFI32(PV1i.z); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.x))); -// 9 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R9i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.w; -// 1 -R127i.x = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.z = R127i.z; -R126i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.x = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS1i = R126i.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R126i.y = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -PV1i.z = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.z)); -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R124i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -PS1i = R124i.w; -// 4 -R125i.x = ((R127i.y == 0)?(0):(0x3f800000)); -R4i.y = ((R126i.w == 0)?(0):(0x3f800000)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R124i.x = ((R127i.x == 0)?(0):(0x3f800000)); -PS0i = R124i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -R0i.y = floatBitsToInt(-(intBitsToFloat(R125i.w)) + 1.0); -PV1i.y = R0i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R124i.w))); -R125i.w = floatBitsToInt(min(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w))); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS1i = R127i.x; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.y) + 1.0)); -R126i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.x) + 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(backupReg0i))); -R124i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -R127i.x = clampFI32(R127i.x); -R127i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -R4i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(backupReg0i)) + 1.0)); -PV1i.z = R4i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R124i.z)) + 1.0); -R127i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -PS1i = R127i.z; -// 8 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R8i.z))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.y))); -PV0i.y = R125i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R8i.x))); -PV0i.z = R126i.z; -R124i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -PV0i.w = R124i.w; -R124i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.w)); -PS0i = R124i.y; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.z))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R5i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R5i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R5i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.y))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.x) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R127i.x))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -backupReg0i = R124i.w; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R9i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R9i.y)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(PV0i.y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R9i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PS1i = R127i.z; -// 12 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R125i.y))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R126i.z))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R8i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(backupReg0i))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R8i.z))); -// 13 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R8i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R126i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(PS1i))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R124i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[0].x)); -// 16 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[0].x)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 17 -R5i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R3i.z))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R3i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R3i.x))); -PV0i.w = R123i.w; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = R127i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.z = R124i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV1i.y))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.x))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R127i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -// 4 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R6i.z = floatBitsToInt(uf_blockPS4[2].x); -R6i.z = floatBitsToInt(intBitsToFloat(R6i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R9i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[2].w)); -R8i.x = floatBitsToInt(uf_blockPS8[23].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R8i.y = floatBitsToInt(uf_blockPS8[23].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS1i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R4i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R4i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R4i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.w))?1.0:0.0); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.w)) + intBitsToFloat(R3i.z)); -PS0i = R5i.y; -} -if( activeMaskStackC[2] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.w) >= intBitsToFloat(R5i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R5i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R4i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R4i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R10i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R5i.y))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R5i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R9i.z; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV0i.w)); -// 6 -R5i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R9i.z) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R3i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -PV1i.y = R8i.y; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R9i.y; -// 4 -R0i.x = floatBitsToInt(uf_blockPS8[24].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R7i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.w))?1.0:0.0); -R7i.x = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(R2i.z)); -PS0i = R7i.x; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R7i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R4i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R7i.x))?1.0:0.0); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.y)); -// 6 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R5i.x)))); -PV0i.y = R123i.y; -// 7 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R0i.x = floatBitsToInt(uf_blockPS8[24].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -PS0i = R0i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS1i = R5i.y; -} -if( activeMaskStackC[2] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.w)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R2i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(R3i.x)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R10i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R10i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.z; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R8i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.w))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R4i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.y)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.x))); -// 6 -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 8 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.w; -PV0i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R5i.x))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg0i))); -PS0i = R2i.x; -// 1 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -R0i.y = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV0i.x))); -R6i.w = 0; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.y; -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].x)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.y)) + 1.0)); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.w))); -R2i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -PS1i = R2i.y; -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.z = floatBitsToInt(tempResultf); -PS0i = R127i.z; -// 5 -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -// 6 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -// 7 -R4i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R3i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.w))); -PV1i.x = R127i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.z))); -PV1i.w = R127i.w; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i)); -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R2i.y)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.w))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -PS0i = R6i.x; -// 5 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PV0i.x = R123i.x; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R4i.x))); -// 7 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R4i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[2].x)); -PV0i.x = R5i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), uf_blockPS10[2].y)); -PV0i.y = R5i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), uf_blockPS10[2].z)); -PV0i.z = R5i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R5i.w; -// 2 -R1i.xyz = ivec3(R6i.x,R6i.w,R6i.w); -R1i.w = R6i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/39863f29c6d85cb8_0000000000000000_vs.txt b/Source/TokyoMirage/39863f29c6d85cb8_0000000000000000_vs.txt deleted file mode 100644 index 250230f2..00000000 --- a/Source/TokyoMirage/39863f29c6d85cb8_0000000000000000_vs.txt +++ /dev/null @@ -1,82 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 39863f29c6d85cb8 -const float resXScale = ; -const float resYScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem136; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder = attrDataSem0; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y)/ resYScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.y); -PV0f.x = R127f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x)/ resXScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.x); -PV0f.y = R123f.y; -R127f.z = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y) / resYScale, intBitsToFloat(uf_remappedVS[0].w)); -PV0f.z = R127f.z; -PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x) / resXScale, intBitsToFloat(uf_remappedVS[0].w)); -// 1 -PV1f.x = PV0f.x + -(PV0f.z); -PV1f.y = PV0f.y + -(PV0f.w); -R2f.x = PV0f.y + PV0f.w; -PS1f = R2f.x; -// 2 -R2f.y = R127f.x + R127f.z; -R2f.z = PV1f.y; -R2f.w = PV1f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem136 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -} diff --git a/Source/TokyoMirage/3b1ee60c5e7eb349_00000000001e3849_ps.txt b/Source/TokyoMirage/3b1ee60c5e7eb349_00000000001e3849_ps.txt deleted file mode 100644 index 4c3b0843..00000000 --- a/Source/TokyoMirage/3b1ee60c5e7eb349_00000000001e3849_ps.txt +++ /dev/null @@ -1,445 +0,0 @@ - - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 3b1ee60c5e7eb349 -uniform ivec4 uf_remappedPS[25]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1fbfc000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x1ecde000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[0].x)),-(intBitsToFloat(uf_remappedPS[0].y)),-(intBitsToFloat(uf_remappedPS[0].z)),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -backupReg0i = R5i.z; -backupReg0i = R5i.z; -backupReg1i = R5i.w; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.x)) + intBitsToFloat(backupReg1i))); -R127i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + 1.0); -PS1i = R127i.y; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].y)) + 1.0); -R126i.y = ((0.0 >= intBitsToFloat(backupReg0i))?int(0xFFFFFFFF):int(0x0)); -PV0i.y = R126i.y; -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].z)) + 1.0); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 3 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PS0i)) + intBitsToFloat(uf_remappedPS[1].y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + intBitsToFloat(uf_remappedPS[1].x))); -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PS0i)) + intBitsToFloat(uf_remappedPS[1].z))); -R3i.z = ((PV0i.y == 0)?(0):(0)); -PS1i = R3i.z; -// 4 -R0i.y = ((R126i.y == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[2].w)) + 1.0)); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[2].w)) + 1.0)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(uf_remappedPS[2].w)) + 1.0)); -PV0i.w = R123i.w; -// 1 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R6i.z))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.w))); -// 2 -predResult = (R0i.y == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = backupReg0i; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[3].x) >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(uf_remappedPS[4].x))); -R4i.w = 0x3f800000; -PV0i.w = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),intBitsToFloat(uf_remappedPS[5].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),intBitsToFloat(uf_remappedPS[7].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(uf_remappedPS[8].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R5i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(uf_remappedPS[9].x)); -// 6 -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PS1i)); -R5i.w = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[10].x)) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R5i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[10].y)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.wy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R3i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R3i.w = floatBitsToInt(intBitsToFloat(R3i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(uf_remappedPS[15].y)) + intBitsToFloat(uf_remappedPS[15].x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[16].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[16].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[16].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[16].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[9].x)); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R3i.w; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(uf_remappedPS[15].y)) + intBitsToFloat(uf_remappedPS[15].x))); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(uf_remappedPS[17].x)); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[16].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[16].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[16].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[17].x)) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[16].y)) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.z = floatBitsToInt(min(intBitsToFloat(R0i.y), intBitsToFloat(R3i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),-(intBitsToFloat(R3i.z))) + intBitsToFloat(uf_remappedPS[18].z))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[19].z)) + intBitsToFloat(uf_remappedPS[19].w)); -// 1 -R4i.y = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV0i.z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[20].x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R0i.xyz = ivec3(uf_remappedPS[21].x,uf_remappedPS[21].y,uf_remappedPS[21].z); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(uf_remappedPS[22].x)) + intBitsToFloat(uf_remappedPS[23].x))); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(uf_remappedPS[22].y)) + intBitsToFloat(uf_remappedPS[23].y))); -PV0i.w = R123i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(uf_remappedPS[22].z)) + intBitsToFloat(uf_remappedPS[23].z))); -PV1i.z = R123i.z; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[24].x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(uf_remappedPS[24].y))); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(uf_remappedPS[24].z))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -PS1i = R2i.x; -// 4 -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.z))); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,PV0i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.y,R3i.y); -R1i.w = R3i.y; -} -// export -if( ((vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/4299868e90181d42_00000f0f0f249249_ps.txt b/Source/TokyoMirage/4299868e90181d42_00000f0f0f249249_ps.txt deleted file mode 100644 index 07d13c69..00000000 --- a/Source/TokyoMirage/4299868e90181d42_00000f0f0f249249_ps.txt +++ /dev/null @@ -1,1664 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 4299868e90181d42 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3d292000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x3d59a000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3d542000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3d3ea000 res 1024x1024x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R7i.x = R127i.w; -R7i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R7i.z = R2i.z; -R7i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R9i.y; -// 4 -R0i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R4i.y = 0; -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R8i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R4i.x = 0; -PS0i = R4i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R4i.z = 0; -PS1i = R4i.z; -// 6 -R11i.xyz = ivec3(0,0,0); -R13i.y = 0; -PS0i = R13i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R10i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R8i.w = floatBitsToInt(tempResultf); -PS1i = R8i.w; -} -if( activeMaskStackC[1] == true ) { -R12i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -PV0i.x = R12i.x << R2i.w; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R8i.w))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R8i.w))); -R3i.w = R10i.y + 0x00000e10; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R8i.w))); -PS0i = R9i.x; -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(backupReg0i)); -// 4 -R10i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R1i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R1i.w > R13i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R13i.y; -backupReg0i = R13i.y; -R5i.x = 0; -R13i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = R1i.z << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.z) >> uint(backupReg0i)); -// 2 -PV0i.y = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000004; -R1i.z = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R9i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R6i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -// 6 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 7 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -backupReg3i = R11i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R11i.x; -// 8 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R12i.y << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.z) >> uint(backupReg0i)); -// 2 -R8i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R8i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R8i.y > R8i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg0i = R8i.x; -R8i.x = backupReg0i + int(1); -PV0i.z = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R0i.x)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.z = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -backupReg3i = R11i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R11i.x; -// 13 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R12i.z << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -R12i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R12i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R12i.z > R10i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.y; -PV0i.y = R3i.w + R10i.y; -R10i.y = backupReg0i + int(1); -PS0i = R10i.y; -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R0i.x)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R10i.z + PV0i.x; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.y))); -R125i.w = clampFI32(R125i.w); -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R126i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 10 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.y))); -PV1i.z = R126i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -// 12 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R5i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.x; -// 1 -R126i.x = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.y = R127i.y; -R127i.z = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.w = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R6i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R6i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.y)); -// 3 -R125i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.y)); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R126i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R124i.x = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -PS1i = R124i.x; -// 4 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.z))); -R125i.z = ((R126i.x == 0)?(0):(0x3f800000)); -R124i.w = ((R127i.w == 0)?(0):(0x3f800000)); -R127i.x = ((R127i.z == 0)?(0):(0x3f800000)); -PS0i = R127i.x; -// 5 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R124i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R6i.x)) + 1.0); -R127i.z = floatBitsToInt(min(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + 1.0); -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); -PS1i = R126i.z; -// 6 -R125i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.w) + 1.0)); -R127i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.z) + 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R6i.x))); -R126i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 7 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -R124i.x = clampFI32(R124i.x); -R124i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(R126i.z)) + 1.0)); -PV1i.y = R124i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -R127i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -R126i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -PS1i = R126i.y; -// 8 -backupReg0i = R125i.x; -backupReg1i = R126i.w; -R125i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -PV0i.x = R125i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R7i.y))); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R7i.x))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R7i.z))); -R125i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.z)); -PS0i = R125i.w; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.z))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -R127i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R1i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PV1i.z = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(R1i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R1i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.x) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.w))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(R124i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x))); -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(PS1i))); -PS0i = R2i.w; -// 11 -backupReg0i = R127i.y; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R5i.x)); -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -R127i.y = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(R5i.y)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R5i.z)); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -PS1i = R126i.z; -// 12 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R125i.y))); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R127i.z))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R7i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R7i.y))); -PS0i = R127i.z; -// 13 -backupReg0i = R125i.x; -backupReg1i = R126i.z; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R7i.z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.y))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV0i.w))); -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R1i.w)) + intBitsToFloat(PV0i.z))); -PS1i = R127i.x; -// 14 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS3[8].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS3[8].y)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z)) + intBitsToFloat(PV1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.w)) + intBitsToFloat(R127i.z))); -PV0i.w = R123i.w; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS3[8].z)); -PS0i = R125i.y; -// 15 -backupReg0i = R124i.y; -backupReg1i = R127i.x; -backupReg0i = R124i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R125i.x)) + intBitsToFloat(PV0i.w))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg1i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS3[8].w)); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.z))); -tempResultf = log2(intBitsToFloat(backupReg2i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 16 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), uf_blockPS10[5].x)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), uf_blockPS10[5].x)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), uf_blockPS10[5].x)); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[5].x)); -PS0i = R126i.x; -// 17 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[2].z)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[2].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].x)); -R127i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.y; -// 18 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), uf_blockPS10[0].x)); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), uf_blockPS10[0].x)); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), uf_blockPS10[0].x)); -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.w))); -PS0i = R6i.x; -// 19 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(R127i.y))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R126i.z))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R125i.x))); -R6i.w = 0; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R4i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R4i.x))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R4i.y))); -PV0i.w = R123i.w; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.z = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS0i))); -// 6 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.x))); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R126i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = R126i.z; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R10i.w = 0x3f800000; -PV0i.w = R10i.w; -R9i.w = floatBitsToInt(uf_blockPS4[2].x); -R9i.w = floatBitsToInt(intBitsToFloat(R9i.w) * 4.0); -PS0i = R9i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R9i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[2].w)); -R9i.x = floatBitsToInt(uf_blockPS8[23].x); -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS0i = R9i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[23].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R4i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R5i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R4i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R4i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R10i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R5i.z)); -PS0i = R10i.x; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R10i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R8i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R10i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R0i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.y)); -// 6 -R5i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R0i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R9i.x; -// 3 -R5i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R9i.y; -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R10i.y; -// 4 -R8i.x = floatBitsToInt(uf_blockPS8[24].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -R5i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[6].w)); -R8i.y = floatBitsToInt(uf_blockPS8[24].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS0i = R8i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R5i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R5i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R5i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R5i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R5i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R5i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R5i.w; -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R8i.z = floatBitsToInt(uf_blockPS4[2].x); -R8i.z = floatBitsToInt(intBitsToFloat(R8i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R9i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R8i.x = floatBitsToInt(uf_blockPS8[24].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R5i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R5i.w))) + uf_blockPS10[1].z)); -PV0i.x = R123i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.z = 0; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), uf_blockPS3[21].x)); -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(PV0i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(PV0i.w))); -PV1i.w = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(PV0i.w))); -PS1i = R127i.x; -// 2 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R5i.w)) + uf_blockPS3[19].w)); -PV0i.z = R123i.z; -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS10[5].x)); -// 3 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.z = R123i.z; -// 1 -backupReg0i = R0i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.x = R123i.x; -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(R1i.x))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -// 2 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(R0i.w))); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), uf_blockPS3[20].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), uf_blockPS3[20].x)); -// 1 -R2i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].x, intBitsToFloat(PV0i.w))); -R2i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].y, intBitsToFloat(PV0i.z))); -R2i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].z, intBitsToFloat(PV0i.y))); -// 2 -backupReg0i = R6i.x; -backupReg1i = R6i.z; -backupReg2i = R6i.w; -R6i.xyz = ivec3(backupReg0i,R7i.y,backupReg1i); -R6i.w = backupReg2i; -// 3 -R4i.xyz = ivec3(R2i.x,R2i.y,R2i.z); -R4i.w = R2i.w; -// 4 -R5i.xyz = ivec3(R3i.x,R3i.z,R3i.z); -R5i.w = R3i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -passPixelColor2 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -passPixelColor4 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -} diff --git a/Source/TokyoMirage/44cac66c0a1ac2e0_000001e1e1e49249_ps.txt b/Source/TokyoMirage/44cac66c0a1ac2e0_000001e1e1e49249_ps.txt deleted file mode 100644 index ae6a8c6a..00000000 --- a/Source/TokyoMirage/44cac66c0a1ac2e0_000001e1e1e49249_ps.txt +++ /dev/null @@ -1,1415 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader 44cac66c0a1ac2e0 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30430000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x30890000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x30864000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R4i.z = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R4i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -PS0i = R4i.w; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R7i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 2 -R3i.xyz = ivec3(0,0,0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(PS1i))); -R1i.w = 0; -PS0i = R1i.w; -// 3 -PS1i = int(uint(intBitsToFloat(R127i.z))); -// 4 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 6 -PV0i.w = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R6i.x = floatBitsToInt(tempResultf); -PS0i = R6i.x; -// 7 -R5i.x = PV0i.w << 0x00000002; -R5i.y = PV0i.w << 0x00000005; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = R5i.y + 0x00000e10; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.x))); -PV0i.z = R7i.x << R4i.z; -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.x))); -PS0i = R9i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R8i.y = PV1i.x & 0x0000ffff; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R2i.w = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R2i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R0i.x + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R5i.z << R4i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R4i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 4 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.y << R4i.z; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R8i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R8i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = (R8i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R0i.x + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.x << R4i.z; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.z = floatBitsToInt(uf_blockPS11[0].x) + PV0i.w; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.z].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.z)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -// 7 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -// 8 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -// 9 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.z << R4i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R9i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.y > R10i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.x; -backupReg0i = R10i.x; -R10i.x = backupReg0i + int(1); -PV0i.w = R0i.x + backupReg0i; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.y << R4i.z; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = R7i.w + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + int(1); -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.x].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(backupReg2i))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R126i.y))); -PV0i.w = clampFI32(PV0i.w); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.x))); -// 10 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R9i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R4i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.x; -// 1 -PV1i.x = ((intBitsToFloat(R9i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = ((intBitsToFloat(R9i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.w = ((intBitsToFloat(R9i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -PS1i = R126i.x; -// 2 -R125i.x = ((PV1i.x == 0)?(0):(0x3f800000)); -PV0i.x = R125i.x; -R126i.y = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -PV0i.y = R126i.y; -PV0i.z = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.z)); -R6i.y = ((PV1i.w == 0)?(0):(0x3f800000)); -PS0i = R6i.y; -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -R125i.z = ((R127i.y == 0)?(0):(0x3f800000)); -PV1i.z = R125i.z; -R127i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + 1.0)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.y; -// 4 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -R127i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R6i.y) + 1.0)); -R126i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.z) + 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.x))); -R125i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R9i.x)); -PS0i = R125i.y; -// 5 -backupReg0i = R127i.y; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R9i.y)); -R127i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R9i.z)); -PV1i.y = R127i.y; -R124i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(backupReg0i)) + 1.0)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(backupReg1i))); -PV1i.w = R124i.w; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R9i.x))); -PS1i = R124i.y; -// 6 -backupReg0i = R126i.y; -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.z))); -PV0i.y = R126i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R9i.y))); -PV0i.z = R126i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R5i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R5i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PS0i = R127i.z; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R124i.y))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R5i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.y))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 8 -backupReg0i = R125i.y; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.x))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i))); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.x)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R4i.y)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -PS0i = R127i.w; -// 9 -backupReg0i = R127i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R126i.z))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R124i.y))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R9i.z))); -PS1i = R126i.z; -// 10 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R9i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R126i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w))); -PS0i = R125i.x; -// 11 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(R126i.z))); -PV1i.y = R123i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), uf_blockPS3[8].x)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), uf_blockPS3[8].y)); -PS1i = R127i.y; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R126i.x)) + intBitsToFloat(R125i.x))); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), uf_blockPS3[8].z)); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.y))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), uf_blockPS3[8].w)); -// 13 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), uf_blockPS10[5].x)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), uf_blockPS10[5].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[5].x)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), uf_blockPS10[5].x)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -PS1i = R6i.y; -// 14 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[2].z)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[2].x)); -// 15 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), uf_blockPS10[0].x)); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.y))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), uf_blockPS10[0].x)); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.w))); -PS1i = R0i.x; -// 16 -R4i.y = floatBitsToInt(uf_blockPS10[1].y); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R125i.x))); -R4i.w = 0; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R3i.z))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R3i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R3i.x))); -PV0i.w = R123i.w; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R4i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R4i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R4i.y))); -PV1i.z = R126i.z; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), -(uf_blockPS8[12].z))); -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PS1i),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3de978d5)); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PS1i = R125i.w; -// 4 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(0x2edbe6ff))); -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS1i))); -// 7 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.x))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV0i.w))); -// 8 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -R2i.w = floatBitsToInt(uf_blockPS4[2].x); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 4.0); -PS0i = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R11i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[2].w)); -R9i.x = floatBitsToInt(uf_blockPS8[23].x); -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS0i = R9i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R6i.y = floatBitsToInt(uf_blockPS8[23].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS1i = R6i.y; -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R4i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R7i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R7i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R11i.y; -R11i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R11i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R11i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R11i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R9i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R9i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R9i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R9i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R11i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R6i.y; -R4i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R11i.y))); -PS0i = R4i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R11i.y)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R9i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R9i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R9i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R8i.w = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R8i.w; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV0i.y)); -// 6 -R4i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R8i.w) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R8i.y; -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS1i = R4i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[6].w)); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R6i.y = floatBitsToInt(uf_blockPS8[24].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS0i = R6i.y; -} -if( activeMaskStackC[3] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R7i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.w))?1.0:0.0); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(R2i.z)); -PS0i = R10i.y; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R10i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R10i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R6i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R10i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R4i.y)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R9i.x = floatBitsToInt(uf_blockPS8[24].x); -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -R6i.y = floatBitsToInt(uf_blockPS8[24].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -R5i.w = 0x3f800000; -PV0i.w = R5i.w; -R2i.w = floatBitsToInt(uf_blockPS4[2].x); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 4.0); -PS0i = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R8i.y; -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), uf_blockPS8[6].w)); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R3i.x)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R7i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.w))?1.0:0.0); -R4i.y = floatBitsToInt(-(intBitsToFloat(R6i.w)) + intBitsToFloat(R2i.z)); -PS0i = R4i.y; -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R4i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R4i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R6i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R4i.y))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.y; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.z = 0; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R4i.y))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -// 1 -R0i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z))); -PS1i = R2i.y; -// 4 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.y))); -// 5 -backupReg0i = R6i.z; -R6i.xyz = ivec3(R0i.x,R9i.y,backupReg0i); -R6i.w = R4i.w; -// 6 -R4i.xyz = ivec3(R2i.x,R2i.y,R2i.z); -R4i.w = R2i.w; -// 7 -R5i.xyz = ivec3(R3i.x,R3i.z,R3i.z); -R5i.w = R3i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -passPixelColor2 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -passPixelColor4 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -} diff --git a/Source/TokyoMirage/4717e201697a3299_000000000003c709_ps.txt b/Source/TokyoMirage/4717e201697a3299_000000000003c709_ps.txt deleted file mode 100644 index 9ab2fe04..00000000 --- a/Source/TokyoMirage/4717e201697a3299_000000000003c709_ps.txt +++ /dev/null @@ -1,400 +0,0 @@ - - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 4717e201697a3299 -uniform ivec4 uf_remappedPS[23]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1fbfc000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[0].x)),-(intBitsToFloat(uf_remappedPS[0].y)),-(intBitsToFloat(uf_remappedPS[0].z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = tempi.x; -// 1 -PV1i.z = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 2 -R0i.x = ((PV1i.z == 0)?(0):(0x3f800000)); -R0i.y = ((PV1i.z == 0)?(0):(0)); -// 3 -backupReg0i = R0i.x; -predResult = (backupReg0i == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.w), 0.0)); -PV0i.w = R127i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.z))); -PS0i = R0i.x; -// 3 -R1i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[1].x) >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(uf_remappedPS[2].y)) + intBitsToFloat(uf_remappedPS[2].x))); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[3].x),intBitsToFloat(uf_remappedPS[3].y),intBitsToFloat(uf_remappedPS[3].z),intBitsToFloat(uf_remappedPS[3].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[4].x),intBitsToFloat(uf_remappedPS[4].y),intBitsToFloat(uf_remappedPS[4].z),intBitsToFloat(uf_remappedPS[4].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),intBitsToFloat(uf_remappedPS[5].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + intBitsToFloat(uf_remappedPS[7].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[8].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[8].y)) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(uf_remappedPS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(uf_remappedPS[13].y)) + intBitsToFloat(uf_remappedPS[13].x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[7].x)); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(uf_remappedPS[13].y)) + intBitsToFloat(uf_remappedPS[13].x))); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(uf_remappedPS[9].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + intBitsToFloat(uf_remappedPS[15].x)); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[15].x)) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = floatBitsToInt(min(intBitsToFloat(R0i.x), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[16].z)) + intBitsToFloat(uf_remappedPS[16].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.z = 0; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].z),-(intBitsToFloat(R0i.y))) + intBitsToFloat(uf_remappedPS[17].z))); -PV0i.w = R123i.w; -// 1 -R0i.z = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedPS[18].x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -R1i.xyz = ivec3(uf_remappedPS[19].x,uf_remappedPS[19].y,uf_remappedPS[19].z); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(uf_remappedPS[20].y)) + intBitsToFloat(uf_remappedPS[21].y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(uf_remappedPS[20].x)) + intBitsToFloat(uf_remappedPS[21].x))); -PV0i.y = R123i.y; -// 1 -backupReg0i = R0i.z; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R4i.y))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R4i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[20].z)) + intBitsToFloat(uf_remappedPS[21].z))); -PV1i.w = R123i.w; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R4i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[22].y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[22].x))); -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[22].z))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.y))); -PS1i = R2i.y; -// 4 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,R2i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.z,R3i.z); -R1i.w = R3i.z; -} -// export -if( ((vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/4717e201697a3299_00000000001e1e49_ps.txt b/Source/TokyoMirage/4717e201697a3299_00000000001e1e49_ps.txt deleted file mode 100644 index 4338f24a..00000000 --- a/Source/TokyoMirage/4717e201697a3299_00000000001e1e49_ps.txt +++ /dev/null @@ -1,398 +0,0 @@ - - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 4717e201697a3299 -uniform ivec4 uf_remappedPS[23]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1dfa4000 res 128x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[0].x)),-(intBitsToFloat(uf_remappedPS[0].y)),-(intBitsToFloat(uf_remappedPS[0].z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = tempi.x; -// 1 -PV1i.z = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 2 -R0i.x = ((PV1i.z == 0)?(0):(0x3f800000)); -R0i.y = ((PV1i.z == 0)?(0):(0)); -// 3 -backupReg0i = R0i.x; -predResult = (backupReg0i == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.w), 0.0)); -PV0i.w = R127i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.z))); -PS0i = R0i.x; -// 3 -R1i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[1].x) >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(uf_remappedPS[2].y)) + intBitsToFloat(uf_remappedPS[2].x))); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[3].x),intBitsToFloat(uf_remappedPS[3].y),intBitsToFloat(uf_remappedPS[3].z),intBitsToFloat(uf_remappedPS[3].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[4].x),intBitsToFloat(uf_remappedPS[4].y),intBitsToFloat(uf_remappedPS[4].z),intBitsToFloat(uf_remappedPS[4].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),intBitsToFloat(uf_remappedPS[5].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + intBitsToFloat(uf_remappedPS[7].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[8].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[8].y)) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(uf_remappedPS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(uf_remappedPS[13].y)) + intBitsToFloat(uf_remappedPS[13].x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[7].x)); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(uf_remappedPS[13].y)) + intBitsToFloat(uf_remappedPS[13].x))); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(uf_remappedPS[9].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + intBitsToFloat(uf_remappedPS[15].x)); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[15].x)) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = floatBitsToInt(min(intBitsToFloat(R0i.x), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[16].z)) + intBitsToFloat(uf_remappedPS[16].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.z = 0; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].z),-(intBitsToFloat(R0i.y))) + intBitsToFloat(uf_remappedPS[17].z))); -PV0i.w = R123i.w; -// 1 -R0i.z = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedPS[18].x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -R1i.xyz = ivec3(uf_remappedPS[19].x,uf_remappedPS[19].y,uf_remappedPS[19].z); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(uf_remappedPS[20].y)) + intBitsToFloat(uf_remappedPS[21].y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(uf_remappedPS[20].x)) + intBitsToFloat(uf_remappedPS[21].x))); -PV0i.y = R123i.y; -// 1 -backupReg0i = R0i.z; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R4i.y))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R4i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[20].z)) + intBitsToFloat(uf_remappedPS[21].z))); -PV1i.w = R123i.w; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R4i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[22].y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[22].x))); -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[22].z))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.y))); -PS1i = R2i.y; -// 4 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,R2i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.z,R3i.z); -R1i.w = R3i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/47f1cf08cd81daec_00000000001e3849_ps.txt b/Source/TokyoMirage/47f1cf08cd81daec_00000000001e3849_ps.txt deleted file mode 100644 index 0d03054d..00000000 --- a/Source/TokyoMirage/47f1cf08cd81daec_00000000001e3849_ps.txt +++ /dev/null @@ -1,1045 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 47f1cf08cd81daec -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1bc72000 res 512x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x194a2000 res 4096x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R7i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R13i.x = 0; -PS0i = R13i.x; -// 3 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -R13i.y = 0; -PS1i = R13i.y; -// 4 -R12i.x = 0; -R12i.y = 0; -R13i.z = 0; -R1i.w = 0; -R12i.z = 0; -PS0i = R12i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R6i.w = floatBitsToInt(tempResultf); -PS0i = R6i.w; -// 9 -R6i.x = PV0i.z << 0x00000002; -R6i.y = PV0i.z << 0x00000005; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -} -if( activeMaskStackC[1] == true ) { -R9i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R9i.x << backupReg0i; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R3i.z = R6i.y + 0x00000e10; -PS0i = R3i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R7i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PS1i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.w & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R6i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.z + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.z << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), -(intBitsToFloat(R7i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R9i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.y > R3i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.x; -backupReg0i = R3i.x; -R3i.x = backupReg0i + int(1); -PV0i.w = R3i.z + backupReg0i; -// 1 -R6i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.x << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xy = floatBitsToInt(uf_blockPS11[R6i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.x) + -(intBitsToFloat(R6i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -backupReg0i = R13i.x; -backupReg1i = R13i.z; -backupReg2i = R13i.y; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg2i))); -PS0i = R13i.y; -// 11 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.z << R0i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R3i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R3i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R6i.y = (R3i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R3i.z + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.y << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000004; -R6i.z = PS0i + 0x00000005; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.z].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.y))); -R126i.w = clampFI32(R126i.w); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R127i.x; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R126i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.x))); -PV1i.w = clampFI32(PV1i.w); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -// 11 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.y))); -PV1i.x = R126i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.z))); -PV1i.w = R126i.w; -R125i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R125i.x; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.xyz = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].y),-(uf_blockPS2[1].z)) + vec3(1.0,1.0,1.0)); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -R3i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -PS0i = R3i.z; -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.x; -// 1 -backupReg0i = R0i.z; -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R1i.z))) + uf_blockPS10[1].z)); -PV1i.w = R123i.w; -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.w))); -PS1i = R2i.x; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R1i.z)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R0i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV1i.w)); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[21].x)); -R2i.y = 0; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(R127i.x))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R127i.y))); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.x))); -// 5 -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.z))); -// 7 -R3i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -// 9 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -// 10 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(PV0i.y))); -// 12 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.x))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -backupReg0i = R0i.z; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.y)) + intBitsToFloat(backupReg0i))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R4i.x)) + intBitsToFloat(R0i.y))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R4i.z)) + intBitsToFloat(R0i.w))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R3i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.y))); -PS0i = R5i.y; -// 5 -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R3i.z))); -PV1i.z = R5i.z; -// 6 -R0i.xyz = ivec3(R5i.x,R5i.y,PV1i.z); -R0i.w = R5i.w; -// 7 -R1i.xyz = ivec3(R2i.z,R2i.y,R2i.y); -R1i.w = R2i.y; -} -// export -if( ((vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/47f1cf08cd81daec_0000000000f0f249_ps.txt b/Source/TokyoMirage/47f1cf08cd81daec_0000000000f0f249_ps.txt deleted file mode 100644 index ddb5857b..00000000 --- a/Source/TokyoMirage/47f1cf08cd81daec_0000000000f0f249_ps.txt +++ /dev/null @@ -1,1043 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 47f1cf08cd81daec -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1c280000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a2000 res 4096x4096x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R7i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R13i.x = 0; -PS0i = R13i.x; -// 3 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -R13i.y = 0; -PS1i = R13i.y; -// 4 -R12i.x = 0; -R12i.y = 0; -R13i.z = 0; -R1i.w = 0; -R12i.z = 0; -PS0i = R12i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R6i.w = floatBitsToInt(tempResultf); -PS0i = R6i.w; -// 9 -R6i.x = PV0i.z << 0x00000002; -R6i.y = PV0i.z << 0x00000005; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -} -if( activeMaskStackC[1] == true ) { -R9i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R9i.x << backupReg0i; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R3i.z = R6i.y + 0x00000e10; -PS0i = R3i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R7i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PS1i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.w & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R6i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.z + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.z << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), -(intBitsToFloat(R7i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R9i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.y > R3i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.x; -backupReg0i = R3i.x; -R3i.x = backupReg0i + int(1); -PV0i.w = R3i.z + backupReg0i; -// 1 -R6i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.x << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xy = floatBitsToInt(uf_blockPS11[R6i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.x) + -(intBitsToFloat(R6i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -backupReg0i = R13i.x; -backupReg1i = R13i.z; -backupReg2i = R13i.y; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg2i))); -PS0i = R13i.y; -// 11 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.z << R0i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R3i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R3i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R6i.y = (R3i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R3i.z + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.y << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000004; -R6i.z = PS0i + 0x00000005; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.z].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.y))); -R126i.w = clampFI32(R126i.w); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R127i.x; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R126i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.x))); -PV1i.w = clampFI32(PV1i.w); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -// 11 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.y))); -PV1i.x = R126i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.z))); -PV1i.w = R126i.w; -R125i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R125i.x; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.xyz = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].y),-(uf_blockPS2[1].z)) + vec3(1.0,1.0,1.0)); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -R3i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -PS0i = R3i.z; -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.x; -// 1 -backupReg0i = R0i.z; -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R1i.z))) + uf_blockPS10[1].z)); -PV1i.w = R123i.w; -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.w))); -PS1i = R2i.x; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R1i.z)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R0i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV1i.w)); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[21].x)); -R2i.y = 0; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(R127i.x))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R127i.y))); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.x))); -// 5 -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.z))); -// 7 -R3i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -// 9 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -// 10 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(PV0i.y))); -// 12 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.x))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -backupReg0i = R0i.z; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.y)) + intBitsToFloat(backupReg0i))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R4i.x)) + intBitsToFloat(R0i.y))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R4i.z)) + intBitsToFloat(R0i.w))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R3i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.y))); -PS0i = R5i.y; -// 5 -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R3i.z))); -PV1i.z = R5i.z; -// 6 -R0i.xyz = ivec3(R5i.x,R5i.y,PV1i.z); -R0i.w = R5i.w; -// 7 -R1i.xyz = ivec3(R2i.z,R2i.y,R2i.y); -R1i.w = R2i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/4a1878ced0dc8fea_0000787879249249_ps.txt b/Source/TokyoMirage/4a1878ced0dc8fea_0000787879249249_ps.txt deleted file mode 100644 index c0b165e6..00000000 --- a/Source/TokyoMirage/4a1878ced0dc8fea_0000787879249249_ps.txt +++ /dev/null @@ -1,1708 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 4a1878ced0dc8fea -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3beca000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x10067000 res 1x1x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3be72000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3be1a000 res 512x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x3bef6000 res 512x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R7i.x = R127i.w; -R7i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R7i.z = R2i.z; -R7i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R9i.y; -// 4 -R9i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R4i.y = 0; -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R8i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R4i.x = 0; -PS0i = R4i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R4i.z = 0; -PS1i = R4i.z; -// 6 -R11i.xyz = ivec3(0,0,0); -R13i.y = 0; -PS0i = R13i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R10i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R8i.w = floatBitsToInt(tempResultf); -PS1i = R8i.w; -} -if( activeMaskStackC[1] == true ) { -R12i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R12i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R8i.w))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R8i.w))); -R3i.w = backupReg0i + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R8i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R9i.x)); -// 4 -R9i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R1i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R1i.w > R13i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R13i.y; -backupReg0i = R13i.y; -R5i.x = 0; -R13i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = R1i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000004; -R1i.z = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -// 6 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 7 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -backupReg3i = R11i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R11i.x; -// 8 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R12i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -R8i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R8i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R8i.y > R8i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg0i = R8i.x; -R8i.x = backupReg0i + int(1); -PV0i.z = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.z = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -backupReg3i = R11i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R11i.x; -// 13 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R12i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R9i.x)); -// 2 -R12i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R12i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R12i.z > R9i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.y; -PV0i.y = R3i.w + R9i.y; -R9i.y = backupReg0i + int(1); -PS0i = R9i.y; -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R9i.x)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R9i.z + PV0i.x; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.y))); -R125i.w = clampFI32(R125i.w); -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R126i.z; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 10 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.y))); -PV1i.z = R126i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -// 12 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R8i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -R9i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.x; -// 1 -R126i.x = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.z = R127i.z; -R127i.w = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R124i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R124i.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg1i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.z)); -// 3 -R6i.x = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.z)); -R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R125i.x = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -PS1i = R125i.x; -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R126i.y = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.y))); -R1i.w = ((R126i.x == 0)?(0):(0x3f800000)); -R6i.y = ((R127i.w == 0)?(0):(0x3f800000)); -PS0i = R6i.y; -// 5 -R126i.x = ((R127i.y == 0)?(0):(0x3f800000)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R6i.x)) + 1.0); -R127i.z = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(R124i.x)) + 1.0); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R125i.x))); -PS1i = R2i.w; -// 6 -backupReg0i = R126i.y; -backupReg1i = R127i.x; -backupReg0i = R126i.y; -R127i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R6i.y) + 1.0)); -R126i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.x) + 1.0)); -R126i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R1i.w) + 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 7 -backupReg0i = R127i.z; -backupReg1i = R6i.x; -backupReg2i = R126i.w; -R6i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(PS0i)) + 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.x))); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(backupReg1i))); -R126i.w = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -// 8 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); -R124i.x = clampFI32(R124i.x); -R125i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -R125i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -R127i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -// 9 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R127i.x = clampFI32(R127i.x); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R7i.x))); -PV1i.y = R124i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R7i.y))); -PV1i.z = R126i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R7i.z))); -R124i.w = floatBitsToInt(-(intBitsToFloat(R6i.x)) + intBitsToFloat(R126i.w)); -PS1i = R124i.w; -// 10 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -R126i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R1i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R1i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R126i.w = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R1i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PS0i = R127i.y; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R127i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(R124i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R125i.w))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.x) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(R125i.x))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.w))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R5i.w; -// 13 -backupReg0i = R127i.w; -PV1i.x = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R8i.x)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R8i.z)); -R125i.y = floatBitsToInt(intBitsToFloat(R125i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R124i.y))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R8i.y)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R126i.z))); -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS1i = R125i.x; -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R125i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.z))); -PS0i = R124i.y; -// 15 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y)) + intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(R125i.x))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.y))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV0i.z))); -PS1i = R127i.y; -// 16 -backupReg0i = R124i.y; -backupReg1i = R127i.z; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS3[8].x)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS3[8].y)); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS3[8].z)); -tempResultf = log2(intBitsToFloat(backupReg1i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R126i.x = floatBitsToInt(tempResultf); -PS0i = R126i.x; -// 17 -backupReg0i = R127i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.w))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[5].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS3[8].w)); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -tempResultf = log2(intBitsToFloat(R5i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.x = floatBitsToInt(tempResultf); -PS1i = R127i.x; -// 18 -backupReg0i = R126i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(R126i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), uf_blockPS10[5].x)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[5].x)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[5].x)); -// 19 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), uf_blockPS10[2].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[2].y)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(backupReg0i))); -R125i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R125i.w; -// 20 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), uf_blockPS10[0].x)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), uf_blockPS10[0].x)); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), uf_blockPS10[0].x)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), uf_blockPS10[2].z)); -R124i.y = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -PS0i = R124i.y; -// 21 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R127i.x))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R127i.y))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.w))); -R5i.w = 0; -R7i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(R125i.w))); -PS1i = R7i.z; -// 22 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(R124i.y))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R4i.z))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R4i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R4i.x))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R127i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = R124i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.z = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS0i))); -// 6 -backupReg0i = R6i.x; -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.x))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R126i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = R126i.z; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R9i.w = 0x3f800000; -PV0i.w = R9i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R9i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R9i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R12i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), uf_blockPS8[2].w)); -R8i.x = floatBitsToInt(uf_blockPS8[23].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[23].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R4i.xy)).xyzw); -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R8i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R4i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R4i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R12i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R5i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R8i.z)); -PS0i = R5i.x; -} -if( activeMaskStackC[2] == true ) { -R12i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R10i.w) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R12i.x) + intBitsToFloat(R12i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R12i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R12i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R12i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R12i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R0i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R10i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R0i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R9i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R9i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R9i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R10i.x; -// 3 -R8i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R10i.y; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R12i.y; -// 4 -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -R8i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), uf_blockPS8[6].w)); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R8i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R8i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R8i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R8i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R8i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R8i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R8i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R10i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R10i.w; -R10i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R8i.z = floatBitsToInt(uf_blockPS4[2].x); -R8i.z = floatBitsToInt(intBitsToFloat(R8i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -PS0i = R5i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R10i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R8i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R10i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R9i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R9i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R9i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R10i.w))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS3[21].x)); -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PS0i))); -R1i.z = floatBitsToInt(intBitsToFloat(R10i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R126i.x; -// 2 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R4i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R10i.w)) + uf_blockPS3[19].w)); -PV0i.z = R123i.z; -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R0i.x))); -// 3 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.z))); -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[10].z)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[10].y)); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[10].x)); -// 5 -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS10[5].x)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -backupReg0i = R1i.y; -backupReg1i = R0i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -backupReg0i = R1i.x; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.z; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), uf_blockPS3[20].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS3[20].x)); -// 1 -R3i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].x, intBitsToFloat(PV0i.w))); -R3i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].y, intBitsToFloat(PV0i.z))); -R3i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].z, intBitsToFloat(PV0i.y))); -// 2 -R2i.xyz = ivec3(R7i.x,R7i.y,R6i.z); -R2i.w = R5i.w; -// 3 -R0i.xyz = ivec3(R3i.x,R3i.y,R3i.z); -R0i.w = R3i.w; -// 4 -R1i.xyz = ivec3(R4i.x,R4i.y,R4i.y); -R1i.w = R4i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor4 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/4ba994ab0ac0bef4_0000000007879249_ps.txt b/Source/TokyoMirage/4ba994ab0ac0bef4_0000000007879249_ps.txt deleted file mode 100644 index 558d6c47..00000000 --- a/Source/TokyoMirage/4ba994ab0ac0bef4_0000000007879249_ps.txt +++ /dev/null @@ -1,1004 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 4ba994ab0ac0bef4 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x215a4000 res 256x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x211a2000 res 256x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x20ee2000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R9i.y = R127i.z; -R127i.z = R2i.x; -R8i.w = R1i.y; -R127i.y = int(uint(intBitsToFloat(PV1i.z))); -PS0i = R127i.y; -// 3 -R5i.x = R127i.w; -R1i.y = R1i.z; -R126i.z = R2i.y; -R9i.w = R2i.z; -R9i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -PS1i = R9i.x; -// 4 -R12i.x = 0; -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -R12i.y = 0; -PS0i = R12i.y; -// 5 -R0i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R12i.z = 0; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R126i.x = int(uint(R127i.y) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R10i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R10i.y),intBitsToFloat(R8i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R125i.x))); -PS1i = R5i.z; -// 8 -R1i.x = PV1i.w << 0x00000002; -R11i.y = PV1i.w << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R10i.x = floatBitsToInt(tempResultf); -PS0i = R10i.x; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.w)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R9i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R4i.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R10i.x))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(R10i.x))); -PV0i.z = backupReg0i << R2i.w; -R3i.w = R11i.y + 0x00000e10; -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R10i.x))); -PS0i = R11i.z; -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.z) >> uint(backupReg0i)); -// 4 -R6i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R13i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R13i.y; -backupReg0i = R13i.y; -R8i.x = 0; -R13i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R1i.z << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R0i.x)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R1i.y = PS1i + 0x00000004; -R1i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R10i.z)),vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R5i.y)),-(intBitsToFloat(R5i.z)),-(intBitsToFloat(R8i.x))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) / 2.0); -// 2 -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 3 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R4i.y << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R0i.x)); -// 2 -R9i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R9i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R5i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.y = (R9i.x > R5i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R5i.w; -PV0i.y = R3i.w + R5i.w; -R5i.w = backupReg0i + int(1); -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R0i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.x = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000005; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R8i.xy = floatBitsToInt(uf_blockPS11[R1i.w].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R1i.y << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.z) >> uint(R0i.x)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R6i.z + PV0i.y; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000003; -R1i.y = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.y].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R127i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV0i.z))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -PV1i.y = clampFI32(PV1i.y); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R12i.y))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R12i.z))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R12i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].y),-(uf_blockPS2[1].z),-(uf_blockPS2[1].x)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.z = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -// 4 -PV0i.y = ((0.0 >= intBitsToFloat(R2i.z))?int(0xFFFFFFFF):int(0x0)); -// 5 -R0i.x = ((PV0i.y == 0)?(0):(0x3f800000)); -R3i.w = ((PV0i.y == 0)?(0):(0)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -// 2 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.x))); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -backupReg0i = R0i.x; -predResult = (backupReg0i == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.z = R2i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); -PV0i.z = clampFI32(PV0i.z); -R127i.w = floatBitsToInt(max(intBitsToFloat(R2i.z), 0.0)); -PV0i.w = R127i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R123i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -// 3 -R7i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -R4i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -R1i.z = PS0i; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.w))); -R2i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.w))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R1i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R1i.z = floatBitsToInt(intBitsToFloat(R1i.z) / 2.0); -R2i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R4i.y)); -PS0i = R2i.z; -// 1 -predResult = (intBitsToFloat(R2i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.w)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.z)) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.w))); -R1i.z = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.w))); -PS0i = R1i.y; -// 7 -R2i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.w)); -R1i.w = R126i.y; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R3i.z; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R1i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.zy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R1i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 3 -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.w = floatBitsToInt(min(intBitsToFloat(R5i.w), intBitsToFloat(R1i.z))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R3i.w))) + uf_blockPS10[1].z)); -PV1i.z = R123i.z; -R127i.w = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R127i.y = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -PS1i = R127i.y; -// 2 -R0i.x = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(PV1i.z)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -PS0i = R126i.w; -// 3 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].z)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.w))); -PV0i.z = clampFI32(PV0i.z); -R0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -// 5 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(PS0i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -R3i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -PS1i = R3i.y; -// 6 -R7i.y = 0; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS1i))); -R2i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R2i.x; -// 9 -R4i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 10 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS1i))); -// 11 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.z))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.x))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.z))); -// 2 -backupReg0i = R0i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R6i.y)) + intBitsToFloat(R0i.y))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R6i.x)) + intBitsToFloat(backupReg0i))); -PV0i.w = R127i.w; -// 3 -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R6i.z)) + intBitsToFloat(R1i.x))); -PV1i.y = R127i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.w)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R1i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.z)); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PS1i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.x))); -PV0i.w = R123i.w; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R2i.x)) + intBitsToFloat(R127i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R2i.x)) + intBitsToFloat(R127i.w))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R2i.x)) + intBitsToFloat(R127i.y))); -PV1i.x = R123i.x; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R4i.y))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R4i.x))); -// 8 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), uf_blockPS10[2].x)); -PV0i.x = R5i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[2].y)); -PV0i.y = R5i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), uf_blockPS10[2].z)); -PV0i.z = R5i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R5i.w; -// 2 -R1i.xyz = ivec3(R7i.z,R7i.y,R7i.y); -R1i.w = R7i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/4c108d5760637fc9_00000f0f0f249249_ps.txt b/Source/TokyoMirage/4c108d5760637fc9_00000f0f0f249249_ps.txt deleted file mode 100644 index 18cd8527..00000000 --- a/Source/TokyoMirage/4c108d5760637fc9_00000f0f0f249249_ps.txt +++ /dev/null @@ -1,1125 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 4c108d5760637fc9 -uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3beca000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x10067000 res 1x1x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3be72000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3be1a000 res 512x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R7i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -R9i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R8i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R10i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R7i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R127i.y = R1i.x; -PS0i = R127i.y; -// 1 -R126i.xyz = ivec3(PV0i.w,R1i.y,R2i.x); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -R125i.z = R2i.y; -PS1i = R125i.z; -// 2 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R125i.y = R127i.x; -R124i.z = R1i.z; -R127i.w = R2i.z; -R125i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(uf_remappedPS[0].x)); -PS0i = R125i.x; -// 3 -R124i.x = ((intBitsToFloat(R9i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R124i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(uf_remappedPS[0].y)); -R5i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(uf_remappedPS[0].z)); -R126i.w = ((intBitsToFloat(R9i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R1i.z = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); -PS1i = R1i.z; -// 4 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.z),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].z)) + 1.0); -PS0i = R127i.y; -// 5 -backupReg0i = R126i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].x) + -(intBitsToFloat(uf_remappedPS[2].y))); -PS1i = R126i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),intBitsToFloat(R127i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.z = tempi.x; -R127i.w = floatBitsToInt(max(-(intBitsToFloat(uf_remappedPS[2].y)), 0.0)); -PS0i = R127i.w; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = ((intBitsToFloat(R9i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -PS1i = R125i.z; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 9 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -backupReg2i = R124i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS0i))); -R125i.w = floatBitsToInt(-(intBitsToFloat(R127i.y)) + 1.0); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 10 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(min(intBitsToFloat(R126i.x), intBitsToFloat(backupReg0i))); -R124i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -PS0i = R124i.y; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(R124i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].z) + -(intBitsToFloat(uf_remappedPS[2].w))); -PS1i = R124i.w; -// 12 -backupReg0i = R126i.w; -PV0i.x = floatBitsToInt(max(-(intBitsToFloat(uf_remappedPS[2].w)), 0.0)); -R126i.y = ((R124i.x == 0)?(0):(0x3f800000)); -PV0i.y = R126i.y; -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R126i.w = ((backupReg0i == 0)?(0):(0x3f800000)); -R7i.y = ((R125i.z == 0)?(0):(0x3f800000)); -PS0i = R7i.y; -// 13 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R124i.y))); -PV1i.x = R125i.x; -R124i.y = floatBitsToInt(min(intBitsToFloat(R124i.w), intBitsToFloat(PV0i.x))); -R124i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.y) + 1.0)); -R3i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -PV1i.w = R3i.w; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(R125i.w)); -PS1i = R125i.z; -// 14 -backupReg0i = R127i.y; -R124i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R7i.y) + 1.0)); -R127i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R126i.w) + 1.0)); -R127i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(backupReg0i))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R124i.w)); -// 15 -R127i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R9i.x)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R125i.z))); -PV1i.y = clampFI32(PV1i.y); -R125i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R9i.y)); -R1i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.y)),intBitsToFloat(PS0i)) + 1.0)); -R126i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R9i.z)); -PS1i = R126i.z; -// 16 -backupReg0i = R127i.y; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R9i.x))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(R9i.z))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.y))); -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.y) + intBitsToFloat(0x40400000))); -PS0i = R122i.x; -// 17 -R124i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R8i.y)); -R124i.x = floatBitsToInt(intBitsToFloat(R124i.x) * 2.0); -R124i.y = floatBitsToInt(-(intBitsToFloat(R1i.w)) + intBitsToFloat(R127i.z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R8i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 18 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R124i.z))); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R127i.y))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(R8i.z)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(PS1i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(uf_remappedPS[3].x))); -PS0i = R5i.y; -// 19 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(uf_remappedPS[3].y))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(uf_remappedPS[3].z))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(PV0i.x))); -R125i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R10i.x)); -R125i.y = floatBitsToInt(intBitsToFloat(R125i.y) * 2.0); -PS1i = R125i.y; -// 20 -R8i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(R10i.z)); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) * 2.0); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.y))); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) * 2.0); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(R126i.x))); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R10i.y)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R9i.x))); -// 21 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R9i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(R124i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R9i.z))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(PS0i))); -tempResultf = log2(intBitsToFloat(R127i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 22 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(R126i.z))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.y))); -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.x))); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), intBitsToFloat(PS1i))); -PS0i = R6i.w; -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[4].x)),-(intBitsToFloat(uf_remappedPS[4].y)),-(intBitsToFloat(uf_remappedPS[4].z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R8i.x)) + intBitsToFloat(R8i.y))); -PS0i = R122i.x; -// 1 -backupReg0i = R7i.x; -backupReg1i = R1i.y; -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R5i.w))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(uf_remappedPS[3].w))); -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R127i.w; -// 2 -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R8i.z)) + intBitsToFloat(R2i.w))); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -PS0i = floatBitsToInt(exp2(intBitsToFloat(R6i.w))); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y), intBitsToFloat(PS0i))); -// 4 -R10i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(uf_remappedPS[5].x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(uf_remappedPS[5].x))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_remappedPS[5].x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(uf_remappedPS[5].x))); -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(uf_remappedPS[6].x))); -PS0i = R6i.x; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[7].y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[7].x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[7].z))); -// 2 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV1i.y))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV1i.x))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV1i.w))); -R7i.w = 0; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_remappedPS[6].x))); -PS0i = R7i.y; -// 3 -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(uf_remappedPS[6].x))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[8].x) >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),intBitsToFloat(uf_remappedPS[9].y)) + intBitsToFloat(uf_remappedPS[9].x))); -R9i.z = uf_remappedPS[10].x; -R9i.z = floatBitsToInt(intBitsToFloat(R9i.z) * 4.0); -R6i.w = floatBitsToInt(1.0); -PV0i.w = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R4i.x; -// 4 -R5i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(uf_remappedPS[15].w))); -R0i.x = uf_remappedPS[14].x; -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -PS0i = R0i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(uf_remappedPS[15].z)) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R9i.y = uf_remappedPS[14].y; -R9i.y = floatBitsToInt(intBitsToFloat(R9i.y) / 2.0); -PS1i = R9i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(uf_remappedPS[15].y)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(uf_remappedPS[15].x)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R11i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R9i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R11i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(R4i.z)); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R8i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R9i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[8].x)) + intBitsToFloat(uf_remappedPS[16].x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R0i.x; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(PV0i.x)); -// 6 -R8i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922)); -// 7 -backupReg0i = R0i.x; -predResult = (intBitsToFloat(backupReg0i) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[17].x),intBitsToFloat(uf_remappedPS[17].y),intBitsToFloat(uf_remappedPS[17].z),intBitsToFloat(uf_remappedPS[17].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(uf_remappedPS[18].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[19].x),intBitsToFloat(uf_remappedPS[19].y),intBitsToFloat(uf_remappedPS[19].z),intBitsToFloat(uf_remappedPS[19].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 3 -R5i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[20].x)) /resScale * 0.5 + intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.z))); -PV1i.y = R8i.y; -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),intBitsToFloat(uf_remappedPS[21].y)) + intBitsToFloat(uf_remappedPS[21].x))); -R9i.x = uf_remappedPS[20].x; -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS1i = R9i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(uf_remappedPS[22].w))); -R5i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[20].y)) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R9i.y = uf_remappedPS[20].y; -R9i.y = floatBitsToInt(intBitsToFloat(R9i.y) / 2.0); -PS0i = R9i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R5i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(uf_remappedPS[22].z)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(uf_remappedPS[22].y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(uf_remappedPS[22].x)) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[20].x)) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R9i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[20].y)) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[20].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[20].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R5i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R5i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg1i = R8i.y; -R8i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[20].x) /resScale * 0.5 + intBitsToFloat(backupReg0i))); -R8i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[20].y) /resScale * 0.5 + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R8i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R8i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R10i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[20].x) /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R9i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[20].y) /resScale * 0.5 + intBitsToFloat(R8i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R8i.y)); -} -if( activeMaskStackC[4] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R10i.z))?1.0:0.0); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[16].x)); -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R8i.z)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R8i.z; -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),intBitsToFloat(uf_remappedPS[21].y)) + intBitsToFloat(uf_remappedPS[21].x))); -R1i.w = floatBitsToInt(1.0); -PV0i.w = R1i.w; -R6i.w = uf_remappedPS[10].x; -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[17].x),intBitsToFloat(uf_remappedPS[17].y),intBitsToFloat(uf_remappedPS[17].z),intBitsToFloat(uf_remappedPS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(uf_remappedPS[18].z),intBitsToFloat(uf_remappedPS[18].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[19].x),intBitsToFloat(uf_remappedPS[19].y),intBitsToFloat(uf_remappedPS[19].z),intBitsToFloat(uf_remappedPS[19].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R4i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[20].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[22].w))); -R0i.x = uf_remappedPS[20].x; -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -PS0i = R0i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(uf_remappedPS[22].z)) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[20].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R9i.y = uf_remappedPS[20].y; -R9i.y = floatBitsToInt(intBitsToFloat(R9i.y) / 2.0); -PS1i = R9i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(uf_remappedPS[22].y)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(uf_remappedPS[22].x)) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[20].x)) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R9i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[20].y)) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[20].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[20].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[20].x) /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[20].y) /resScale * 0.5 + intBitsToFloat(R10i.y))); -R4i.z = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R4i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[20].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R9i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[20].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R8i.y))?1.0:0.0); -R127i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[10].x) == intBitsToFloat(R8i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[8].x)) + intBitsToFloat(uf_remappedPS[23].x)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.w)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[23].x)) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.z; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.w; -PV0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[24].x)) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[25].z),-(intBitsToFloat(R8i.z))) + intBitsToFloat(uf_remappedPS[25].z))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(R0i.y))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(uf_remappedPS[24].x), intBitsToFloat(0x33d6bf95))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg0i))); -PS0i = R2i.x; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].y), intBitsToFloat(uf_remappedPS[26].w))); -R0i.y = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.w) + -(intBitsToFloat(PV0i.x))); -R6i.w = 0; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.y; -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[27].z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[27].y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[27].x))); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.y)) + 1.0)); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.w))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].y), intBitsToFloat(uf_remappedPS[28].x))); -PS1i = R2i.y; -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].y), intBitsToFloat(uf_remappedPS[28].y))); -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.z = floatBitsToInt(tempResultf); -PS0i = R127i.z; -// 5 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].y), intBitsToFloat(uf_remappedPS[28].w))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].y), intBitsToFloat(uf_remappedPS[28].z))); -// 6 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[24].y), intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(uf_remappedPS[5].x))); -// 7 -R4i.xyz = ivec3(uf_remappedPS[29].x,uf_remappedPS[29].y,uf_remappedPS[29].z); -R3i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(uf_remappedPS[30].y)) + intBitsToFloat(uf_remappedPS[31].y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(uf_remappedPS[30].x)) + intBitsToFloat(uf_remappedPS[31].x))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.w))); -PV1i.x = R127i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(uf_remappedPS[30].z)) + intBitsToFloat(uf_remappedPS[31].z))); -PV1i.y = R123i.y; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.z))); -PV1i.w = R127i.w; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[32].z)) + intBitsToFloat(uf_remappedPS[32].w)); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R2i.y)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.w))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -PS0i = R6i.x; -// 5 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PV0i.x = R123i.x; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R4i.x))); -// 7 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R4i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].x), intBitsToFloat(R1i.w))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].y), intBitsToFloat(R0i.z))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[7].z), intBitsToFloat(R4i.y))); -// 1 -R2i.xyz = ivec3(R7i.x,R6i.y,R6i.z); -R2i.w = R7i.w; -// 2 -R0i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -R0i.w = R5i.w; -// 3 -R1i.xyz = ivec3(R6i.x,R6i.w,R6i.w); -R1i.w = R6i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor4 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/4f6f4c93055b859f_0000000000f0f249_ps.txt b/Source/TokyoMirage/4f6f4c93055b859f_0000000000f0f249_ps.txt deleted file mode 100644 index b71c004b..00000000 --- a/Source/TokyoMirage/4f6f4c93055b859f_0000000000f0f249_ps.txt +++ /dev/null @@ -1,1051 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 4f6f4c93055b859f -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1c0d2000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x1c0de000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R5i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R12i.x = 0; -PS0i = R12i.x; -// 3 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -R12i.y = 0; -PS1i = R12i.y; -// 4 -R11i.x = 0; -R11i.y = 0; -R12i.z = 0; -R1i.w = 0; -R11i.z = 0; -PS0i = R11i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS0i = R5i.w; -// 9 -R5i.x = PV0i.z << 0x00000002; -R5i.y = PV0i.z << 0x00000005; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -} -if( activeMaskStackC[1] == true ) { -R8i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R8i.x << backupReg0i; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R3i.z = R5i.y + 0x00000e10; -PS0i = R3i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PS1i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R7i.y = PV1i.w & 0x0000ffff; -PS0i = R7i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R7i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R5i.z << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R6i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R9i.x)) + intBitsToFloat(R6i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R6i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R6i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R6i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R3i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R6i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),-(intBitsToFloat(R6i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -// 6 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 7 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R8i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R8i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R8i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R8i.y > R3i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.x; -backupReg0i = R3i.x; -R3i.x = backupReg0i + int(1); -PV0i.w = R3i.z + backupReg0i; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.x << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xy = floatBitsToInt(uf_blockPS11[R5i.x].xy); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(R5i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R3i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -backupReg0i = R12i.x; -backupReg1i = R12i.z; -backupReg2i = R12i.y; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg2i))); -PS0i = R12i.y; -// 11 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R8i.z << R0i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R3i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R3i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = (R3i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R3i.z + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R5i.y << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.z].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.y))); -R126i.w = clampFI32(R126i.w); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R127i.x; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.x)) + -(intBitsToFloat(R126i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R3i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.x))); -PV1i.w = clampFI32(PV1i.w); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -// 11 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.y))); -PV1i.x = R126i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.z))); -PV1i.w = R126i.w; -R125i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R125i.x; -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R11i.x; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg3i))); -PS0i = R11i.x; -// 13 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -// 1 -PV1i.x = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R1i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R12i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R12i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R12i.z))); -// 2 -R5i.y = ((PV1i.x == 0)?(0):(0)); -R4i.z = ((PV1i.x == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[1].y)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS10[1].y)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -// 1 -predResult = (R4i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = backupReg0i; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R4i.w = 0x3f800000; -PV0i.w = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R5i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PS1i)); -R5i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.wy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R3i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R3i.w = floatBitsToInt(intBitsToFloat(R3i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R3i.w; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = floatBitsToInt(min(intBitsToFloat(R7i.y), intBitsToFloat(R3i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).xyz); -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R3i.y),intBitsToFloat(R9i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R5i.y))) + uf_blockPS10[1].z)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R1i.x))); -PS1i = R126i.w; -// 2 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -PV0i.y = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R5i.y)) + uf_blockPS3[19].w)); -R1i.w = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV1i.z)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.x; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R1i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R1i.z))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(PV0i.y))); -PS1i = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -// 4 -backupReg0i = R127i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(backupReg0i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.x))); -PV0i.w = clampFI32(PV0i.w); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); -PS0i = R127i.x; -// 5 -PV1i.x = floatBitsToInt(max(intBitsToFloat(R127i.w), -(intBitsToFloat(R127i.w)))); -R123i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.w) + intBitsToFloat(0x40400000))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[17].x, uf_blockPS10[0].y)); -R3i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[17].y, uf_blockPS10[0].y)); -PS1i = R3i.w; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[17].w, uf_blockPS10[0].y)); -R1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[17].z, uf_blockPS10[0].y)); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R127i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -PS0i = R1i.x; -// 7 -R2i.y = 0; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -tempResultf = log2(intBitsToFloat(R127i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -R2i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R2i.x; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[21].x)); -// 12 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R126i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.y))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -backupReg0i = R0i.y; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R0i.z))); -PV0i.x = R126i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.y)) + intBitsToFloat(backupReg0i))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.w))); -// 3 -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R4i.z)) + intBitsToFloat(R0i.x))); -PV1i.y = R127i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R3i.w)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.w)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R1i.y)) + intBitsToFloat(R126i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.z)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.z))); -PV0i.w = R123i.w; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -// 6 -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R2i.x)) + intBitsToFloat(R127i.z))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R2i.x)) + intBitsToFloat(R126i.x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.z)); -// 7 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R127i.y))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), uf_blockPS3[20].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS3[20].x)); -// 1 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].x)); -PV1i.x = R5i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[2].y)); -PV1i.y = R5i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[2].z)); -PV1i.z = R5i.z; -// 2 -R0i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -R0i.w = R5i.w; -// 3 -R1i.xyz = ivec3(R2i.z,R2i.y,R2i.y); -R1i.w = R2i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/5166e277a07549eb_00000000078e1249_ps.txt b/Source/TokyoMirage/5166e277a07549eb_00000000078e1249_ps.txt deleted file mode 100644 index 584392e7..00000000 --- a/Source/TokyoMirage/5166e277a07549eb_00000000078e1249_ps.txt +++ /dev/null @@ -1,1133 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 5166e277a07549eb -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1becc000 res 128x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1bee4000 res 128x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x1d8e0000 res 128x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a2000 res 4096x4096x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R8i.x = R127i.w; -R8i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R8i.z = R2i.z; -R8i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R10i.y; -// 4 -R10i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R9i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R13i.x = 0; -PS0i = R13i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R13i.z = 0; -PS1i = R13i.z; -// 6 -R12i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R11i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R9i.w = floatBitsToInt(tempResultf); -PS1i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R4i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); -R3i.w = R11i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R9i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R10i.x)); -// 4 -R6i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R1i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R1i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R1i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R1i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R1i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R9i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R1i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.w; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 11 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R6i.z + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000003; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.x = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); -R125i.w = clampFI32(R125i.w); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -PS0i = R126i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.w))); -PV1i.z = clampFI32(PV1i.z); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R125i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = R126i.w; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].z),-(uf_blockPS2[1].y)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R5i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R5i.w; -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R0i.y = ((PS1i == 0)?(0):(0)); -R2i.z = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); -// 2 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R2i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.wy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyz); -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R126i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.y = R126i.y; -PV1i.z = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R1i.x))); -PS1i = R124i.y; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R0i.y)) + uf_blockPS3[19].w)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(R126i.y))); -R2i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.x)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R1i.z))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -backupReg0i = R0i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); -PV0i.x = clampFI32(PV0i.x); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); -PV0i.y = clampFI32(PV0i.y); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), uf_blockPS3[21].x)); -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg0i))); -PS0i = R4i.x; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.y) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -R3i.w = 0; -// 7 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[10].x)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[10].z)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[10].y)); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -tempResultf = log2(intBitsToFloat(R127i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 10 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -PV1i.w = R127i.w; -// 12 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.y))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.z))); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.w))); -PS0i = R3i.x; -// 13 -backupReg0i = R1i.z; -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.w))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.y))); -// 2 -backupReg0i = R0i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R6i.y)) + intBitsToFloat(backupReg0i))); -PV0i.w = R123i.w; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(R2i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(R1i.w)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R6i.z)) + intBitsToFloat(R0i.y))); -PV1i.z = R123i.z; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R3i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PS1i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.y))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.x))); -// 5 -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[2].x)); -PV0i.x = R5i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), uf_blockPS10[2].y)); -PV0i.y = R5i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS10[2].z)); -PV0i.z = R5i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R5i.w; -// 2 -R1i.xyz = ivec3(R3i.y,R3i.w,R3i.w); -R1i.w = R3i.w; -} -// export -if( ((vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/52ee7db30818150f_00000001e1e49249_ps.txt b/Source/TokyoMirage/52ee7db30818150f_00000001e1e49249_ps.txt deleted file mode 100644 index 6dd811b6..00000000 --- a/Source/TokyoMirage/52ee7db30818150f_00000001e1e49249_ps.txt +++ /dev/null @@ -1,1330 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 52ee7db30818150f -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x36d40000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x36eb0000 res 256x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x36e98000 res 256x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R3i.z = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R4i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -PS0i = R4i.w; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R7i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 2 -R9i.xyz = ivec3(0,0,0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(PS1i))); -R1i.w = 0; -PS0i = R1i.w; -// 3 -PS1i = int(uint(intBitsToFloat(R127i.z))); -// 4 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 6 -PV0i.w = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R6i.x = floatBitsToInt(tempResultf); -PS0i = R6i.x; -// 7 -R5i.x = PV0i.w << 0x00000002; -R5i.y = PV0i.w << 0x00000005; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = R5i.y + 0x00000e10; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.x))); -PV0i.z = R7i.x << R3i.z; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.x))); -PS0i = R4i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R2i.w = (R3i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R2i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R0i.x + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R5i.z << R3i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R4i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 4 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.y << R3i.z; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R8i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R8i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = (R8i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R3i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R0i.x + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.x << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.z = floatBitsToInt(uf_blockPS11[0].x) + PV0i.w; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.z].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.z)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -// 7 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -// 8 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -// 9 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.z << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R3i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R3i.y > R10i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.x; -backupReg0i = R10i.x; -R10i.x = backupReg0i + int(1); -PV0i.w = R0i.x + backupReg0i; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.y << R3i.z; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = R7i.w + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + int(1); -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.x].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(backupReg2i))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R126i.y))); -PV0i.w = clampFI32(PV0i.w); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.x))); -// 10 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R4i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -PV1i.x = R127i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -PS1i = R126i.y; -// 2 -PV0i.z = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.z)); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R126i.x; -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.y))); -// 5 -R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R126i.y))); -PV1i.w = R127i.w; -// 6 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 7 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.y)); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R6i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R6i.x))); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R5i.z)) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R5i.y)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -// 10 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R4i.y)) + intBitsToFloat(PV1i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R4i.x)) + intBitsToFloat(PV1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R4i.z)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -// 11 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[0].x)); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[0].x)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[0].x)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R9i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R9i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R9i.x))); -PV0i.w = R123i.w; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R126i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.y))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R127i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -// 4 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.z = floatBitsToInt(uf_blockPS4[2].x); -R8i.z = floatBitsToInt(intBitsToFloat(R8i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[2].w)); -R8i.x = floatBitsToInt(uf_blockPS8[23].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R6i.y = floatBitsToInt(uf_blockPS8[23].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS1i = R6i.y; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R4i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R4i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R4i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.w))?1.0:0.0); -R8i.y = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R3i.z)); -PS0i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.w) >= intBitsToFloat(R8i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R8i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R4i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R6i.y; -R4i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R8i.y))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R9i.z; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV0i.w)); -// 6 -R8i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R9i.z) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R3i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -PV1i.y = R7i.y; -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R8i.y; -// 4 -R0i.x = floatBitsToInt(uf_blockPS8[24].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R6i.y = floatBitsToInt(uf_blockPS8[24].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS0i = R6i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R5i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R5i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.w))?1.0:0.0); -R5i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(R2i.z)); -PS0i = R5i.x; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R4i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R6i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.y)); -// 6 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R8i.x)))); -PV0i.y = R123i.y; -// 7 -backupReg0i = R8i.x; -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R8i.w = floatBitsToInt(uf_blockPS4[2].x); -R8i.w = floatBitsToInt(intBitsToFloat(R8i.w) * 4.0); -PS0i = R8i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R8i.x = floatBitsToInt(uf_blockPS8[24].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R6i.y = floatBitsToInt(uf_blockPS8[24].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS1i = R6i.y; -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.w)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R2i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R4i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R4i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(backupReg0i)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R7i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.z; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R0i.x)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.w))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R8i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R6i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R4i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.y)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.x))); -// 6 -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 8 -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.z = 0; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R8i.x))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -// 1 -R0i.z = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.y))); -PS1i = R2i.y; -// 4 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,R2i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.z,R3i.z); -R1i.w = R3i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/54f202046702d4d5_0000000f0f249249_ps.txt b/Source/TokyoMirage/54f202046702d4d5_0000000f0f249249_ps.txt deleted file mode 100644 index 446acd5c..00000000 --- a/Source/TokyoMirage/54f202046702d4d5_0000000f0f249249_ps.txt +++ /dev/null @@ -1,1720 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader 54f202046702d4d5 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30588000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x30634000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x30280000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x30128000 res 1024x1024x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R7i.x = R127i.w; -R7i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R7i.z = R2i.z; -R7i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R9i.y; -// 4 -R9i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R12i.y = 0; -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R8i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R12i.x = 0; -PS0i = R12i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R12i.z = 0; -PS1i = R12i.z; -// 6 -R13i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R10i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R8i.w = floatBitsToInt(tempResultf); -PS1i = R8i.w; -} -if( activeMaskStackC[1] == true ) { -R11i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -PV0i.x = R11i.x << R2i.w; -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R8i.w))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R8i.w))); -R3i.w = R10i.y + 0x00000e10; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R8i.w))); -PS0i = R4i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R9i.x)); -// 4 -R9i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R1i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R1i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = R1i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000004; -R1i.z = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R9i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R6i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -// 6 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R13i.x; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R13i.x; -// 8 -backupReg0i = R13i.y; -backupReg1i = R13i.z; -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R11i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -R0i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R0i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R0i.y > R8i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg0i = R8i.x; -R8i.x = backupReg0i + int(1); -PV0i.z = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.z = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R13i.x; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R13i.x; -// 13 -backupReg0i = R13i.y; -backupReg1i = R13i.z; -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R11i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R9i.x)); -// 2 -R10i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R10i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R10i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -PV0i.y = R3i.w + backupReg0i; -R0i.y = backupReg0i + int(1); -PS0i = R0i.y; -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R9i.x)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R9i.z + PV0i.x; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.y))); -R125i.w = clampFI32(R125i.w); -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R126i.z; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 10 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.y))); -PV1i.z = R126i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R10i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.z; -// 1 -R127i.x = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.z = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.w = R127i.w; -R126i.y = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R126i.y; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R125i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -R125i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.w)); -R124i.z = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -PS1i = R124i.z; -// 4 -backupReg0i = R127i.z; -backupReg1i = R127i.x; -R127i.x = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R6i.y = ((R127i.y == 0)?(0):(0x3f800000)); -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.x))); -R5i.z = ((backupReg1i == 0)?(0):(0x3f800000)); -PS0i = R5i.z; -// 5 -R124i.x = ((R126i.z == 0)?(0):(0x3f800000)); -PV1i.x = R124i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R125i.y)) + 1.0); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R124i.z))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R126i.y)) + 1.0); -R0i.x = floatBitsToInt(-(intBitsToFloat(R125i.z)) + 1.0); -PS1i = R0i.x; -// 6 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R6i.y) + 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R5i.z) + 1.0)); -R126i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 7 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R126i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R125i.y))); -R1i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PS0i)) + 1.0)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -// 8 -backupReg0i = R127i.y; -R126i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -R127i.y = clampFI32(R127i.y); -R125i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -R127i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 9 -backupReg0i = R126i.y; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R7i.y))); -PV1i.x = R125i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R126i.y = clampFI32(R126i.y); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R7i.x))); -PV1i.z = R124i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R7i.z))); -R124i.y = floatBitsToInt(-(intBitsToFloat(R1i.w)) + intBitsToFloat(backupReg0i)); -PS1i = R124i.y; -// 10 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R1i.z)); -R125i.y = floatBitsToInt(intBitsToFloat(R125i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R1i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R1i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -PS0i = R126i.z; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R125i.w))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.y))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.y) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R126i.y) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV1i.y))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(backupReg2i)) + intBitsToFloat(R126i.z))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PS1i))); -PS0i = R124i.w; -// 13 -backupReg0i = R125i.z; -backupReg1i = R127i.w; -PV1i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R10i.x)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(R124i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R125i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R10i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R10i.y)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(R125i.x))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PS1i = R126i.x; -// 14 -backupReg0i = R124i.y; -backupReg0i = R124i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R7i.x))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R7i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R7i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R125i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.y))); -PS0i = R124i.z; -// 15 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(R126i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R125i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 16 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R124i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(R124i.y))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -tempResultf = log2(intBitsToFloat(R124i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[0].x)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -// 18 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -R5i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 19 -R2i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R12i.z))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R12i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R12i.x))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R127i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = R124i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -// 6 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.x))); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R124i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R124i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -// 4 -R0i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -R5i.w = floatBitsToInt(uf_blockPS4[2].x); -R5i.w = floatBitsToInt(intBitsToFloat(R5i.w) * 4.0); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R9i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[2].w)); -R10i.x = floatBitsToInt(uf_blockPS8[23].x); -R10i.x = floatBitsToInt(intBitsToFloat(R10i.x) / 2.0); -PS0i = R10i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R10i.y = floatBitsToInt(uf_blockPS8[23].y); -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS1i = R10i.y; -} -if( activeMaskStackC[2] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R4i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.w)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R4i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R10i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R4i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R4i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.w))?1.0:0.0); -R5i.x = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(R4i.z)); -PS0i = R5i.x; -} -if( activeMaskStackC[2] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R6i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R10i.x))); -PV0i.w = R10i.y; -R2i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R10i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R9i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R9i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R9i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R9i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R9i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 3 -R5i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R8i.y; -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R10i.y; -// 4 -R9i.x = floatBitsToInt(uf_blockPS8[24].x); -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -R5i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[6].w)); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS0i = R0i.y; -} -if( activeMaskStackC[3] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R5i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R5i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R5i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R5i.y)); -} -if( activeMaskStackC[4] == true ) { -R4i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R4i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R4i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -R4i.w = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R2i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R4i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R4i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R4i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R4i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R4i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R4i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R4i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R9i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R9i.w; -R9i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R2i.z = floatBitsToInt(uf_blockPS4[2].x); -R2i.z = floatBitsToInt(intBitsToFloat(R2i.z) * 4.0); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R9i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[6].w)); -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -PS0i = R5i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R5i.w = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.w))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R5i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R5i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R2i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R6i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R9i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(R2i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS3[21].x)); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R9i.w))) + uf_blockPS10[1].z)); -PV0i.z = R123i.z; -R8i.w = 0; -// 1 -R1i.x = floatBitsToInt(intBitsToFloat(R9i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.x), intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(PV0i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(PV0i.y))); -PS1i = R126i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R9i.w)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R125i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -// 3 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.x))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].x)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].z)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].y)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R125i.z)); -// 5 -R3i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PS0i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 6 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R2i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -backupReg0i = R7i.w; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[5].x)); -// 8 -R6i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R5i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R5i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.w))); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.z))); -PV1i.w = R123i.w; -// 2 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R0i.x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.w = R127i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R3i.x)); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R1i.z)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R2i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.w))); -PV0i.w = R123i.w; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R125i.z))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(R127i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R5i.x)) + intBitsToFloat(R127i.x))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(R125i.z))); -PV1i.x = R123i.x; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R6i.y))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.x))); -// 8 -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R6i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[2].x)); -PV0i.x = R7i.x; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[2].y)); -PV0i.y = R7i.y; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), uf_blockPS10[2].z)); -PV0i.z = R7i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R7i.w; -// 2 -R1i.xyz = ivec3(R8i.x,R8i.w,R8i.w); -R1i.w = R8i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/56247a996eb4f56b_0000000007879249_ps.txt b/Source/TokyoMirage/56247a996eb4f56b_0000000007879249_ps.txt deleted file mode 100644 index 45457665..00000000 --- a/Source/TokyoMirage/56247a996eb4f56b_0000000007879249_ps.txt +++ /dev/null @@ -1,859 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader 56247a996eb4f56b -uniform ivec4 uf_remappedPS[24]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1fba4000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[0].x)),-(intBitsToFloat(uf_remappedPS[0].y)),-(intBitsToFloat(uf_remappedPS[0].z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = tempi.x; -// 1 -PV1i.z = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 2 -R0i.x = ((PV1i.z == 0)?(0):(0)); -R0i.y = ((PV1i.z == 0)?(0):(0x3f800000)); -// 3 -predResult = (R0i.y == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.w), 0.0)); -PV0i.w = R127i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.z))); -PS0i = R0i.x; -// 3 -R4i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[1].x) >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R8i.z = uf_remappedPS[2].x; -R8i.z = floatBitsToInt(intBitsToFloat(R8i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(uf_remappedPS[3].x))); -PS0i = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[4].x),intBitsToFloat(uf_remappedPS[4].y),intBitsToFloat(uf_remappedPS[4].z),intBitsToFloat(uf_remappedPS[4].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),intBitsToFloat(uf_remappedPS[5].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 4 -R6i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[7].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_remappedPS[8].w))); -R8i.x = uf_remappedPS[7].x; -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[8].z)) + intBitsToFloat(PV0i.z))); -R6i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[7].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = uf_remappedPS[7].y; -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R6i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[8].y)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[8].x)) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[7].x)) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[7].y)) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R6i.x; -R5i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R5i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -R6i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(backupReg0i)); -PS1i = R6i.x; -// 2 -backupReg0i = R6i.y; -R6i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R5i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R6i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R5i.x))?1.0:0.0); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R5i.w))?1.0:0.0); -R8i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R3i.z)); -PS0i = R8i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.w) >= intBitsToFloat(R8i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R8i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R5i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R7i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = backupReg0i; -R5i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R5i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R6i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R8i.y))?1.0:0.0); -R127i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R6i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + intBitsToFloat(uf_remappedPS[9].x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R5i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R5i.z; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV0i.w)); -// 6 -R8i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R5i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R3i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R9i.x; -// 3 -R3i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[13].x)) /resScale * 0.5 + intBitsToFloat(PS0i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -PV1i.y = R5i.y; -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(uf_remappedPS[14].y)) + intBitsToFloat(uf_remappedPS[14].x))); -PS1i = R8i.y; -// 4 -R5i.x = uf_remappedPS[13].x; -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -R3i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[13].y)) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_remappedPS[15].w))); -R0i.y = uf_remappedPS[13].y; -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS0i = R0i.y; -} -if( activeMaskStackC[4] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[15].z)) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[15].y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[15].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[13].x)) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[13].y)) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[13].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[13].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[5] == true ) { -R7i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[13].x) /resScale * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[13].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R7i.x))?1.0:0.0); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R7i.w))?1.0:0.0); -R7i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(R2i.z)); -PS0i = R7i.x; -} -if( activeMaskStackC[4] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R7i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R7i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R7i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[13].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[13].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[5] == true ) { -R9i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R7i.x))?1.0:0.0); -R127i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R9i.z))?1.0:0.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[9].x)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R8i.x)))); -PV0i.y = R123i.y; -// 7 -backupReg0i = R8i.x; -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(uf_remappedPS[14].y)) + intBitsToFloat(uf_remappedPS[14].x))); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R4i.w = uf_remappedPS[2].x; -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) * 4.0); -PS0i = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R5i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[13].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[15].w))); -R3i.x = uf_remappedPS[13].x; -R3i.x = floatBitsToInt(intBitsToFloat(R3i.x) / 2.0); -PS0i = R3i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[15].z)) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[13].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R3i.y = uf_remappedPS[13].y; -R3i.y = floatBitsToInt(intBitsToFloat(R3i.y) / 2.0); -PS1i = R3i.y; -} -if( activeMaskStackC[3] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R5i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[15].y)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[15].x)) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.w)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R2i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[13].x)) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R3i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R3i.x))); -PV0i.w = R3i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[13].y)) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[13].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[13].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R7i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.z; -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[13].x) /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[13].y) /resScale * 0.5 + intBitsToFloat(R8i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R0i.y)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R7i.x))?1.0:0.0); -R2i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R7i.w))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R7i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R4i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[13].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(R3i.y))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R3i.x))); -PV0i.w = R3i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[13].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R3i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R5i.y))?1.0:0.0); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[2].x) == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + intBitsToFloat(uf_remappedPS[16].x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[16].x)) + intBitsToFloat(PV0i.y)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.x))); -// 6 -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 8 -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -R0i.x = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[17].z)) + intBitsToFloat(uf_remappedPS[17].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.z = 0; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].z),-(intBitsToFloat(backupReg0i))) + intBitsToFloat(uf_remappedPS[18].z))); -PV0i.w = R123i.w; -// 1 -R0i.z = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedPS[19].x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -R1i.xyz = ivec3(uf_remappedPS[20].x,uf_remappedPS[20].y,uf_remappedPS[20].z); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(uf_remappedPS[21].y)) + intBitsToFloat(uf_remappedPS[22].y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(uf_remappedPS[21].x)) + intBitsToFloat(uf_remappedPS[22].x))); -PV0i.y = R123i.y; -// 1 -backupReg0i = R0i.z; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R4i.y))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R4i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[21].z)) + intBitsToFloat(uf_remappedPS[22].z))); -PV1i.w = R123i.w; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R4i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[23].y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[23].x))); -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[23].z))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.y))); -PS1i = R2i.y; -// 4 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,R2i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.z,R3i.z); -R1i.w = R3i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/59fca914f0dcb060_0000000000000000_vs.txt b/Source/TokyoMirage/59fca914f0dcb060_0000000000000000_vs.txt deleted file mode 100644 index 0a14e612..00000000 --- a/Source/TokyoMirage/59fca914f0dcb060_0000000000000000_vs.txt +++ /dev/null @@ -1,200 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 59fca914f0dcb060 -const float resXScale = ; -const float resYScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 2) out vec4 passParameterSem138; -layout(location = 3) out vec4 passParameterSem139; -layout(location = 4) out vec4 passParameterSem140; -layout(location = 5) out vec4 passParameterSem141; -layout(location = 6) out vec4 passParameterSem142; -layout(location = 1) out vec4 passParameterSem137; -layout(location = 0) out vec4 passParameterSem136; -layout(location = 7) out vec4 passParameterSem143; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R123f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder = attrDataSem0; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y) / resYScale, intBitsToFloat(uf_remappedVS[0].w)); -PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x) / resXScale, intBitsToFloat(uf_remappedVS[0].w)); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y)/ resYScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x)/ resXScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.x); -PV0f.w = R123f.w; -// 1 -R6f.x = PV0f.w + PV0f.y; -PV1f.x = R6f.x; -R6f.y = PV0f.z + PV0f.x; -PV1f.y = R6f.y; -PV1f.z = PV0f.z + -(PV0f.x); -PV1f.w = PV0f.w + -(PV0f.y); -// 2 -R5f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV1f.x); -PV0f.x = R5f.x; -R5f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV1f.y); -R6f.z = PV1f.w; -PV0f.z = R6f.z; -R6f.w = PV1f.z; -PV0f.w = R6f.w; -// 3 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.y = R123f.y; -R2f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV0f.x); -PS1f = R2f.x; -// 4 -R0f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PS1f); -PV0f.x = R0f.x; -R2f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + R5f.y); -PV0f.y = R2f.y; -R5f.z = PV1f.y; -PV0f.z = R5f.z; -R5f.w = PV1f.x; -PV0f.w = R5f.w; -// 5 -R3f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV0f.x); -PV1f.x = R3f.x; -R0f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV0f.y); -PV1f.y = R0f.y; -R123f.z = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.w = R123f.w; -// 6 -R4f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV1f.x); -R3f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV1f.y); -PV0f.y = R3f.y; -R2f.z = PV1f.w; -PV0f.z = R2f.z; -R2f.w = PV1f.z; -PV0f.w = R2f.w; -// 7 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.y = R123f.y; -R4f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV0f.y); -PS1f = R4f.y; -// 8 -R7f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + R4f.x); -PV0f.x = R7f.x; -R7f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PS1f); -PV0f.y = R7f.y; -R0f.z = PV1f.y; -PV0f.z = R0f.z; -R0f.w = PV1f.x; -PV0f.w = R0f.w; -// 9 -R8f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV0f.x); -R8f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV0f.y); -R123f.z = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.w = R123f.w; -// 10 -R3f.z = PV1f.w; -PV0f.z = R3f.z; -R3f.w = PV1f.z; -PV0f.w = R3f.w; -// 11 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.y = R123f.y; -// 12 -R4f.z = PV1f.y; -PV0f.z = R4f.z; -R4f.w = PV1f.x; -PV0f.w = R4f.w; -// 13 -R123f.z = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.w = R123f.w; -// 14 -R7f.z = PV1f.w; -R7f.w = PV1f.z; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem138 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// export -passParameterSem139 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem140 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// export -passParameterSem141 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -// export -passParameterSem142 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); -// export -passParameterSem137 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); -// export -passParameterSem136 = vec4(R6f.x, R6f.y, R6f.z, R6f.w); -// 0 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + R7f.w); -PV0f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + R7f.z); -PV0f.y = R123f.y; -// 1 -R8f.z = PV0f.y; -R8f.w = PV0f.x; -// export -passParameterSem143 = vec4(R8f.x, R8f.y, R8f.z, R8f.w); -} diff --git a/Source/TokyoMirage/5aef5a108e7134ce_0000000000f0f249_ps.txt b/Source/TokyoMirage/5aef5a108e7134ce_0000000000f0f249_ps.txt deleted file mode 100644 index 31d73900..00000000 --- a/Source/TokyoMirage/5aef5a108e7134ce_0000000000f0f249_ps.txt +++ /dev/null @@ -1,865 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 5aef5a108e7134ce -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1a33f000 res 256x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x19ac8000 res 128x256x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R9i.x = R127i.y; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R127i.z = R2i.x; -R1i.w = R1i.y; -R127i.y = int(uint(intBitsToFloat(PV1i.z))); -PS0i = R127i.y; -// 3 -R7i.x = R127i.w; -R7i.y = R1i.z; -R126i.z = R2i.y; -R127i.w = R2i.z; -R3i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R3i.w; -// 4 -R10i.x = 0; -R10i.y = 0; -R6i.z = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R6i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R10i.z = 0; -PS0i = R10i.z; -// 5 -R0i.x = 0; -R126i.x = int(uint(R127i.y) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.x = R126i.x + PS0i; -PS1i = floatBitsToInt(sqrt(intBitsToFloat(R126i.y))); -// 8 -R1i.x = PV1i.x << 0x00000002; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.w))); -R7i.w = PV1i.x << 0x00000005; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -PS0i = R5i.x; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.x),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R1i.w)) + intBitsToFloat(R1i.y))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R9i.x)) + intBitsToFloat(PS0i))); -PS1i = R126i.y; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -R0i.y = R7i.w + 0x00000e10; -PV0i.z = R4i.x << R3i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.z) >> uint(R6i.z)); -// 4 -R2i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.y = (R2i.w > R0i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg0i = R0i.x; -R0i.x = backupReg0i + int(1); -PV0i.y = backupReg1i + backupReg0i; -R5i.w = 0; -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R3i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R6i.z)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000004; -R1i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R5i.y)),-(intBitsToFloat(R5i.z)),-(intBitsToFloat(R5i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R4i.y << R3i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R6i.z)); -// 2 -R0i.x = PV1i.y & 0x0000ffff; -// 3 -backupReg0i = R0i.x; -predResult = (backupReg0i > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R2i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.y = (R0i.x > R2i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R2i.w; -PV0i.y = backupReg0i + R2i.w; -R2i.w = backupReg1i + int(1); -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.x << R3i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R6i.z)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.x = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000005; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.w].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 7 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R3i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R6i.z)); -// 2 -R2i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R2i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R0i.x = (R2i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -backupReg0i = R0i.x; -predResult = (backupReg0i != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R0i.y + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R1i.y << R3i.w; -// 1 -PV1i.w = int(uint(PV0i.z) >> uint(R6i.z)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R6i.w + PV0i.y; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000003; -R1i.y = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.y].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R127i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.z))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R9i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -PV1i.y = clampFI32(PV1i.y); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.y = tempi.x; -// 1 -PV1i.x = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R2i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R10i.y))); -R2i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R10i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R10i.z))); -// 2 -R1i.z = ((PV1i.x == 0)?(0):(0)); -R2i.w = ((PV1i.x == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), uf_blockPS10[1].y)); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), uf_blockPS10[1].y)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -// 1 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R0i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R2i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -backupReg0i = R4i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R2i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R4i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R4i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R1i.z))) + uf_blockPS10[1].z)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -R0i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), uf_blockPS3[20].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R6i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R6i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS3[20].z)); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -PS1i = R2i.x; -// 4 -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.z))); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,PV0i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.y,R3i.y); -R1i.w = R3i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/60d954abeff0f4a5_00000001e1e49649_ps.txt b/Source/TokyoMirage/60d954abeff0f4a5_00000001e1e49649_ps.txt deleted file mode 100644 index 59803a93..00000000 --- a/Source/TokyoMirage/60d954abeff0f4a5_00000001e1e49649_ps.txt +++ /dev/null @@ -1,1225 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 60d954abeff0f4a5 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x19986000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x19066000 res 510x510x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x199b2000 res 512x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x199de000 res 256x256x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x188a2000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R8i.x = R127i.w; -R8i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R8i.z = R2i.z; -R8i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R10i.y; -// 4 -R10i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R9i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R13i.x = 0; -PS0i = R13i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R13i.z = 0; -PS1i = R13i.z; -// 6 -R12i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R11i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R9i.w = floatBitsToInt(tempResultf); -PS1i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R4i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); -R3i.w = R11i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R9i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R10i.x)); -// 4 -R6i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R1i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R1i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R1i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R1i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R1i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R9i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R1i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.w; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 11 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R6i.z + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000003; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.x = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); -R125i.w = clampFI32(R125i.w); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -PS0i = R126i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.w))); -PV1i.z = clampFI32(PV1i.z); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R125i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = R126i.w; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].z),-(uf_blockPS2[1].y)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R8i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R8i.w; -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R0i.y = ((PS1i == 0)?(0):(0)); -R2i.z = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); -// 2 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R5i.w = 0x3f800000; -PV0i.w = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R2i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.wy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(backupReg0i)),-(intBitsToFloat(R10i.y)),-(intBitsToFloat(R11i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R126i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R0i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R10i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R11i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PS1i = R127i.x; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R6i.x = floatBitsToInt(cubeMapSTM.x); -R6i.y = floatBitsToInt(cubeMapSTM.y); -R6i.z = floatBitsToInt(cubeMapSTM.z); -R6i.w = cubeMapFaceId; -PV0i.x = R6i.x; -PV0i.y = R6i.y; -PV0i.z = R6i.z; -PV0i.w = R6i.w; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R127i.y; -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(R0i.y)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R2i.x))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R1i.w = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(R127i.x)); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R2i.y))); -PS0i = R3i.w; -// 5 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R2i.z))); -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(R6i.z))); -// 6 -backupReg0i = R6i.x; -backupReg1i = R6i.y; -backupReg2i = R0i.z; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(R0i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(R126i.x))); -R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), uf_blockPS10[5].x)); -PS0i = R7i.w; -// 7 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.y))); -R0i.x = clampFI32(R0i.x); -R4i.y = 0; -} -if( activeMaskStackC[1] == true ) { -R3i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R6i.yx),R6i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R0i.x) + intBitsToFloat(0x40400000))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R0i.x))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.z))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.x))); -// 2 -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.x = floatBitsToInt(tempResultf); -PS0i = R0i.x; -// 3 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(R0i.x))); -// 1 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -// 2 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[21].x)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.y))); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PV0i.x))); -R126i.w = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 6 -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z)) + intBitsToFloat(PV1i.x))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R5i.y)) + intBitsToFloat(PV1i.y))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(PV1i.z))); -PV0i.w = R127i.w; -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R3i.y)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R3i.x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R3i.z)); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.w))); -PV0i.z = R123i.z; -// 9 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[20].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[20].x)); -// 10 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[2].x)); -PV0i.x = R7i.x; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[2].y)); -PV0i.y = R7i.y; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].z)); -PV0i.z = R7i.z; -// 11 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R7i.w; -// 12 -R1i.xyz = ivec3(R4i.x,R4i.y,R4i.y); -R1i.w = R4i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/637727b58ea13abc_00000000078e1649_ps.txt b/Source/TokyoMirage/637727b58ea13abc_00000000078e1649_ps.txt deleted file mode 100644 index a867d015..00000000 --- a/Source/TokyoMirage/637727b58ea13abc_00000000078e1649_ps.txt +++ /dev/null @@ -1,1219 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 637727b58ea13abc -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1bc72000 res 512x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1bc9e000 res 256x128x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x1cd41000 res 128x128x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x194a2000 res 4096x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R8i.x = R127i.w; -R8i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R8i.z = R2i.z; -R8i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R10i.y; -// 4 -R10i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R9i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R13i.x = 0; -PS0i = R13i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R13i.z = 0; -PS1i = R13i.z; -// 6 -R12i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R11i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R9i.w = floatBitsToInt(tempResultf); -PS1i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R4i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.w))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); -R3i.w = R11i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R9i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R10i.x)); -// 4 -R10i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R1i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R1i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R1i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),-(intBitsToFloat(R1i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R1i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R9i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R1i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.w; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 11 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R10i.z + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000003; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.x = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); -R125i.w = clampFI32(R125i.w); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -PS0i = R126i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.w))); -PV1i.z = clampFI32(PV1i.z); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R125i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = R126i.w; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].z),-(uf_blockPS2[1].y)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R5i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R5i.w; -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R0i.y = ((PS1i == 0)?(0):(0)); -R2i.z = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); -// 2 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R2i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.wy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(backupReg0i)),-(intBitsToFloat(R10i.y)),-(intBitsToFloat(R6i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.w = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R126i.w; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R0i.x)))); -R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R10i.y)))); -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R6i.z)))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PS1i = R127i.w; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R127i.x; -// 3 -backupReg0i = R0i.y; -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.w)); -PV1i.w = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[5].x)); -PS1i = R3i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R4i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R0i.y)) + uf_blockPS3[19].w)); -PV0i.z = R123i.z; -// 5 -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(R126i.w))); -// 6 -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.x))); -R126i.w = clampFI32(R126i.w); -PV0i.w = R126i.w; -// 7 -redcCUBE(vec4(intBitsToFloat(R126i.z),intBitsToFloat(R126i.z),intBitsToFloat(R126i.x),intBitsToFloat(R126i.y)),vec4(intBitsToFloat(R126i.y),intBitsToFloat(R126i.x),intBitsToFloat(R126i.z),intBitsToFloat(R126i.z)),cubeMapSTM,cubeMapFaceId); -R0i.x = floatBitsToInt(cubeMapSTM.x); -R0i.y = floatBitsToInt(cubeMapSTM.y); -R0i.z = floatBitsToInt(cubeMapSTM.z); -R0i.w = cubeMapFaceId; -PV1i.x = R0i.x; -PV1i.y = R0i.y; -PV1i.z = R0i.z; -PV1i.w = R0i.w; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); -PS1i = R126i.z; -// 8 -R123i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R126i.w) + intBitsToFloat(0x40400000))); -PV0i.y = R123i.y; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R0i.y; -backupReg1i = R0i.x; -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS0i)) + 1.5)); -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS0i)) + 1.5)); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R0i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R0i.yx),R0i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -tempResultf = log2(intBitsToFloat(R6i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS0i))); -// 2 -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.w))); -// 4 -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[21].x)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(PV0i.w))); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.y))); -// 7 -backupReg0i = R126i.x; -backupReg1i = R127i.y; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.w))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R127i.y; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R2i.z)) + intBitsToFloat(PV0i.z))); -PV1i.w = R126i.w; -// 8 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R0i.y)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.z)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(R126i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R126i.z)) + intBitsToFloat(R126i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -// 10 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[20].z)); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[2].x)); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), uf_blockPS10[2].y)); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), uf_blockPS10[2].z)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -// 3 -R0i.xyz = ivec3(R3i.x,R3i.y,R3i.z); -R0i.w = R3i.w; -// 4 -R1i.xyz = ivec3(R4i.x,R4i.y,R4i.y); -R1i.w = R4i.y; -} -// export -if( ((vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/637727b58ea13abc_000000003c3c9649_ps.txt b/Source/TokyoMirage/637727b58ea13abc_000000003c3c9649_ps.txt deleted file mode 100644 index 729180e8..00000000 --- a/Source/TokyoMirage/637727b58ea13abc_000000003c3c9649_ps.txt +++ /dev/null @@ -1,1217 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 637727b58ea13abc -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1a497000 res 1024x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x19b16000 res 1024x256x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x19bd6000 res 128x128x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a2000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R8i.x = R127i.w; -R8i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R8i.z = R2i.z; -R8i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R10i.y; -// 4 -R10i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R9i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R13i.x = 0; -PS0i = R13i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R13i.z = 0; -PS1i = R13i.z; -// 6 -R12i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R11i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R9i.w = floatBitsToInt(tempResultf); -PS1i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R4i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.w))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); -R3i.w = R11i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R9i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R10i.x)); -// 4 -R10i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R1i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R1i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R1i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),-(intBitsToFloat(R1i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R1i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R9i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R1i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.w; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 11 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R10i.z + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000003; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.x = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); -R125i.w = clampFI32(R125i.w); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -PS0i = R126i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.w))); -PV1i.z = clampFI32(PV1i.z); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R125i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = R126i.w; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].z),-(uf_blockPS2[1].y)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R5i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R5i.w; -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R0i.y = ((PS1i == 0)?(0):(0)); -R2i.z = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); -// 2 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R2i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.wy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(backupReg0i)),-(intBitsToFloat(R10i.y)),-(intBitsToFloat(R6i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.w = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R126i.w; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R0i.x)))); -R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R10i.y)))); -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R6i.z)))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PS1i = R127i.w; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R127i.x; -// 3 -backupReg0i = R0i.y; -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.w)); -PV1i.w = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[5].x)); -PS1i = R3i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R4i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R0i.y)) + uf_blockPS3[19].w)); -PV0i.z = R123i.z; -// 5 -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(R126i.w))); -// 6 -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.x))); -R126i.w = clampFI32(R126i.w); -PV0i.w = R126i.w; -// 7 -redcCUBE(vec4(intBitsToFloat(R126i.z),intBitsToFloat(R126i.z),intBitsToFloat(R126i.x),intBitsToFloat(R126i.y)),vec4(intBitsToFloat(R126i.y),intBitsToFloat(R126i.x),intBitsToFloat(R126i.z),intBitsToFloat(R126i.z)),cubeMapSTM,cubeMapFaceId); -R0i.x = floatBitsToInt(cubeMapSTM.x); -R0i.y = floatBitsToInt(cubeMapSTM.y); -R0i.z = floatBitsToInt(cubeMapSTM.z); -R0i.w = cubeMapFaceId; -PV1i.x = R0i.x; -PV1i.y = R0i.y; -PV1i.z = R0i.z; -PV1i.w = R0i.w; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); -PS1i = R126i.z; -// 8 -R123i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R126i.w) + intBitsToFloat(0x40400000))); -PV0i.y = R123i.y; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R0i.y; -backupReg1i = R0i.x; -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS0i)) + 1.5)); -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS0i)) + 1.5)); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R0i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R0i.yx),R0i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -tempResultf = log2(intBitsToFloat(R6i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS0i))); -// 2 -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.w))); -// 4 -R126i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[21].x)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(PV0i.w))); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.y))); -// 7 -backupReg0i = R126i.x; -backupReg1i = R127i.y; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.w))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R127i.y; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R2i.z)) + intBitsToFloat(PV0i.z))); -PV1i.w = R126i.w; -// 8 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R0i.y)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.z)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(R126i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R126i.z)) + intBitsToFloat(R126i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -// 10 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[20].z)); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[2].x)); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), uf_blockPS10[2].y)); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), uf_blockPS10[2].z)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -// 3 -R0i.xyz = ivec3(R3i.x,R3i.y,R3i.z); -R0i.w = R3i.w; -// 4 -R1i.xyz = ivec3(R4i.x,R4i.y,R4i.y); -R1i.w = R4i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/658c0585bb7b4b1f_0000000007879249_ps.txt b/Source/TokyoMirage/658c0585bb7b4b1f_0000000007879249_ps.txt deleted file mode 100644 index cb77f19f..00000000 --- a/Source/TokyoMirage/658c0585bb7b4b1f_0000000007879249_ps.txt +++ /dev/null @@ -1,615 +0,0 @@ - - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 658c0585bb7b4b1f -uniform ivec4 uf_remappedPS[31]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1f82c000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1f7fc000 res 256x256x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x1ecde000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -R9i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R5i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.y = R1i.x; -PS0i = R126i.y; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -R125i.y = PV0i.w; -R127i.z = R2i.x; -R127i.w = R1i.y; -R125i.z = R2i.y; -PS1i = R125i.z; -// 2 -R124i.y = R1i.z; -R1i.z = R2i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -tempResultf = log2(intBitsToFloat(R9i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R126i.z = floatBitsToInt(tempResultf); -PS0i = R126i.z; -// 3 -R125i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(uf_remappedPS[0].x)); -R1i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(uf_remappedPS[0].y)); -R5i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(uf_remappedPS[0].z)); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R9i.x)) + intBitsToFloat(R7i.w))); -R124i.z = floatBitsToInt(sqrt(intBitsToFloat(PV0i.w))); -PS1i = R124i.z; -// 4 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.y),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), intBitsToFloat(R126i.z))); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R124i.z),-0.0),vec4(intBitsToFloat(R125i.y),intBitsToFloat(R127i.w),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R9i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 6 -backupReg0i = R124i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(R1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.z = tempi.x; -R124i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + 1.0); -PS0i = R124i.y; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = tempi.x; -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R9i.z)) + intBitsToFloat(R7i.w))); -PS1i = R7i.y; -// 8 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R1i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R1i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].y)) + 1.0); -PS0i = R127i.w; -// 9 -PV1i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].z)) + 1.0); -PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.y))); -// 10 -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[1].y))); -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[1].x))); -R7i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[1].z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.y)); -PS0i = floatBitsToInt(tempResultf); -// 11 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS1i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[2].x)),-(intBitsToFloat(uf_remappedPS[2].y)),-(intBitsToFloat(uf_remappedPS[2].z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(uf_remappedPS[3].w)) + 1.0)); -PV1i.x = R123i.x; -PV1i.y = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[3].w)) + 1.0)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[3].w)) + 1.0)); -PV1i.w = R123i.w; -// 2 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R7i.z))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R9i.y))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R7i.w))); -R2i.w = ((PV1i.y == 0)?(0):(0)); -R1i.z = ((PV1i.y == 0)?(0):(0x3f800000)); -PS0i = R1i.z; -// 3 -predResult = (R1i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R2i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[4].x) >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[5].x))); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),intBitsToFloat(uf_remappedPS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(uf_remappedPS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(uf_remappedPS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(uf_remappedPS[10].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -backupReg0i = R4i.w; -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R2i.z = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R4i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R2i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].y)) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R4i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(uf_remappedPS[15].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(uf_remappedPS[16].x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[10].x)); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(uf_remappedPS[16].x))); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(uf_remappedPS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(uf_remappedPS[18].x)); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[18].x)) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt(min(intBitsToFloat(R1i.z), intBitsToFloat(backupReg0i))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[19].z)) + 1.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[20].z),-(intBitsToFloat(R2i.w))) + intBitsToFloat(uf_remappedPS[20].z))); -PV1i.z = R123i.z; -R127i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[21].x)) + 1.0); -R127i.y = floatBitsToInt(max(intBitsToFloat(uf_remappedPS[21].x), intBitsToFloat(0x33d6bf95))); -PS1i = R127i.y; -// 2 -R6i.x = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV1i.z)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[22].w))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -PS0i = R126i.w; -// 3 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[23].x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[23].y))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[23].z))); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[24].x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.w))); -PV0i.z = clampFI32(PV0i.z); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[24].y))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -// 5 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[24].z))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(PS0i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[24].w))); -PS1i = R3i.y; -// 6 -R7i.y = 0; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[21].y), intBitsToFloat(PS0i))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[25].x))); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].w), intBitsToFloat(PS1i))); -R2i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R2i.x; -// 9 -R4i.xyz = ivec3(uf_remappedPS[26].x,uf_remappedPS[26].y,uf_remappedPS[26].z); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 10 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y), intBitsToFloat(PS1i))); -// 11 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.w))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.z))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.x))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(uf_remappedPS[27].y)) + intBitsToFloat(uf_remappedPS[28].y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(uf_remappedPS[27].x)) + intBitsToFloat(uf_remappedPS[28].x))); -PV0i.w = R123i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(uf_remappedPS[27].z)) + intBitsToFloat(uf_remappedPS[28].z))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.z))); -// 2 -backupReg0i = R0i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R1i.y)) + intBitsToFloat(R6i.y))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[29].z)) + intBitsToFloat(uf_remappedPS[29].w)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(backupReg0i))); -PV0i.w = R127i.w; -// 3 -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R1i.z)) + intBitsToFloat(R0i.x))); -PV1i.y = R127i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.w)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R2i.z)); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PS1i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.x))); -PV0i.w = R123i.w; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R2i.x)) + intBitsToFloat(R127i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R2i.x)) + intBitsToFloat(R127i.w))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R2i.x)) + intBitsToFloat(R127i.y))); -PV1i.x = R123i.x; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R4i.y))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R4i.x))); -// 8 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(uf_remappedPS[30].x))); -PV0i.x = R5i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_remappedPS[30].y))); -PV0i.y = R5i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(uf_remappedPS[30].z))); -PV0i.z = R5i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R5i.w; -// 2 -R1i.xyz = ivec3(R7i.z,R7i.y,R7i.y); -R1i.w = R7i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/6c12438270a71b38_0000000f0f249249_ps.txt b/Source/TokyoMirage/6c12438270a71b38_0000000f0f249249_ps.txt deleted file mode 100644 index a6126976..00000000 --- a/Source/TokyoMirage/6c12438270a71b38_0000000f0f249249_ps.txt +++ /dev/null @@ -1,1547 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 6c12438270a71b38 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3d01a000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x3d0c6000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3cbe2000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0x2aa61000 res 1024x1024x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS1[0].x, uf_blockPS3[11].z)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS1[0].y, uf_blockPS3[11].z)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -PS0i = floatBitsToInt(1.0 / uf_blockPS1[0].x); -// 1 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x394ccccd)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x394ccccd)); -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(PS0i)) + -(uf_blockPS3[11].x))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / uf_blockPS1[0].y); -// 2 -R126i.x = floatBitsToInt(floor(intBitsToFloat(R127i.z))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(PS1i)) + -(uf_blockPS3[11].y))); -PV0i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.w))); -R127i.y = int(uint(intBitsToFloat(PV1i.z))); -PS0i = R127i.y; -// 3 -R125i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV1i.x = R125i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.z))); -R127i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PV1i.z = R127i.z; -R9i.x = 0; -PS1i = R9i.x; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R126i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R9i.y = 0; -PS0i = R9i.y; -// 5 -R10i.x = 0; -R9i.z = 0; -R127i.x = int(uint(R127i.y) * uint(0x00000050)); -PS1i = R127i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R126i.x))); -// 7 -PV1i.x = R127i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -PS1i = floatBitsToInt(tempResultf); -// 8 -R5i.x = PV1i.x << 0x00000002; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS1i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R6i.w = PV1i.x << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -PS0i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS7, intBitsToFloat(R5i.wy)).xyzw); -R8i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((intBitsToFloat(R7i.y) * 2.0 + -(1.0))); -PV0i.x = R123i.x; -R10i.y = R6i.w + 0x00000e10; -R123i.z = floatBitsToInt((intBitsToFloat(R7i.z) * 2.0 + -(1.0))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R7i.x) * 2.0 + -(1.0))); -PV0i.w = R123i.w; -R4i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS0i = R4i.w; -// 1 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),uf_blockPS3[18].z) + intBitsToFloat(R1i.x))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),uf_blockPS3[18].z) + intBitsToFloat(R1i.y))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),uf_blockPS3[18].z) + intBitsToFloat(R1i.z))); -PV1i.z = R127i.z; -PV1i.w = R8i.x << PS0i; -R10i.z = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -PS1i = R10i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -PS0i = int(uint(PV1i.w) >> uint(PS1i)); -// 3 -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS3[18].w)); -R1i.w = PS0i & 0x0000ffff; -PS1i = R1i.w; -// 4 -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R6i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R1i.w > R10i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R10i.x; -R6i.x = 0; -PV0i.w = R10i.y + R10i.x; -R10i.x = backupReg0i + int(1); -PS0i = R10i.x; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R5i.z << R4i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.z)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R5i.y = PS1i + 0x00000003; -R5i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R5i.y)),-(intBitsToFloat(R5i.z)),-(intBitsToFloat(R6i.x))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 4 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.y << R4i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.z)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = (R1i.w > R7i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R7i.z; -backupReg0i = R7i.z; -R7i.z = backupReg0i + int(1); -PV0i.w = R10i.y + backupReg0i; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.x << R4i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R10i.z)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.y = PS0i + int(1); -R5i.w = PS0i + 0x00000005; -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.w].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(backupReg0i)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(backupReg0i))); -// 7 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -// 9 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R8i.z << R4i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R10i.z)); -// 2 -R10i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R10i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = (R10i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R10i.y + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.y << R4i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.z)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.z = R6i.w + PV0i.w; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.y].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R125i.z))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); -// 7 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV0i.x)); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.y))); -PV0i.x = clampFI32(PV0i.x); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -// 10 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.w; -// 1 -R127i.x = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.y = R127i.y; -R127i.z = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R125i.z = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS1i = R125i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.y)); -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.y)); -R126i.z = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R124i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -PS1i = R124i.w; -// 4 -R125i.x = ((R127i.z == 0)?(0):(0x3f800000)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.x))); -R4i.z = ((R126i.w == 0)?(0):(0x3f800000)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R124i.x = ((R127i.x == 0)?(0):(0x3f800000)); -PS0i = R124i.x; -// 5 -R0i.x = floatBitsToInt(-(intBitsToFloat(R125i.w)) + 1.0); -PV1i.x = R0i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(R125i.z)) + 1.0); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R124i.w))); -R125i.w = floatBitsToInt(min(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.w))); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS1i = R127i.x; -// 6 -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.z) + 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R125i.z))); -R125i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.x) + 1.0)); -R124i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -R124i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(backupReg0i)) + 1.0)); -PV1i.y = R124i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PS0i))); -R126i.z = clampFI32(R126i.z); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -R127i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -PS1i = R127i.y; -// 8 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R8i.z))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R8i.x))); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.y))); -PV0i.z = R127i.z; -R124i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -PV0i.w = R124i.w; -R124i.z = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w)); -PS0i = R124i.z; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R5i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R125i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R5i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R5i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.z))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R126i.z) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R126i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -backupReg0i = R127i.x; -backupReg1i = R124i.w; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R7i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.z))); -R125i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R7i.y)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R7i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PS1i = R127i.y; -// 12 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R127i.z))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R126i.y))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(backupReg0i))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.y))); -// 13 -backupReg0i = R127i.x; -backupReg1i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(backupReg1i)) + intBitsToFloat(PS0i))); -PS1i = R127i.w; -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(R126i.x))); -PV0i.z = R123i.z; -tempResultf = log2(intBitsToFloat(R124i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R127i.w))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 16 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[0].x)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 17 -R5i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R9i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R9i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R9i.y))); -PV0i.z = R123i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV1i.w))); -PV0i.x = R127i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV1i.y))); -PV0i.y = R124i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV1i.x))); -PV0i.z = R125i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 4 -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(0x2edbe6ff))); -// 5 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); -// 7 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.z))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV0i.x))); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R125i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = R125i.z; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R5i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R10i.w = 0x3f800000; -PV0i.w = R10i.w; -R2i.w = floatBitsToInt(uf_blockPS4[2].x); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 4.0); -PS0i = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[2].w)); -R8i.x = floatBitsToInt(uf_blockPS8[23].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[23].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.w)); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R8i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R4i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R4i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R4i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.w))?1.0:0.0); -R5i.x = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(R8i.z)); -PS0i = R5i.x; -} -if( activeMaskStackC[2] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R4i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = backupReg0i; -R4i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R9i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R0i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R9i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R0i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R7i.y; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R9i.y; -// 4 -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[6].w)); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R5i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(R2i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.w))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R9i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R5i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R5i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R9i.x) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R9i.y) >= intBitsToFloat(R5i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R9i.z) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R9i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R9i.w; -R9i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R8i.z = floatBitsToInt(uf_blockPS4[2].x); -R8i.z = floatBitsToInt(intBitsToFloat(R8i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -PS0i = R5i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.x)); -// 2 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R3i.x)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R9i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R9i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(R2i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.w))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R6i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R4i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R9i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R9i.w))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R5i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R7i.y = 0; -PS0i = R7i.y; -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -R0i.y = floatBitsToInt(intBitsToFloat(R9i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV0i.x))); -// 2 -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].x)); -// 3 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.w))); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -PS1i = R6i.w; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R2i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); -// 5 -R2i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.x)),intBitsToFloat(PS0i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PV1i.z))); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -// 8 -R5i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R4i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R4i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.w))); -PV1i.x = R127i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.x))); -PV1i.w = R127i.w; -// 2 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R1i.x)); -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R2i.y)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R2i.x)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.z))); -PV0i.x = R123i.x; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R5i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R5i.x))); -// 7 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[2].x)); -PV0i.x = R6i.x; -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), uf_blockPS10[2].y)); -PV0i.y = R6i.y; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[2].z)); -PV0i.z = R6i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R6i.w; -// 2 -R1i.xyz = ivec3(R7i.x,R7i.y,R7i.y); -R1i.w = R7i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/6cad1f9e3b132733_0000003c3c3c9249_ps.txt b/Source/TokyoMirage/6cad1f9e3b132733_0000003c3c3c9249_ps.txt deleted file mode 100644 index a64a749d..00000000 --- a/Source/TokyoMirage/6cad1f9e3b132733_0000003c3c3c9249_ps.txt +++ /dev/null @@ -1,1150 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 6cad1f9e3b132733 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2019e000 res 2048x2048x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xc) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1f89c000 res 512x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x2044a000 res 512x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x1ecde000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R8i.x = R127i.w; -R8i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R8i.z = R2i.z; -R8i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R10i.y; -// 4 -R10i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R9i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R13i.x = 0; -PS0i = R13i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R13i.z = 0; -PS1i = R13i.z; -// 6 -R12i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R11i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R9i.w = floatBitsToInt(tempResultf); -PS1i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R4i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); -R3i.w = R11i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R9i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R10i.x)); -// 4 -R6i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R1i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R1i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R1i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R1i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R1i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R9i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R1i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.w; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 11 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R6i.z + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000003; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.x = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); -R125i.w = clampFI32(R125i.w); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -PS0i = R126i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.w))); -PV1i.z = clampFI32(PV1i.z); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R125i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = R126i.w; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].z),-(uf_blockPS2[1].y)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R5i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R5i.w; -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R0i.y = ((PS1i == 0)?(0):(0)); -R2i.z = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); -// 2 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R2i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.wy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyz); -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R126i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.y = R126i.y; -PV1i.z = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R1i.x))); -PS1i = R124i.y; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R0i.y)) + uf_blockPS3[19].w)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(R126i.y))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R1i.z))); -R1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); -PV0i.x = clampFI32(PV0i.x); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); -PV0i.y = clampFI32(PV0i.y); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), uf_blockPS3[21].x)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), uf_blockPS3[8].x)); -PS0i = R127i.w; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.y) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.w))); -PS1i = R125i.x; -// 6 -backupReg0i = R0i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.z))); -R125i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.w))); -R5i.w = 0; -PS0i = R5i.w; -// 7 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS3[8].w)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), uf_blockPS3[8].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), uf_blockPS3[8].y)); -R8i.w = 0; -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), uf_blockPS3[10].x)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), uf_blockPS3[10].y)); -tempResultf = log2(intBitsToFloat(R127i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), uf_blockPS3[10].z)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 10 -backupReg0i = R127i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), uf_blockPS10[5].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[5].x)); -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), uf_blockPS10[5].x)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 11 -backupReg0i = R126i.x; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -PV1i.w = R127i.w; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[5].x)); -PS1i = R126i.x; -// 12 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PV1i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PV1i.y))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PV1i.z))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.w))); -PS0i = R2i.x; -// 13 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), uf_blockPS10[2].x)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), uf_blockPS10[2].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), uf_blockPS10[2].y)); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -// 14 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.x))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.y))); -R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.y))); -// 2 -backupReg0i = R0i.z; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R6i.x)) + intBitsToFloat(R0i.w))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R6i.y)) + intBitsToFloat(backupReg0i))); -PV0i.w = R123i.w; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y)) + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R6i.z)) + intBitsToFloat(backupReg1i))); -PV1i.z = R123i.z; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -// 4 -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(R2i.z)) + intBitsToFloat(PV1i.z))); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), uf_blockPS3[20].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), uf_blockPS3[20].x)); -// 1 -R7i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].x, intBitsToFloat(PV0i.w))); -R7i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].y, intBitsToFloat(PV0i.z))); -R7i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].z, intBitsToFloat(PV0i.y))); -// 2 -R2i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -R2i.w = R5i.w; -// 3 -R0i.xyz = ivec3(R7i.x,R7i.y,R7i.z); -R0i.w = R7i.w; -// 4 -R1i.xyz = ivec3(R8i.z,R8i.w,R8i.w); -R1i.w = R8i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor4 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/6e1c0e67c00faf41_00000001e1e49249_ps.txt b/Source/TokyoMirage/6e1c0e67c00faf41_00000001e1e49249_ps.txt deleted file mode 100644 index bf129579..00000000 --- a/Source/TokyoMirage/6e1c0e67c00faf41_00000001e1e49249_ps.txt +++ /dev/null @@ -1,1676 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader 6e1c0e67c00faf41 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3658c000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x36638000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x36484000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R5i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R11i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R11i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R3i.x = 0; -PS0i = R3i.x; -// 3 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -R3i.y = 0; -PS1i = R3i.y; -// 4 -R9i.x = 0; -R9i.y = 0; -R3i.z = 0; -R1i.w = 0; -R9i.z = 0; -PS0i = R9i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS0i = R5i.w; -// 9 -R5i.x = PV0i.z << 0x00000002; -R5i.y = PV0i.z << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R7i.x << R11i.x; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R11i.z = R5i.y + 0x00000e10; -PS0i = R11i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PS1i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.w & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R11i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R5i.z << R11i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R5i.y = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R6i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.x)) + intBitsToFloat(R6i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.y)) + intBitsToFloat(R6i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R6i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R6i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),-(intBitsToFloat(R6i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),-(intBitsToFloat(R6i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 7 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -backupReg3i = R9i.x; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg2i))); -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R9i.x; -// 8 -backupReg0i = R9i.y; -backupReg1i = R9i.z; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.y << R11i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R8i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R8i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = (R8i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.w = R11i.z + R1i.w; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.x << R11i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.z].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.w; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.y; -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PS0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.x; -// 12 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -backupReg3i = R9i.x; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg2i))); -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R9i.x; -// 13 -backupReg0i = R9i.y; -backupReg1i = R9i.z; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.z << R11i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R12i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = (R1i.w > R12i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R12i.z; -PV0i.z = R11i.z + R12i.z; -R12i.z = backupReg0i + int(1); -PS0i = R12i.z; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R5i.y << R11i.x; -// 1 -PV1i.y = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.z = R4i.w + PV0i.x; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + int(1); -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.x].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R125i.z))); -R125i.w = clampFI32(R125i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -// 10 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.x))); -PV1i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R8i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.x = R127i.x; -R127i.y = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.w = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.z = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R126i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.x)); -// 3 -PV1i.x = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.x)); -R126i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R124i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -PS1i = R124i.w; -// 4 -backupReg0i = R127i.z; -PV0i.x = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.z))); -R4i.y = ((R127i.y == 0)?(0):(0x3f800000)); -R127i.z = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R127i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R4i.x = ((backupReg0i == 0)?(0):(0x3f800000)); -PS0i = R4i.x; -// 5 -backupReg0i = R124i.w; -R127i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R0i.y = floatBitsToInt(-(intBitsToFloat(R125i.w)) + 1.0); -R125i.z = floatBitsToInt(-(intBitsToFloat(R126i.y)) + 1.0); -R124i.w = ((R126i.w == 0)?(0):(0x3f800000)); -PV1i.w = R124i.w; -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -PS1i = R6i.y; -// 6 -backupReg0i = R127i.z; -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.y) + 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), intBitsToFloat(R127i.w))); -R127i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.w) + 1.0)); -R127i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 7 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R6i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PS0i)) + 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R126i.y))); -R126i.w = floatBitsToInt(-(intBitsToFloat(R6i.y)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -// 8 -backupReg0i = R125i.z; -R125i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -R127i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); -R125i.z = clampFI32(R125i.z); -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 9 -backupReg0i = R126i.z; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R7i.x))); -PV1i.x = R124i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R7i.y))); -PV1i.y = R125i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R7i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -R127i.w = clampFI32(R127i.w); -R124i.y = floatBitsToInt(-(intBitsToFloat(R6i.x)) + intBitsToFloat(R126i.w)); -PS1i = R124i.y; -// 10 -R126i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R5i.y)); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -R126i.y = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R5i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R5i.x)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.x))); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -PS0i = R127i.x; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R125i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.z) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.w) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.x; -backupReg1i = R126i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(PV1i.y))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.z))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); -PS0i = R126i.x; -// 13 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R8i.z)); -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R124i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R8i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R8i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R125i.y))); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -PS1i = R125i.w; -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R7i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R126i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R7i.z))); -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.y))); -PS0i = R124i.x; -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R125i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.w))); -PS1i = R122i.x; -// 16 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PS1i))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R126i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[0].x)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[0].x)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[0].x)); -tempResultf = log2(intBitsToFloat(R126i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 18 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 19 -R4i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS0i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -// 20 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R3i.y))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R3i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R3i.z))); -PV0i.w = R123i.w; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.x = R126i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -// 6 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.w))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PV1i.z))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R126i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -// 4 -R8i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.z = floatBitsToInt(uf_blockPS4[2].x); -R7i.z = floatBitsToInt(intBitsToFloat(R7i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R12i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R11i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[2].w)); -R11i.x = floatBitsToInt(uf_blockPS8[23].x); -R11i.x = floatBitsToInt(intBitsToFloat(R11i.x) / 2.0); -PS0i = R11i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R8i.y = floatBitsToInt(uf_blockPS8[23].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS1i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R4i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R11i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R12i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R11i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.w))?1.0:0.0); -R11i.y = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R3i.z)); -PS0i = R11i.y; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R10i.w) >= intBitsToFloat(R11i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R6i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R8i.y; -R4i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R11i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R10i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R10i.z; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV0i.w)); -// 6 -R4i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R10i.z) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R3i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R10i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -PV1i.y = R8i.y; -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R10i.y; -// 4 -R11i.x = floatBitsToInt(uf_blockPS8[24].x); -R11i.x = floatBitsToInt(intBitsToFloat(R11i.x) / 2.0); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R4i.y = floatBitsToInt(uf_blockPS8[24].y); -R4i.y = floatBitsToInt(intBitsToFloat(R4i.y) / 2.0); -PS0i = R4i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R4i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R11i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.w))?1.0:0.0); -R6i.x = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R2i.z)); -PS0i = R6i.x; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R6i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R4i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R11i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R6i.x))?1.0:0.0); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R4i.x)))); -PV0i.y = R123i.y; -// 7 -backupReg0i = R4i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R9i.w = floatBitsToInt(uf_blockPS4[2].x); -R9i.w = floatBitsToInt(intBitsToFloat(R9i.w) * 4.0); -PS0i = R9i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R11i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R8i.x = floatBitsToInt(uf_blockPS8[24].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R8i.y = floatBitsToInt(uf_blockPS8[24].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS1i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.w)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R2i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R3i.x)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.z; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R11i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R10i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R10i.x)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.w))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R10i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.y)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.x))); -// 6 -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 8 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R0i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS3[21].x)); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R4i.x))) + uf_blockPS10[1].z)); -PV0i.z = R123i.z; -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R8i.y = 0; -PS0i = R8i.y; -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(PV0i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.y))); -PS1i = R126i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.x)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R125i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.x))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].x)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].z)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].y)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R125i.z)); -// 5 -R3i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PS0i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 6 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R2i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -backupReg0i = R7i.w; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[5].x)); -// 8 -R6i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R5i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R5i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.w))); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.z))); -PV1i.w = R123i.w; -// 2 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.w = R127i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R3i.x)); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R1i.z)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R2i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.w))); -PV0i.w = R123i.w; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R125i.z))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(R127i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R5i.x)) + intBitsToFloat(R127i.x))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(R125i.z))); -PV1i.x = R123i.x; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R6i.y))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.x))); -// 8 -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R6i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[2].x)); -PV0i.x = R7i.x; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[2].y)); -PV0i.y = R7i.y; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), uf_blockPS10[2].z)); -PV0i.z = R7i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R7i.w; -// 2 -R1i.xyz = ivec3(R8i.x,R8i.y,R8i.y); -R1i.w = R8i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/73c2bf1091343523_000000003c3c9649_ps.txt b/Source/TokyoMirage/73c2bf1091343523_000000003c3c9649_ps.txt deleted file mode 100644 index db3672b3..00000000 --- a/Source/TokyoMirage/73c2bf1091343523_000000003c3c9649_ps.txt +++ /dev/null @@ -1,1260 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 73c2bf1091343523 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1a413000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x19af2000 res 64x64x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x19bd6000 res 128x128x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x188a2000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R8i.x = R127i.w; -R8i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R8i.z = R2i.z; -R8i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R10i.y; -// 4 -R10i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R9i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R13i.x = 0; -PS0i = R13i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R13i.z = 0; -PS1i = R13i.z; -// 6 -R12i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R11i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R9i.w = floatBitsToInt(tempResultf); -PS1i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R4i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); -R3i.w = R11i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R9i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R10i.x)); -// 4 -R6i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R1i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R1i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R1i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R1i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R1i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R9i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R1i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.w; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 11 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R6i.z + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000003; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.x = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); -R125i.w = clampFI32(R125i.w); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -PS0i = R126i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.w))); -PV1i.z = clampFI32(PV1i.z); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R125i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = R126i.w; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].z),-(uf_blockPS2[1].y)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R5i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R5i.w; -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R0i.y = ((PS1i == 0)?(0):(0)); -R2i.z = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); -// 2 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R2i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.wy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(backupReg0i)),-(intBitsToFloat(R10i.y)),-(intBitsToFloat(R11i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R126i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R0i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R10i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R11i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PS1i = R127i.x; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R6i.x = floatBitsToInt(cubeMapSTM.x); -R6i.y = floatBitsToInt(cubeMapSTM.y); -R6i.z = floatBitsToInt(cubeMapSTM.z); -R6i.w = cubeMapFaceId; -PV0i.x = R6i.x; -PV0i.y = R6i.y; -PV0i.z = R6i.z; -PV0i.w = R6i.w; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R127i.y; -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R1i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(backupReg0i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(R0i.y)) + uf_blockPS3[19].w)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.w))); -R1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -PS1i = R127i.w; -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R3i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(R127i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(R126i.x))); -R126i.w = floatBitsToInt(1.0 / abs(intBitsToFloat(R6i.z))); -PS0i = R126i.w; -// 7 -backupReg0i = R6i.x; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.y))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[5].x)); -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS0i)) + 1.5)); -PS1i = R6i.x; -// 8 -backupReg0i = R6i.y; -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R127i.w)) + 1.0)); -R0i.x = clampFI32(R0i.x); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R126i.w)) + 1.5)); -R0i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.x) + intBitsToFloat(0x40400000))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -R5i.y = 0; -PS0i = R5i.y; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R6i.yx),R6i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(R0i.z))); -tempResultf = log2(intBitsToFloat(R0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV1i.z = R123i.z; -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 2 -backupReg0i = R127i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -// 3 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -// 4 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(R127i.y))); -PS0i = R127i.w; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[21].x)); -R126i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(PV1i.x))); -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.y))); -// 8 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R2i.z)) + intBitsToFloat(PV1i.w))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R2i.y)) + intBitsToFloat(PV1i.x))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.x)) + intBitsToFloat(PV1i.y))); -PV0i.z = R127i.z; -// 9 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R3i.y)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R1i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.w)); -// 10 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PV0i.w = R123i.w; -// 11 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.z)); -// 12 -backupReg0i = R127i.w; -backupReg1i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.y))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.z))); -PV0i.y = R127i.y; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg1i))); -PV0i.w = R127i.w; -// 13 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.y)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R6i.x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R6i.z)); -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -// 15 -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[20].y)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[20].x)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[2].x)); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), uf_blockPS10[2].y)); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), uf_blockPS10[2].z)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PS1i))); -// 3 -R0i.xyz = ivec3(R4i.x,R4i.y,R4i.z); -R0i.w = R4i.w; -// 4 -R1i.xyz = ivec3(R5i.x,R5i.y,R5i.y); -R1i.w = R5i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/74ab7845ce95d107_0000007879249249_ps.txt b/Source/TokyoMirage/74ab7845ce95d107_0000007879249249_ps.txt deleted file mode 100644 index 1ce77df5..00000000 --- a/Source/TokyoMirage/74ab7845ce95d107_0000007879249249_ps.txt +++ /dev/null @@ -1,1591 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader 74ab7845ce95d107 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x30588000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x30634000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x30280000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x30128000 res 1024x1024x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0x2aa61000 res 1024x1024x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS1[0].x, uf_blockPS3[11].z)); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS1[0].y, uf_blockPS3[11].z)); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -PS0i = floatBitsToInt(1.0 / uf_blockPS1[0].x); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(PS0i)) + -(uf_blockPS3[11].x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x394ccccd)); -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R127i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x394ccccd)); -PS1i = floatBitsToInt(1.0 / uf_blockPS1[0].y); -// 2 -backupReg0i = R0i.y; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(R127i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + -(uf_blockPS3[11].y))); -PV0i.w = R123i.w; -PS0i = int(uint(intBitsToFloat(PV1i.z))); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.w))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -R127i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R127i.x; -// 4 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R5i.w))); -R5i.y = R1i.x; -R5i.z = R2i.x; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R8i.x = R126i.z; -R8i.y = R1i.y; -R7i.z = R2i.y; -R1i.w = R127i.x + PS0i; -PV1i.w = R1i.w; -R8i.z = floatBitsToInt(sqrt(intBitsToFloat(PV0i.w))); -PS1i = R8i.z; -// 6 -R1i.x = PV1i.w << 0x00000002; -R1i.y = R127i.w; -R5i.w = R2i.z; -R11i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -PS0i = R11i.x; -} -if( activeMaskStackC[1] == true ) { -R10i.xyzw = floatBitsToInt(texture(textureUnitPS7, intBitsToFloat(R7i.xy)).xyzw); -R12i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R126i.z = floatBitsToInt((intBitsToFloat(R10i.x) * 2.0 + -(1.0))); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R127i.x = floatBitsToInt((intBitsToFloat(R10i.y) * 2.0 + -(1.0))); -PS1i = R127i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R5i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((intBitsToFloat(R10i.z) * 2.0 + -(1.0))); -PS0i = R122i.x; -// 3 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),uf_blockPS3[18].z) + intBitsToFloat(R127i.z))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS3[18].z) + intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),uf_blockPS3[18].z) + intBitsToFloat(PV0i.x))); -R126i.w = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -R127i.y = R1i.w << 0x00000005; -PS1i = R127i.y; -// 4 -R9i.x = 0; -R9i.y = 0; -R126i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -R2i.w = 0; -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS3[18].w)); -PS0i = R10i.z; -// 5 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R11i.z = backupReg0i + 0x00000e10; -PS1i = R11i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R126i.w),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R126i.w),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R9i.z = 0; -PS0i = R9i.z; -// 7 -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -PS1i = floatBitsToInt(tempResultf); -// 8 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -PS0i = floatBitsToInt(tempResultf); -// 9 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(PS0i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R10i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PV0i.x = R10i.x; -R3i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R6i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -PS0i = R6i.w; -// 1 -PV1i.z = R12i.x << PV0i.x; -// 2 -PV0i.x = int(uint(PV1i.z) >> uint(R3i.w)); -// 3 -R7i.y = PV0i.x & 0x0000ffff; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.y = (R7i.y > R2i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R2i.w; -PV0i.y = R11i.z + R2i.w; -R5i.w = 0; -R2i.w = backupReg0i + int(1); -PS0i = R2i.w; -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R10i.x; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R3i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000004; -R1i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R6i.z),intBitsToFloat(R6i.z)),vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R5i.y)),-(intBitsToFloat(R5i.z)),-(intBitsToFloat(R5i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 4 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R12i.y << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R3i.w)); -// 2 -R8i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R8i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R8i.z > R8i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.y; -PV0i.y = R11i.z + R8i.y; -R8i.y = backupReg0i + int(1); -PS0i = R8i.y; -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.x << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.w) >> uint(R3i.w)); -// 2 -PV0i.z = PV1i.x & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R1i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.z)),intBitsToFloat(backupReg0i)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(backupReg0i))); -// 7 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -// 9 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R12i.z << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R3i.w)); -// 2 -R2i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R2i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R12i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R2i.w > R12i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R12i.z; -backupReg0i = R12i.z; -R12i.z = backupReg0i + int(1); -PV0i.w = R11i.z + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R1i.y << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R3i.w)); -// 2 -PV0i.z = PV1i.x & 0x0000ffff; -// 3 -PV1i.w = R6i.w + PV0i.z; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + int(1); -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000005; -R1i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.z].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(backupReg2i))); -R127i.w = clampFI32(R127i.w); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R126i.x; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); -// 7 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -// 8 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.x))); -PV0i.w = clampFI32(PV0i.w); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.z))); -// 10 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.x = R127i.x; -R127i.y = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS1i = R126i.y; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.x)); -// 3 -PV1i.x = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.x)); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R126i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R124i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R125i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -PS1i = R125i.w; -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.y))); -R124i.y = ((R127i.z == 0)?(0):(0x3f800000)); -R5i.z = ((R126i.w == 0)?(0):(0x3f800000)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R6i.y = ((R127i.y == 0)?(0):(0x3f800000)); -PS0i = R6i.y; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.y)) + 1.0); -R127i.y = floatBitsToInt(min(intBitsToFloat(R124i.w), intBitsToFloat(PV0i.w))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R125i.w))); -R3i.w = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -PV1i.w = R3i.w; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(R124i.w)); -PS1i = R125i.y; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R126i.y))); -R126i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R5i.z) + 1.0)); -R126i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.y) + 1.0)); -R125i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R6i.y) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -// 7 -R6i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(R125i.y)) + 1.0)); -PV1i.x = R6i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -R127i.y = clampFI32(R127i.y); -R127i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -R127i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -PS1i = R127i.x; -// 8 -backupReg0i = R126i.y; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R8i.x))); -PV0i.x = R126i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R8i.z))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.y))); -PV0i.z = R125i.z; -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -PV0i.w = R125i.w; -R124i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.w)); -PS0i = R124i.z; -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R1i.y)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R1i.z)); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R1i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.y) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.y))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.y))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(PS1i))); -PS0i = R124i.w; -// 11 -backupReg0i = R125i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R7i.x)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.x))); -R125i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R7i.y)); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R7i.z)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -PS1i = R127i.x; -// 12 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R125i.z))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(backupReg0i))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R126i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.y))); -PS0i = R125i.x; -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.z))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.z))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R125i.y)) + intBitsToFloat(R126i.x))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R125i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R127i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 15 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -// 16 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[0].x)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[0].x)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 17 -R0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R9i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R9i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R9i.y))); -PV0i.z = R123i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV1i.w))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV1i.x))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV1i.y))); -PV0i.z = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 4 -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(0x2edbe6ff))); -// 5 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -// 7 -backupReg0i = R6i.x; -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV0i.y))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R125i.w; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R8i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.z = floatBitsToInt(uf_blockPS4[2].x); -R6i.z = floatBitsToInt(intBitsToFloat(R6i.z) * 4.0); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[2].w)); -R4i.x = floatBitsToInt(uf_blockPS8[23].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS0i = R4i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R8i.y = floatBitsToInt(uf_blockPS8[23].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS1i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R10i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R9i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R9i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R9i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R9i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R4i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R4i.x; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.x)); -// 6 -R7i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R4i.x) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R0i.x; -// 3 -R7i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.z))); -PV1i.y = R8i.y; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R8i.x = floatBitsToInt(uf_blockPS8[24].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS1i = R8i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[6].w)); -R7i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R6i.y = floatBitsToInt(uf_blockPS8[24].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS0i = R6i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R7i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R7i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R7i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R7i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R7i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R7i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R7i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R0i.x))); -R7i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R8i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R7i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R7i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R8i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R8i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R8i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R8i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R6i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R7i.y)); -} -if( activeMaskStackC[4] == true ) { -R9i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R8i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R8i.z))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R8i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PS1i))); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R7i.z)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R7i.z; -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -// 4 -R8i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS0i = R4i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R8i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R10i.y = floatBitsToInt(uf_blockPS8[24].y); -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS1i = R10i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R8i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R8i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R8i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R8i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R8i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R8i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -R6i.z = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R6i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R6i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R10i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R9i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R6i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.w)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.z; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R7i.z))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R0i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R7i.y = 0; -PS0i = R7i.y; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -R0i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.w) + -(intBitsToFloat(PV0i.x))); -// 2 -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].x)); -// 3 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.w))); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -PS1i = R6i.w; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R2i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); -// 5 -R2i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.x)),intBitsToFloat(PS0i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PV1i.z))); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -// 8 -R5i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R4i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R4i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.w))); -PV1i.x = R127i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.x))); -PV1i.w = R127i.w; -// 2 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R1i.x)); -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R2i.y)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R2i.x)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.z))); -PV0i.x = R123i.x; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R5i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R5i.x))); -// 7 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[2].x)); -PV0i.x = R6i.x; -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), uf_blockPS10[2].y)); -PV0i.y = R6i.y; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[2].z)); -PV0i.z = R6i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R6i.w; -// 2 -R1i.xyz = ivec3(R7i.x,R7i.y,R7i.y); -R1i.w = R7i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/7709da01f43c145b_0000000007879649_ps.txt b/Source/TokyoMirage/7709da01f43c145b_0000000007879649_ps.txt deleted file mode 100644 index 28820eac..00000000 --- a/Source/TokyoMirage/7709da01f43c145b_0000000007879649_ps.txt +++ /dev/null @@ -1,643 +0,0 @@ - - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 7709da01f43c145b -uniform ivec4 uf_remappedPS[27]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1bf56000 res 64x64x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x1c2ba000 res 128x128x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x194a2000 res 4096x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(uf_remappedPS[0].x)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(uf_remappedPS[0].y)); -R127i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(uf_remappedPS[0].z)); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -R127i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + 1.0); -R127i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].y)) + 1.0); -PS1i = R127i.x; -// 2 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].z)) + 1.0); -PS0i = R126i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.w = tempi.x; -PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.y))); -// 4 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[1].y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[1].x))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[1].z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS0i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.w)); -PS1i = floatBitsToInt(tempResultf); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS1i))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R1i.x; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[2].x)),-(intBitsToFloat(uf_remappedPS[2].y)),-(intBitsToFloat(uf_remappedPS[2].z)),0.0))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(uf_remappedPS[3].w)) + 1.0)); -PV1i.x = R123i.x; -R126i.y = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = R126i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[3].w)) + 1.0)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(uf_remappedPS[3].w)) + 1.0)); -PV1i.w = R123i.w; -// 2 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R6i.z))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R5i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R5i.w))); -R5i.z = ((PV1i.y == 0)?(0):(0)); -PS0i = R5i.z; -// 3 -R1i.y = ((R126i.y == 0)?(0):(0x3f800000)); -// 4 -predResult = (R1i.y == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R1i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[4].x) >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[5].x))); -R4i.w = 0x3f800000; -PV0i.w = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),intBitsToFloat(uf_remappedPS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(uf_remappedPS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(uf_remappedPS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R5i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(uf_remappedPS[10].x)); -// 6 -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R4i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PS1i)); -R5i.w = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].x)) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R5i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].y)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.wy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R3i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R3i.w = floatBitsToInt(intBitsToFloat(R3i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R4i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(uf_remappedPS[15].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(uf_remappedPS[16].x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[10].x)); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R3i.w; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(uf_remappedPS[16].x))); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(uf_remappedPS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(uf_remappedPS[18].x)); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[18].x)) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.z = floatBitsToInt(min(intBitsToFloat(R7i.y), intBitsToFloat(R3i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R3i.z),-0.0),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R7i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[19].z)) + 1.0); -PS0i = R127i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R6i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R6i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R3i.z)) + -(intBitsToFloat(R7i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[20].z)) + intBitsToFloat(uf_remappedPS[20].w)); -PS1i = R127i.w; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R4i.x = floatBitsToInt(cubeMapSTM.x); -R4i.y = floatBitsToInt(cubeMapSTM.y); -R4i.z = floatBitsToInt(cubeMapSTM.z); -R4i.w = cubeMapFaceId; -PV0i.x = R4i.x; -PV0i.y = R4i.y; -PV0i.z = R4i.z; -PV0i.w = R4i.w; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R1i.w; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 4 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R0i.z; -backupReg3i = R0i.w; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(backupReg3i))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -// 5 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); -R0i.y = 0; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -// 6 -R1i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R127i.z))); -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R4i.yx),R4i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R6i.xyz = ivec3(R0i.x,R0i.y,R0i.y); -R6i.w = R0i.y; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[21].z),-(intBitsToFloat(R5i.z))) + intBitsToFloat(uf_remappedPS[21].z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R1i.w))); -PV1i.z = clampFI32(PV1i.z); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_remappedPS[22].x))); -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.z) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.y)); -PV0i.z = R127i.z; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[23].x)) + intBitsToFloat(uf_remappedPS[24].x))); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[23].y)) + intBitsToFloat(uf_remappedPS[24].y))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.x))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedPS[23].z)) + intBitsToFloat(uf_remappedPS[24].z))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV1i.z))); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS0i = R0i.z; -// 5 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R2i.y))); -PV1i.x = R0i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.x))); -PV1i.y = R1i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.y))); -// 6 -R2i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R4i.y)); -R2i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R4i.x)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R2i.z))); -PV0i.w = R1i.w; -// 7 -R2i.w = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.z)); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].w), intBitsToFloat(R0i.z))); -// 1 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 2 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.y))); -PV0i.z = R123i.z; -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[25].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[25].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[25].x))); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[26].x))); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[26].y))); -PV0i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[26].z))); -PV0i.z = R3i.z; -// 7 -R5i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R5i.w = R3i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -passPixelColor2 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -} diff --git a/Source/TokyoMirage/78b9ba889e63ee13_0000007879249249_ps.txt b/Source/TokyoMirage/78b9ba889e63ee13_0000007879249249_ps.txt deleted file mode 100644 index 918a52fd..00000000 --- a/Source/TokyoMirage/78b9ba889e63ee13_0000007879249249_ps.txt +++ /dev/null @@ -1,1674 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 78b9ba889e63ee13 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x367d4000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x10067000 res 1x1x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x36734000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x366dc000 res 512x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x36800000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R7i.x = R127i.w; -R7i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R7i.z = R2i.z; -R7i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R9i.y; -// 4 -R9i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R12i.y = 0; -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R8i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R12i.x = 0; -PS0i = R12i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R12i.z = 0; -PS1i = R12i.z; -// 6 -R11i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R10i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R8i.w = floatBitsToInt(tempResultf); -PS1i = R8i.w; -} -if( activeMaskStackC[1] == true ) { -R13i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R9i.y; -PV0i.x = R13i.x << R2i.w; -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.w))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R8i.w))); -R3i.w = R10i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R8i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R9i.x)); -// 4 -R9i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R1i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R1i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = R1i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000004; -R1i.z = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R6i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -// 6 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R11i.x; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R11i.x; -// 8 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R13i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -R0i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R0i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R0i.y > R8i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg0i = R8i.x; -R8i.x = backupReg0i + int(1); -PV0i.z = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.z = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R11i.x; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R11i.x; -// 13 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R13i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R9i.x)); -// 2 -R10i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R10i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R10i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -PV0i.y = R3i.w + backupReg0i; -R0i.y = backupReg0i + int(1); -PS0i = R0i.y; -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R9i.x)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R9i.z + PV0i.x; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.y))); -R125i.w = clampFI32(R125i.w); -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R126i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 10 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.y))); -PV1i.z = R126i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R10i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -R13i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.z; -// 1 -R127i.x = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.y = R127i.y; -R126i.z = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R125i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R125i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.y)); -// 3 -R126i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.y)); -R124i.z = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -PS1i = R125i.z; -// 4 -backupReg0i = R127i.w; -R124i.x = ((R126i.z == 0)?(0):(0x3f800000)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R127i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R6i.y = ((backupReg0i == 0)?(0):(0x3f800000)); -PS0i = R6i.y; -// 5 -backupReg0i = R125i.z; -R6i.x = ((R127i.x == 0)?(0):(0x3f800000)); -PV1i.x = R6i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R124i.z)) + 1.0); -R125i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + 1.0); -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(backupReg0i))); -PS1i = R5i.x; -// 6 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R126i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R6i.y) + 1.0)); -R127i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.x) + 1.0)); -R127i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 7 -backupReg0i = R125i.z; -backupReg1i = R126i.w; -R7i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(PS0i)) + 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(R125i.z) + -(intBitsToFloat(R125i.x))); -R125i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R124i.z))); -R126i.w = floatBitsToInt(-(intBitsToFloat(R5i.x)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -// 8 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); -R125i.x = clampFI32(R125i.x); -R125i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -R124i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -// 9 -backupReg0i = R126i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); -R127i.x = clampFI32(R127i.x); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R8i.x))); -PV1i.y = R124i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R8i.y))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R8i.z))); -R124i.w = floatBitsToInt(-(intBitsToFloat(R7i.x)) + intBitsToFloat(backupReg0i)); -PS1i = R124i.w; -// 10 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -R126i.y = floatBitsToInt(intBitsToFloat(R124i.z) + intBitsToFloat(R1i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R1i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R1i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PS0i = R127i.y; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R127i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R125i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.w))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.x) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(R126i.x))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.w))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R1i.w; -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R10i.x)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R10i.z)); -R125i.y = floatBitsToInt(intBitsToFloat(R125i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(R124i.y))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(R124i.z) + intBitsToFloat(R10i.y)); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(R125i.z))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PS1i = R126i.x; -// 14 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R8i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R8i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R126i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.z))); -PS0i = R124i.y; -// 15 -backupReg0i = R127i.y; -backupReg1i = R126i.x; -backupReg2i = R127i.w; -backupReg3i = R127i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R125i.y)) + intBitsToFloat(PV0i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(backupReg2i)) + intBitsToFloat(PV0i.y))); -tempResultf = log2(intBitsToFloat(backupReg3i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 16 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(R124i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.w))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R124i.y)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.y))); -PV1i.w = R123i.w; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R127i.w; -// 18 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[0].x)); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[0].x)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 19 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(R127i.w))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R12i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R12i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R12i.y))); -PV0i.w = R123i.w; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.x))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = R127i.z; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -R5i.w = floatBitsToInt(uf_blockPS4[2].x); -R5i.w = floatBitsToInt(intBitsToFloat(R5i.w) * 4.0); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[2].w)); -R8i.x = floatBitsToInt(uf_blockPS8[23].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[23].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R4i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R8i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R4i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R4i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R5i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R8i.z)); -PS0i = R5i.x; -} -if( activeMaskStackC[2] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.w) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R9i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R0i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R7i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R0i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 3 -R5i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R7i.y; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R9i.y; -// 4 -R8i.x = floatBitsToInt(uf_blockPS8[24].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -R5i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[6].w)); -R8i.y = floatBitsToInt(uf_blockPS8[24].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS0i = R8i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R5i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R5i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R5i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R5i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R7i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R7i.w; -R7i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R8i.z = floatBitsToInt(uf_blockPS4[2].x); -R8i.z = floatBitsToInt(intBitsToFloat(R8i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -PS0i = R5i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R7i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R7i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R13i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R13i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R13i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R7i.w))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS3[21].x)); -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PS0i))); -R1i.z = floatBitsToInt(intBitsToFloat(R7i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R126i.x; -// 2 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R4i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R7i.w)) + uf_blockPS3[19].w)); -PV0i.z = R123i.z; -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(R0i.x))); -// 3 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.z))); -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[10].z)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[10].y)); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[10].x)); -// 5 -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -backupReg0i = R1i.y; -backupReg1i = R0i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -backupReg0i = R1i.x; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.z; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), uf_blockPS3[20].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS3[20].x)); -// 1 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].x)); -PV1i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[2].y)); -PV1i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[2].z)); -PV1i.z = R3i.z; -// 2 -R0i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -R0i.w = R3i.w; -// 3 -R1i.xyz = ivec3(R4i.x,R4i.y,R4i.y); -R1i.w = R4i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/7a5a427460eef0e4_00000f0f0f249249_ps.txt b/Source/TokyoMirage/7a5a427460eef0e4_00000f0f0f249249_ps.txt deleted file mode 100644 index 84ea379b..00000000 --- a/Source/TokyoMirage/7a5a427460eef0e4_00000f0f0f249249_ps.txt +++ /dev/null @@ -1,1583 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader 7a5a427460eef0e4 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x37010000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x37168000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x36d18000 res 256x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x36bc0000 res 1024x1024x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R7i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R7i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R8i.y = R127i.z; -R127i.z = R2i.x; -R7i.w = R1i.y; -R127i.y = int(uint(intBitsToFloat(PV1i.z))); -PS0i = R127i.y; -// 3 -R5i.x = R127i.w; -R1i.y = R1i.z; -R126i.z = R2i.y; -R8i.w = R2i.z; -R8i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -PS1i = R8i.x; -// 4 -R4i.x = 0; -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -R7i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -R4i.y = 0; -PS0i = R4i.y; -// 5 -R0i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.y = 0; -R4i.z = 0; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R126i.x = int(uint(R127i.y) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R125i.x))); -PS1i = R5i.z; -// 8 -R1i.x = PV1i.w << 0x00000002; -R10i.y = PV1i.w << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R9i.x = floatBitsToInt(tempResultf); -PS0i = R9i.x; -} -if( activeMaskStackC[1] == true ) { -R11i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg0i = R9i.x; -backupReg0i = R9i.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(backupReg0i))); -PV0i.z = R11i.x << R2i.w; -R3i.w = R10i.y + 0x00000e10; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(backupReg0i))); -PS0i = R6i.z; -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.z) >> uint(backupReg0i)); -// 4 -R10i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R0i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R1i.x)),-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R1i.z)),-(intBitsToFloat(R5i.x))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -// 4 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R11i.y << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R7i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R7i.z; -backupReg0i = R7i.z; -R7i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R1i.x << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R0i.x)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.y = PS0i + int(1); -R1i.w = PS0i + 0x00000005; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.w].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(backupReg0i)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(backupReg0i))); -// 7 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -// 9 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R11i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R0i.x)); -// 2 -R11i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R11i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R5i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = (R11i.x > R5i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R0i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R5i.w; -PV0i.z = R3i.w + R5i.w; -R5i.w = backupReg0i + int(1); -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R1i.y << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.z = R10i.z + PV0i.w; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000003; -R1i.y = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.y].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R125i.z))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); -// 7 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV0i.x)); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.y))); -PV0i.x = clampFI32(PV0i.x); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -// 10 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R11i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.z; -// 1 -R127i.x = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.z = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.w = R127i.w; -R1i.z = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS1i = R1i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.w)); -// 3 -R126i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R124i.z = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -PV1i.w = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -PS1i = R125i.z; -// 4 -R124i.x = ((R126i.z == 0)?(0):(0x3f800000)); -R125i.y = ((R127i.x == 0)?(0):(0x3f800000)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.y))); -R125i.x = ((R127i.y == 0)?(0):(0x3f800000)); -PS0i = R125i.x; -// 5 -R0i.x = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -PV1i.x = R0i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(R1i.z)) + 1.0); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(min(intBitsToFloat(R124i.z), intBitsToFloat(PV0i.z))); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(R124i.z)); -PS1i = R127i.y; -// 6 -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.y) + 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R1i.z))); -R125i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.x) + 1.0)); -R126i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 7 -backupReg0i = R127i.y; -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R127i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PS0i))); -R124i.z = clampFI32(R124i.z); -R1i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(backupReg0i)) + 1.0)); -PV1i.w = R1i.w; -R127i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -PS1i = R127i.w; -// 8 -backupReg0i = R126i.x; -backupReg1i = R126i.w; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R7i.y))); -PV0i.x = R126i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R7i.x))); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R7i.z))); -R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x)); -PS0i = R127i.x; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R5i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R125i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R5i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R5i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.z) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R124i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.w))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(PS1i))); -PS0i = R125i.w; -// 11 -backupReg0i = R127i.z; -R5i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R11i.x)); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) * 2.0); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.z))); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R11i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R11i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PS1i = R127i.y; -// 12 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R126i.x))); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R7i.y))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R126i.y))); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R7i.z))); -// 13 -backupReg0i = R127i.z; -backupReg1i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R7i.x))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R124i.y)) + intBitsToFloat(PS0i))); -PS1i = R125i.y; -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(R125i.z))); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS3[8].x)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS3[8].y)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS3[8].z)); -PS0i = R125i.w; -// 15 -backupReg0i = R127i.x; -backupReg1i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS3[8].w)); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.x))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.y))); -tempResultf = log2(intBitsToFloat(backupReg1i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 16 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), uf_blockPS10[5].x)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), uf_blockPS10[5].x)); -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), uf_blockPS10[5].x)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[5].x)); -PS0i = R126i.z; -// 17 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[2].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[2].y)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].z)); -R124i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R124i.x; -// 18 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), uf_blockPS10[0].x)); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), uf_blockPS10[0].x)); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), uf_blockPS10[0].x)); -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV1i.x))); -PS0i = R7i.x; -// 19 -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R127i.y))); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R125i.w))); -R2i.w = 0; -R6i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(R124i.x))); -PS1i = R6i.z; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R4i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R4i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R4i.z))); -PV0i.w = R123i.w; -// 1 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.x = R124i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.z = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS0i))); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.x))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R126i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = R126i.z; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -R5i.w = floatBitsToInt(uf_blockPS4[2].x); -R5i.w = floatBitsToInt(intBitsToFloat(R5i.w) * 4.0); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[2].w)); -R11i.x = floatBitsToInt(uf_blockPS8[23].x); -R11i.x = floatBitsToInt(intBitsToFloat(R11i.x) / 2.0); -PS0i = R11i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[23].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R4i.xy)).xyzw); -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.w)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R4i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R4i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R11i.x) + intBitsToFloat(R4i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -R5i.x = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(R4i.z)); -PS0i = R5i.x; -} -if( activeMaskStackC[2] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R9i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R9i.w) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R9i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R9i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R11i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R10i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R0i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R9i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R0i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R10i.x; -// 3 -R9i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R10i.y; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R11i.y; -// 4 -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -R9i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[6].w)); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R9i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R9i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R9i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R9i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R9i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R9i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R9i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R9i.y)); -} -if( activeMaskStackC[4] == true ) { -R4i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R4i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R4i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -R4i.w = floatBitsToInt(-(intBitsToFloat(R11i.y)) + intBitsToFloat(R2i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R9i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R4i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R4i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R4i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R4i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R9i.x) >= intBitsToFloat(R4i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R9i.y) >= intBitsToFloat(R4i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R9i.z) >= intBitsToFloat(R4i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R9i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R9i.w; -R9i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R2i.z = floatBitsToInt(uf_blockPS4[2].x); -R2i.z = floatBitsToInt(intBitsToFloat(R2i.z) * 4.0); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[6].w)); -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -PS0i = R5i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R5i.w = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R9i.x) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R9i.w) >= intBitsToFloat(R5i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R9i.y) >= intBitsToFloat(R5i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R9i.z) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R2i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R8i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R9i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.w; -PV0i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R9i.w))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R6i.z))); -PV0i.w = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg0i))); -PS0i = R2i.x; -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -R0i.y = floatBitsToInt(intBitsToFloat(R9i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV0i.x))); -R6i.w = 0; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.y; -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].x)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.y)) + 1.0)); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.w))); -R2i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -PS1i = R2i.y; -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.z = floatBitsToInt(tempResultf); -PS0i = R127i.z; -// 5 -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -// 6 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS10[5].x)); -// 7 -R4i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R3i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.w))); -PV1i.x = R127i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.z))); -PV1i.w = R127i.w; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i)); -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R2i.y)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.w))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -PS0i = R6i.x; -// 5 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PV0i.x = R123i.x; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R4i.x))); -// 7 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R4i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].x, intBitsToFloat(R1i.w))); -R5i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].y, intBitsToFloat(R0i.z))); -R5i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].z, intBitsToFloat(R4i.y))); -// 1 -backupReg0i = R2i.w; -R2i.xyz = ivec3(R7i.x,R7i.y,R7i.z); -R2i.w = backupReg0i; -// 2 -R0i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -R0i.w = R5i.w; -// 3 -R1i.xyz = ivec3(R6i.x,R6i.w,R6i.w); -R1i.w = R6i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor4 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/7ff51869d8979702_0000000000f0f249_ps.txt b/Source/TokyoMirage/7ff51869d8979702_0000000000f0f249_ps.txt deleted file mode 100644 index 68f86197..00000000 --- a/Source/TokyoMirage/7ff51869d8979702_0000000000f0f249_ps.txt +++ /dev/null @@ -1,916 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 7ff51869d8979702 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1d918000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x194a2000 res 4096x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R7i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R7i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R11i.x = 0; -PS0i = R11i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.w = tempi.x; -R11i.y = 0; -PS1i = R11i.y; -// 4 -R11i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R6i.w = floatBitsToInt(tempResultf); -PS1i = R6i.w; -// 8 -R6i.x = PV1i.w << 0x00000002; -R6i.y = PV1i.w << 0x00000005; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R12i.x; -} -if( activeMaskStackC[1] == true ) { -R8i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.w))); -PV0i.z = R8i.x << R0i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.w))); -PS0i = R10i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R4i.z = R6i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R7i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PS1i))); -R9i.y = PV1i.x & 0x0000ffff; -PS0i = R9i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R6i.y = (R9i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R4i.z + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R6i.z << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),intBitsToFloat(R10i.z)),vec4(-(intBitsToFloat(R7i.x)),-(intBitsToFloat(R7i.y)),-(intBitsToFloat(R7i.z)),-(intBitsToFloat(R7i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = (R1i.w > R9i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R3i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.z; -PV0i.y = R4i.z + R9i.z; -R9i.z = backupReg0i + int(1); -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.x << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000004; -R6i.z = PS0i + 0x00000005; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xy = floatBitsToInt(uf_blockPS11[R6i.z].xy); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.z << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R12i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R12i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R12i.z > R10i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.y; -backupReg0i = R10i.y; -R10i.y = backupReg0i + int(1); -PV0i.z = R4i.z + backupReg0i; -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.y << R0i.x; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.y].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R11i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R11i.z))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R11i.x))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.x = floatBitsToInt(-(uf_blockPS2[1].y) + 1.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.z = floatBitsToInt(-(uf_blockPS2[1].z) + 1.0); -R127i.w = floatBitsToInt(-(uf_blockPS2[1].x) + 1.0); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS0i = R127i.y; -// 1 -backupReg0i = R0i.z; -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R1i.z))) + uf_blockPS10[1].z)); -PV1i.y = R123i.y; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.w))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -PS1i = R3i.w; -// 2 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R0i.w = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV1i.y)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[10].x)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[10].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[10].y)); -R5i.y = 0; -PS1i = R5i.y; -// 4 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); -PV0i.y = clampFI32(PV0i.y); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.y) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 6 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 7 -R2i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS1i))); -// 9 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 10 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS1i))); -// 11 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R126i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.z = R123i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.z))); -// 2 -backupReg0i = R0i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R4i.y)) + intBitsToFloat(R0i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(backupReg0i))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.z)) + intBitsToFloat(R1i.w))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R2i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R2i.y))); -PS0i = R3i.y; -// 5 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R2i.z))); -PV1i.z = R3i.z; -// 6 -R0i.xyz = ivec3(R3i.x,R3i.y,PV1i.z); -R0i.w = R3i.w; -// 7 -R1i.xyz = ivec3(R5i.z,R5i.y,R5i.y); -R1i.w = R5i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/82395d1cbdf2c430_0000007879249649_ps.txt b/Source/TokyoMirage/82395d1cbdf2c430_0000007879249649_ps.txt deleted file mode 100644 index 8df2e046..00000000 --- a/Source/TokyoMirage/82395d1cbdf2c430_0000007879249649_ps.txt +++ /dev/null @@ -1,1063 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 82395d1cbdf2c430 -uniform ivec4 uf_remappedPS[28]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3547b000 res 128x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x10067000 res 1x1x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x35487000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x35487000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x35022000 res 256x256x1 dim 3 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R6i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyz); -R2i.w = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).w); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(uf_remappedPS[0].z))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].z)) + 1.0); -PS1i = R126i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 3 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].x) + -(intBitsToFloat(uf_remappedPS[2].y))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = R124i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -PV0i.z = R125i.z; -PV0i.w = floatBitsToInt(max(-(intBitsToFloat(uf_remappedPS[2].y)), 0.0)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 6 -PV0i.x = floatBitsToInt(max(-(intBitsToFloat(uf_remappedPS[2].w)), 0.0)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].z) + -(intBitsToFloat(uf_remappedPS[2].w))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), -(intBitsToFloat(R125i.z)))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -// 7 -backupReg0i = R127i.y; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -PV1i.x = R124i.x; -R127i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -PS1i = R127i.w; -// 8 -R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R126i.x))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),-(intBitsToFloat(R124i.y))) + intBitsToFloat(PV1i.z))*2.0); -PV0i.w = R126i.w; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.w))); -PV1i.x = clampFI32(PV1i.x); -R0i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R125i.y)) + -(intBitsToFloat(R124i.y)))); -R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(PS0i)) + 1.0)); -PV1i.z = R127i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R125i.x)) + -(intBitsToFloat(R127i.x)))); -PS1i = R9i.x; -// 10 -R123i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.x) + intBitsToFloat(0x40400000))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R126i.y)); -R7i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(R126i.z)) + -(intBitsToFloat(R125i.z)))); -PS0i = R7i.z; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R8i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R8i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R8i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.y))); -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R5i.y)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R5i.z)) + intBitsToFloat(PV1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 13 -backupReg0i = R6i.x; -backupReg1i = R6i.y; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R6i.z)) + intBitsToFloat(PV0i.z))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), intBitsToFloat(PS0i))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV0i.x))); -// 14 -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 15 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y), intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[3].x)),-(intBitsToFloat(uf_remappedPS[3].y)),-(intBitsToFloat(uf_remappedPS[3].z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(uf_remappedPS[4].x))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[4].x))); -R127i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = R127i.z; -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(uf_remappedPS[4].x))); -PS1i = R8i.z; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R9i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (intBitsToFloat(uf_remappedPS[5].x) >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[6].x))); -R10i.w = floatBitsToInt(1.0); -PV0i.w = R10i.w; -R7i.w = uf_remappedPS[7].x; -R7i.w = floatBitsToInt(intBitsToFloat(R7i.w) * 4.0); -PS0i = R7i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(uf_remappedPS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(uf_remappedPS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R3i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R9i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(uf_remappedPS[12].w))); -R8i.x = uf_remappedPS[11].x; -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[12].z)) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R8i.y = uf_remappedPS[11].y; -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS1i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[12].y)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[12].x)) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.w)); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R5i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].x)) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].y)) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R4i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R4i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R4i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].x) /resScale * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].y) /resScale * 0.5 + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R4i.x))?1.0:0.0); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R4i.w))?1.0:0.0); -R10i.x = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(R5i.z)); -PS0i = R10i.x; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R4i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R10i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R4i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R6i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R4i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R5i.x))?1.0:0.0); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R10i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(uf_remappedPS[13].x)); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R8i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R8i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.y)); -// 6 -R6i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R8i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(uf_remappedPS[15].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(intBitsToFloat(uf_remappedPS[16].x),intBitsToFloat(uf_remappedPS[16].y),intBitsToFloat(uf_remappedPS[16].z),intBitsToFloat(uf_remappedPS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R6i.x; -// 3 -R3i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(PS0i))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R6i.y; -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),intBitsToFloat(uf_remappedPS[18].y)) + intBitsToFloat(uf_remappedPS[18].x))); -PS1i = R10i.y; -// 4 -R8i.x = uf_remappedPS[17].x; -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -R3i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(uf_remappedPS[19].w))); -R9i.y = uf_remappedPS[17].y; -R9i.y = floatBitsToInt(intBitsToFloat(R9i.y) / 2.0); -PS0i = R9i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[19].z)) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[19].y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[19].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R9i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R5i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R5i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R5i.w; -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R5i.x))?1.0:0.0); -R5i.w = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R2i.z)); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R6i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R5i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R5i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R5i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R7i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R9i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R5i.w))?1.0:0.0); -R127i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R5i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[13].x)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R6i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R6i.w; -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),intBitsToFloat(uf_remappedPS[18].y)) + intBitsToFloat(uf_remappedPS[18].x))); -R9i.z = uf_remappedPS[7].x; -R9i.z = floatBitsToInt(intBitsToFloat(R9i.z) * 4.0); -R4i.w = floatBitsToInt(1.0); -PV0i.w = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(uf_remappedPS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedPS[16].x),intBitsToFloat(uf_remappedPS[16].y),intBitsToFloat(uf_remappedPS[16].z),intBitsToFloat(uf_remappedPS[16].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R3i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedPS[19].w))); -R8i.x = uf_remappedPS[17].x; -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[19].z)) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R8i.y = uf_remappedPS[17].y; -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS1i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[19].y)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[19].x)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R3i.x)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R6i.w; -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R6i.x))?1.0:0.0); -R6i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(R2i.z)); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R6i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R6i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R5i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R4i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R4i.x))?1.0:0.0); -R127i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R4i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(uf_remappedPS[20].x)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[20].x)) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -redcCUBE(vec4(intBitsToFloat(R7i.z),intBitsToFloat(R7i.z),intBitsToFloat(R9i.x),intBitsToFloat(R0i.y)),vec4(intBitsToFloat(R0i.y),intBitsToFloat(R9i.x),intBitsToFloat(R7i.z),intBitsToFloat(R7i.z)),cubeMapSTM,cubeMapFaceId); -R1i.x = floatBitsToInt(cubeMapSTM.x); -R1i.y = floatBitsToInt(cubeMapSTM.y); -R1i.z = floatBitsToInt(cubeMapSTM.z); -R1i.w = cubeMapFaceId; -PV0i.x = R1i.x; -PV0i.y = R1i.y; -PV0i.z = R1i.z; -PV0i.w = R1i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[21].z),-(intBitsToFloat(R6i.w))) + intBitsToFloat(uf_remappedPS[21].z))); -PS0i = R122i.x; -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[22].z)) + intBitsToFloat(uf_remappedPS[22].w)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R2i.z = floatBitsToInt(intBitsToFloat(R6i.w) + intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(R7i.x))); -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 2 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -R3i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(uf_remappedPS[23].x))); -R0i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R0i.z; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R1i.yx),R1i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[24].y)) + intBitsToFloat(uf_remappedPS[25].y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[24].x)) + intBitsToFloat(uf_remappedPS[25].x))); -PV0i.y = R123i.y; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(backupReg0i))); -R0i.w = 0; -// 1 -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.x))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PV0i.y))); -PV1i.z = R127i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[24].z)) + intBitsToFloat(uf_remappedPS[25].z))); -PV1i.w = R123i.w; -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PV1i.w))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.x)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y)); -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R3i.z)) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.z)) + intBitsToFloat(R127i.z))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.z)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.z)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[26].y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[26].x))); -// 5 -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[26].z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[27].x))); -PV0i.x = R4i.x; -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(uf_remappedPS[27].y))); -PV0i.y = R4i.y; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(uf_remappedPS[27].z))); -PV0i.z = R4i.z; -// 1 -R1i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R1i.w = R4i.w; -// 2 -R2i.xyz = ivec3(R0i.z,R0i.w,R0i.w); -R2i.w = R0i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/85bfb16d3e86115d_0000000000f0f249_ps.txt b/Source/TokyoMirage/85bfb16d3e86115d_0000000000f0f249_ps.txt deleted file mode 100644 index b70859b1..00000000 --- a/Source/TokyoMirage/85bfb16d3e86115d_0000000000f0f249_ps.txt +++ /dev/null @@ -1,931 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 85bfb16d3e86115d -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1d177000 res 512x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a2000 res 4096x4096x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R7i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R7i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R11i.x = 0; -PS0i = R11i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.w = tempi.x; -R11i.y = 0; -PS1i = R11i.y; -// 4 -R11i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R6i.w = floatBitsToInt(tempResultf); -PS1i = R6i.w; -// 8 -R6i.x = PV1i.w << 0x00000002; -R6i.y = PV1i.w << 0x00000005; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R12i.x; -} -if( activeMaskStackC[1] == true ) { -R8i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.w))); -PV0i.z = R8i.x << R0i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.w))); -PS0i = R10i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R4i.z = R6i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R7i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PS1i))); -R9i.y = PV1i.x & 0x0000ffff; -PS0i = R9i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R6i.y = (R9i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R4i.z + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R6i.z << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),intBitsToFloat(R10i.z)),vec4(-(intBitsToFloat(R7i.x)),-(intBitsToFloat(R7i.y)),-(intBitsToFloat(R7i.z)),-(intBitsToFloat(R7i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = (R1i.w > R9i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R3i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.z; -PV0i.y = R4i.z + R9i.z; -R9i.z = backupReg0i + int(1); -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.x << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000004; -R6i.z = PS0i + 0x00000005; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xy = floatBitsToInt(uf_blockPS11[R6i.z].xy); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.z << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R12i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R12i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R12i.z > R10i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.y; -backupReg0i = R10i.y; -R10i.y = backupReg0i + int(1); -PV0i.z = R4i.z + backupReg0i; -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.y << R0i.x; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.y].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R11i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R11i.z))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R11i.x))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.x = floatBitsToInt(-(uf_blockPS2[1].y) + 1.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.z = floatBitsToInt(-(uf_blockPS2[1].z) + 1.0); -R127i.w = floatBitsToInt(-(uf_blockPS2[1].x) + 1.0); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R1i.z))) + uf_blockPS10[1].z)); -PS0i = R122i.x; -// 1 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -R127i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R0i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i))); -PS1i = R1i.x; -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R7i.z = 0; -R0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R126i.x; -// 3 -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(R127i.x))); -// 4 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -// 5 -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R126i.x)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 6 -R5i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -// 8 -R3i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R2i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R2i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -// 2 -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.y))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.x))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.z))); -// 3 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R4i.z))); -PV1i.x = R126i.x; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.w)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R0i.z)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.y))); -PV0i.w = R123i.w; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(R126i.x))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R2i.x)) + intBitsToFloat(R127i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R2i.x)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(PV1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R2i.x)) + intBitsToFloat(R126i.x))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R3i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R3i.x))); -// 8 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R5i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R3i.z))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R5i.y))); -PS0i = R6i.y; -// 9 -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R5i.z))); -PV1i.z = R6i.z; -// 10 -R0i.xyz = ivec3(R6i.x,R6i.y,PV1i.z); -R0i.w = R6i.w; -// 11 -R1i.xyz = ivec3(R7i.x,R7i.z,R7i.z); -R1i.w = R7i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/88ae6940d510eea5_0000000000000000_vs.txt b/Source/TokyoMirage/88ae6940d510eea5_0000000000000000_vs.txt deleted file mode 100644 index 466e88a3..00000000 --- a/Source/TokyoMirage/88ae6940d510eea5_0000000000000000_vs.txt +++ /dev/null @@ -1,80 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 88ae6940d510eea5 -const float resXScale = ; -const float resYScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem136; -layout(location = 1) out vec4 passParameterSem137; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder = attrDataSem0; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -PV0f.x = R2f.x + intBitsToFloat(uf_remappedVS[0].x) / resXScale; -PV0f.y = -(intBitsToFloat(uf_remappedVS[0].x)) / resXScale; -PV0f.w = intBitsToFloat(uf_remappedVS[0].y) / resYScale; -R0f.x = R2f.x + -(intBitsToFloat(uf_remappedVS[0].x)) / resXScale; -PS0f = R0f.x; -// 1 -backupReg0f = R2f.x; -R2f.x = backupReg0f + PV0f.y; -R0f.y = R2f.y + -(intBitsToFloat(uf_remappedVS[0].y)) / resYScale; -R0f.z = PV0f.x; -R2f.w = R2f.y + PV0f.w; -R2f.z = PV0f.x; -PS1f = R2f.z; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem136 = vec4(R0f.x, R0f.y, R0f.z, R0f.y); -// export -passParameterSem137 = vec4(R2f.x, R2f.w, R2f.z, R2f.w); -} diff --git a/Source/TokyoMirage/8942491660a6e5dd_00000000f0f1c249_ps.txt b/Source/TokyoMirage/8942491660a6e5dd_00000000f0f1c249_ps.txt deleted file mode 100644 index 3fbe4c70..00000000 --- a/Source/TokyoMirage/8942491660a6e5dd_00000000f0f1c249_ps.txt +++ /dev/null @@ -1,964 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader 8942491660a6e5dd -uniform ivec4 uf_remappedPS[30]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3468c000 res 128x128x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(uf_remappedPS[0].x)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(uf_remappedPS[0].y)); -R127i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(uf_remappedPS[0].z)); -PV0i.z = R127i.z; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -// 2 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(tempResultf); -PS0i = R127i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[1].x)),-(intBitsToFloat(uf_remappedPS[1].y)),-(intBitsToFloat(uf_remappedPS[1].z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = tempi.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -// 4 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -PV0i.z = ((0.0 >= intBitsToFloat(PV1i.x))?int(0xFFFFFFFF):int(0x0)); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 5 -R3i.x = ((PV0i.z == 0)?(0):(0)); -R1i.y = ((PV0i.z == 0)?(0):(0x3f800000)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.x)); -PS1i = floatBitsToInt(tempResultf); -// 6 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -// 7 -predResult = (R1i.y == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.w), 0.0)); -PV0i.w = R127i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.z))); -PS0i = R10i.x; -// 3 -R10i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[2].x) >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.z = uf_remappedPS[3].x; -R4i.z = floatBitsToInt(intBitsToFloat(R4i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(uf_remappedPS[4].x))); -PS0i = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),intBitsToFloat(uf_remappedPS[5].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),intBitsToFloat(uf_remappedPS[7].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R12i.x; -// 4 -R3i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[8].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R11i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_remappedPS[9].w))); -R11i.x = uf_remappedPS[8].x; -R11i.x = floatBitsToInt(intBitsToFloat(R11i.x) / 2.0); -PS0i = R11i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[9].z)) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[8].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R10i.y = uf_remappedPS[8].y; -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS1i = R10i.y; -} -if( activeMaskStackC[3] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[9].y)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[9].x)) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[8].x)) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[8].y)) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R5i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R5i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R6i.x = floatBitsToInt(intBitsToFloat(R11i.x) + intBitsToFloat(R3i.x)); -PS1i = R6i.x; -// 2 -backupReg0i = R6i.y; -R6i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[4] == true ) { -R9i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R9i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R6i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].x) /resScale * 0.5 + intBitsToFloat(R12i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].y) /resScale * 0.5 + intBitsToFloat(R11i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R9i.x))?1.0:0.0); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R9i.w))?1.0:0.0); -R11i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R3i.z)); -PS0i = R11i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R11i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R9i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R8i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R5i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R6i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R10i.y; -R5i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[8].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R5i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R11i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R6i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -R127i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R6i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(uf_remappedPS[10].x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R11i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R11i.z; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV0i.w)); -// 6 -R5i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R11i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R3i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R9i.x; -// 3 -R3i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(PS0i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -PV1i.y = R9i.y; -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),intBitsToFloat(uf_remappedPS[15].y)) + intBitsToFloat(uf_remappedPS[15].x))); -PS1i = R10i.y; -// 4 -R11i.x = uf_remappedPS[14].x; -R11i.x = floatBitsToInt(intBitsToFloat(R11i.x) / 2.0); -R3i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_remappedPS[16].w))); -R5i.y = uf_remappedPS[14].y; -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS0i = R5i.y; -} -if( activeMaskStackC[4] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[16].z)) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[16].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R11i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[5] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R8i.w))?1.0:0.0); -R8i.x = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R2i.z)); -PS0i = R8i.x; -} -if( activeMaskStackC[4] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R8i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R8i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R6i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -backupReg0i = R5i.y; -backupReg0i = R5i.y; -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R11i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[5] == true ) { -R9i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R8i.x))?1.0:0.0); -R127i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R9i.z))?1.0:0.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[10].x)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.y)); -// 6 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R5i.x)))); -PV0i.y = R123i.y; -// 7 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),intBitsToFloat(uf_remappedPS[15].y)) + intBitsToFloat(uf_remappedPS[15].x))); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R4i.w = uf_remappedPS[3].x; -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) * 4.0); -PS0i = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -R3i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R11i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[16].w))); -R11i.x = uf_remappedPS[14].x; -R11i.x = floatBitsToInt(intBitsToFloat(R11i.x) / 2.0); -PS0i = R11i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[16].z)) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R10i.y = uf_remappedPS[14].y; -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS1i = R10i.y; -} -if( activeMaskStackC[3] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[16].x)) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.w)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R2i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].x)) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[14].y)) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R11i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[4] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.z; -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R11i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R8i.x))?1.0:0.0); -R2i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R8i.w))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R4i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R10i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[14].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R11i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R9i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R9i.y))?1.0:0.0); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[3].x) == intBitsToFloat(R9i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(uf_remappedPS[17].x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[17].x)) + intBitsToFloat(PV0i.y)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.x))); -// 6 -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 8 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = floatBitsToInt(min(intBitsToFloat(R10i.x), intBitsToFloat(R5i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[18].z)) + 1.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].z),-(intBitsToFloat(R3i.x))) + intBitsToFloat(uf_remappedPS[19].z))); -PV1i.y = R123i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedPS[20].x))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(uf_remappedPS[20].y))); -PS1i = R125i.z; -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[21].y), intBitsToFloat(uf_remappedPS[22].w))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R0i.w = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV1i.y)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[23].x))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[23].z))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[23].y))); -R3i.w = 0; -PS1i = R3i.w; -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(uf_remappedPS[20].z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); -PV0i.y = clampFI32(PV0i.y); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[20].w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(uf_remappedPS[24].x))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[24].x))); -PS0i = R5i.w; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[24].x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(uf_remappedPS[24].x))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.y) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[24].x))); -PS1i = R127i.x; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[25].y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[25].z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedPS[25].x))); -R6i.y = 0; -PS0i = R6i.y; -// 7 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.w))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.x))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.y))); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].w), intBitsToFloat(PS1i))); -// 9 -R2i.xyz = ivec3(uf_remappedPS[25].x,uf_remappedPS[25].y,uf_remappedPS[25].z); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 10 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[18].y), intBitsToFloat(PS1i))); -// 11 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R126i.w))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.y))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R124i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(uf_remappedPS[26].y)) + intBitsToFloat(uf_remappedPS[27].y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(uf_remappedPS[26].x)) + intBitsToFloat(uf_remappedPS[27].x))); -PV0i.z = R123i.z; -// 1 -backupReg0i = R4i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(uf_remappedPS[26].z)) + intBitsToFloat(uf_remappedPS[27].z))); -PV1i.x = R123i.x; -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(R4i.x))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(backupReg0i))); -// 2 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R1i.z)) + intBitsToFloat(R2i.w))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[28].z)) + intBitsToFloat(uf_remappedPS[28].w)); -// 3 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.z; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedPS[29].z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(uf_remappedPS[29].y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[29].x))); -// 1 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PV0i.w))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PV0i.z))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PV0i.y))); -// 2 -R2i.xyz = ivec3(R3i.x,R3i.y,R3i.z); -R2i.w = R3i.w; -// 3 -R0i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -R0i.w = R5i.w; -// 4 -R1i.xyz = ivec3(R6i.x,R6i.y,R6i.y); -R1i.w = R6i.y; -} -// export -if( ((vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor4 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/89822681cb52f1b4_0000000000f0f249_ps.txt b/Source/TokyoMirage/89822681cb52f1b4_0000000000f0f249_ps.txt deleted file mode 100644 index 159c45e0..00000000 --- a/Source/TokyoMirage/89822681cb52f1b4_0000000000f0f249_ps.txt +++ /dev/null @@ -1,1014 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 89822681cb52f1b4 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x19be1000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x19b6c000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R5i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R11i.x = 0; -PS0i = R11i.x; -// 3 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -R11i.y = 0; -PS1i = R11i.y; -// 4 -R10i.x = 0; -R10i.y = 0; -R11i.z = 0; -R1i.w = 0; -R10i.z = 0; -PS0i = R10i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS0i = R5i.w; -// 9 -R5i.x = PV0i.z << 0x00000002; -R5i.y = PV0i.z << 0x00000005; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -} -if( activeMaskStackC[1] == true ) { -R8i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R8i.x << backupReg0i; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R4i.z = R5i.y + 0x00000e10; -PS0i = R4i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PS1i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R7i.y = PV1i.w & 0x0000ffff; -PS0i = R7i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R7i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R4i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R5i.z << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), -(intBitsToFloat(R6i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R9i.x)) + intBitsToFloat(R6i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R6i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R3i.z)) + intBitsToFloat(R6i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),-(intBitsToFloat(R6i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R3i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R6i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),-(intBitsToFloat(R6i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -// 6 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 7 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R8i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R8i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R8i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R8i.y > R3i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.x; -backupReg0i = R3i.x; -R3i.x = backupReg0i + int(1); -PV0i.w = R4i.z + backupReg0i; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.x << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xy = floatBitsToInt(uf_blockPS11[R5i.x].xy); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(R5i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R3i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R3i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R3i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -backupReg0i = R11i.x; -backupReg1i = R11i.z; -backupReg2i = R11i.y; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg2i))); -PS0i = R11i.y; -// 11 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R8i.z << R0i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R3i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R3i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = (R3i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R4i.z + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R5i.y << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.z].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.y))); -R126i.w = clampFI32(R126i.w); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R127i.x; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R3i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.x)) + -(intBitsToFloat(R126i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R3i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R3i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.x))); -PV1i.w = clampFI32(PV1i.w); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -// 11 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.y))); -PV1i.x = R126i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.z))); -PV1i.w = R126i.w; -R125i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R125i.x; -// 12 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -backupReg3i = R10i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg3i))); -PS0i = R10i.x; -// 13 -backupReg0i = R10i.y; -backupReg1i = R10i.z; -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -// 1 -PV1i.x = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R1i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R11i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R11i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R11i.z))); -// 2 -R5i.y = ((PV1i.x == 0)?(0):(0)); -R5i.z = ((PV1i.x == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[1].y)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS10[1].y)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -// 1 -predResult = (R5i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = backupReg0i; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R4i.w = 0x3f800000; -PV0i.w = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R5i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PS1i)); -R5i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.wy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R3i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R3i.w = floatBitsToInt(intBitsToFloat(R3i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R3i.w; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = floatBitsToInt(min(intBitsToFloat(R7i.y), intBitsToFloat(R3i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).xyz); -R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R3i.y),intBitsToFloat(R9i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -PV1i.z = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R5i.y))) + uf_blockPS10[1].z)); -PV1i.w = R123i.w; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(R1i.x))); -PS1i = R126i.z; -// 2 -R4i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV1i.w)); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R5i.y)) + uf_blockPS3[19].w)); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(R1i.y))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -PS0i = R127i.w; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R1i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R127i.z))); -R6i.z = 0; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.y))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[5].x)); -PS1i = R5i.w; -// 4 -backupReg0i = R127i.y; -backupReg1i = R0i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(backupReg0i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R127i.w))); -PV0i.z = clampFI32(PV0i.z); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R0i.w))); -// 5 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -// 6 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 7 -R3i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -// 9 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 10 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -// 11 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS3[21].x)); -// 12 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R127i.x))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R127i.y))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.w))); -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R2i.y)) + intBitsToFloat(backupReg0i))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R2i.x)) + intBitsToFloat(R0i.y))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.y))); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R2i.z)) + intBitsToFloat(R0i.w))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.x))); -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R126i.z; -// 4 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R3i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.y))); -PS0i = R5i.y; -// 5 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R126i.z))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R3i.z))); -PV1i.z = R5i.z; -// 6 -R0i.xyz = ivec3(R5i.x,R5i.y,PV1i.z); -R0i.w = R5i.w; -// 7 -R1i.xyz = ivec3(R6i.x,R6i.z,R6i.z); -R1i.w = R6i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/8b5e35332cd2d009_0000000007879249_ps.txt b/Source/TokyoMirage/8b5e35332cd2d009_0000000007879249_ps.txt deleted file mode 100644 index 38915ebc..00000000 --- a/Source/TokyoMirage/8b5e35332cd2d009_0000000007879249_ps.txt +++ /dev/null @@ -1,1165 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 8b5e35332cd2d009 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20096000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1f7e4000 res 256x256x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x1ecde000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R8i.x = R127i.w; -R8i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R8i.z = R2i.z; -R8i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R10i.y; -// 4 -R10i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R9i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R13i.x = 0; -PS0i = R13i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R13i.z = 0; -PS1i = R13i.z; -// 6 -R12i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R11i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R9i.w = floatBitsToInt(tempResultf); -PS1i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R4i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); -R3i.w = R11i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R9i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R10i.x)); -// 4 -R6i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R1i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R1i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R1i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R1i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R1i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R9i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R1i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.w; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 11 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R6i.z + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000003; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.x = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); -R125i.w = clampFI32(R125i.w); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -PS0i = R126i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.w))); -PV1i.z = clampFI32(PV1i.z); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R125i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = R126i.w; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].z),-(uf_blockPS2[1].y)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R5i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R5i.w; -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R0i.y = ((PS1i == 0)?(0):(0)); -R2i.z = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); -// 2 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R2i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.wy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.x; -// 1 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.y = R127i.y; -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i))); -PS1i = R2i.x; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R0i.y)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -PV0i.y = R125i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R126i.y; -// 3 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[21].x)); -R0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(R127i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.y))); -PV0i.x = clampFI32(PV0i.x); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PV0i.y = clampFI32(PV0i.y); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R126i.y = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.y) + intBitsToFloat(0x40400000))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(intBitsToFloat(R125i.y) + -(intBitsToFloat(PV0i.w))); -// 6 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PS1i), -(intBitsToFloat(PS1i)))); -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -// 7 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS3[10].z)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS3[10].y)); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS3[10].x)); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(PS0i)) + 1.0)); -R127i.w = clampFI32(R127i.w); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -R7i.y = 0; -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -tempResultf = log2(intBitsToFloat(R127i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -// 10 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(PV0i.y))); -R2i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(PV0i.y))); -tempResultf = log2(intBitsToFloat(R127i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R126i.z = floatBitsToInt(tempResultf); -PS1i = R126i.z; -// 12 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.x))); -R2i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -PS0i = R1i.w; -// 13 -R3i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R3i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -// 14 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(R126i.z))); -// 15 -R4i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R3i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -backupReg0i = R0i.z; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R6i.y)) + intBitsToFloat(backupReg0i))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R0i.y))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R6i.z)) + intBitsToFloat(R0i.w))); -PV1i.x = R123i.x; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R126i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R1i.z)) + intBitsToFloat(PV0i.z))); -PV1i.w = R127i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.y = R126i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R2i.z)); -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.w))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R3i.z)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R3i.y)) + intBitsToFloat(R126i.z))); -PV1i.w = R123i.w; -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(R126i.y))); -PV0i.z = R123i.z; -// 7 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R126i.z))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R126i.y)) + intBitsToFloat(PV0i.z)); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R126i.y))); -PV0i.x = R123i.x; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R4i.x))); -// 9 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R4i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[2].x)); -PV0i.x = R5i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), uf_blockPS10[2].y)); -PV0i.y = R5i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), uf_blockPS10[2].z)); -PV0i.z = R5i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R5i.w; -// 2 -R1i.xyz = ivec3(R7i.x,R7i.y,R7i.y); -R1i.w = R7i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/8cdd68cf2a074404_0000000000000000_vs.txt b/Source/TokyoMirage/8cdd68cf2a074404_0000000000000000_vs.txt deleted file mode 100644 index 986ff3ad..00000000 --- a/Source/TokyoMirage/8cdd68cf2a074404_0000000000000000_vs.txt +++ /dev/null @@ -1,151 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 8cdd68cf2a074404 -const float resXScale = ; -const float resYScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 4) out vec4 passParameterSem140; -layout(location = 2) out vec4 passParameterSem138; -layout(location = 3) out vec4 passParameterSem139; -layout(location = 1) out vec4 passParameterSem137; -layout(location = 0) out vec4 passParameterSem136; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder = attrDataSem0; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y)/ resYScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.y); -PV0f.x = R127f.x; -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x)/ resXScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.x); -PV0f.y = R123f.y; -R127f.z = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y) / resYScale, intBitsToFloat(uf_remappedVS[0].w)); -PV0f.z = R127f.z; -PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x) / resXScale, intBitsToFloat(uf_remappedVS[0].w)); -// 1 -PV1f.x = PV0f.x + -(PV0f.z); -PV1f.y = PV0f.y + -(PV0f.w); -R5f.x = PV0f.y + PV0f.w; -PS1f = R5f.x; -// 2 -R4f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PS1f); -PV0f.x = R4f.x; -R5f.y = R127f.x + R127f.z; -PV0f.y = R5f.y; -R5f.z = PV1f.y; -PV0f.z = R5f.z; -R5f.w = PV1f.x; -PV0f.w = R5f.w; -// 3 -R0f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV0f.x); -PV1f.x = R0f.x; -R4f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV0f.y); -PV1f.y = R4f.y; -R123f.z = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.w = R123f.w; -// 4 -R3f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV1f.x); -R0f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV1f.y); -PV0f.y = R0f.y; -R4f.z = PV1f.w; -PV0f.z = R4f.z; -R4f.w = PV1f.z; -PV0f.w = R4f.w; -// 5 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.y = R123f.y; -R3f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV0f.y); -PS1f = R3f.y; -// 6 -R2f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + R3f.x); -R2f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PS1f); -R0f.z = PV1f.y; -PV0f.z = R0f.z; -R0f.w = PV1f.x; -PV0f.w = R0f.w; -// 7 -R123f.z = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.w = R123f.w; -// 8 -R3f.z = PV1f.w; -PV0f.z = R3f.z; -R3f.w = PV1f.z; -PV0f.w = R3f.w; -// 9 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.y = R123f.y; -// 10 -R2f.z = PV1f.y; -R2f.w = PV1f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem140 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// export -passParameterSem138 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem139 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// export -passParameterSem137 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -// export -passParameterSem136 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); -} diff --git a/Source/TokyoMirage/8e4ce35172aa4207_0000000007879649_ps.txt b/Source/TokyoMirage/8e4ce35172aa4207_0000000007879649_ps.txt deleted file mode 100644 index 384ec0ce..00000000 --- a/Source/TokyoMirage/8e4ce35172aa4207_0000000007879649_ps.txt +++ /dev/null @@ -1,1040 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 8e4ce35172aa4207 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1cbab000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x1c2ba000 res 128x128x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x194a2000 res 4096x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R7i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R7i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R11i.x = 0; -PS0i = R11i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.w = tempi.x; -R11i.y = 0; -PS1i = R11i.y; -// 4 -R11i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R6i.w = floatBitsToInt(tempResultf); -PS1i = R6i.w; -// 8 -R6i.x = PV1i.w << 0x00000002; -R6i.y = PV1i.w << 0x00000005; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R12i.x; -} -if( activeMaskStackC[1] == true ) { -R8i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.w))); -PV0i.z = R8i.x << R0i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.w))); -PS0i = R10i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R4i.z = R6i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R7i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PS1i))); -R9i.y = PV1i.x & 0x0000ffff; -PS0i = R9i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R6i.y = (R9i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R4i.z + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R6i.z << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),intBitsToFloat(R10i.z)),vec4(-(intBitsToFloat(R7i.x)),-(intBitsToFloat(R7i.y)),-(intBitsToFloat(R7i.z)),-(intBitsToFloat(R7i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = (R1i.w > R9i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R3i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.z; -PV0i.y = R4i.z + R9i.z; -R9i.z = backupReg0i + int(1); -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.x << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000004; -R6i.z = PS0i + 0x00000005; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xy = floatBitsToInt(uf_blockPS11[R6i.z].xy); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.z << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R12i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R12i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R12i.z > R10i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.y; -backupReg0i = R10i.y; -R10i.y = backupReg0i + int(1); -PV0i.z = R4i.z + backupReg0i; -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.y << R0i.x; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.y].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R11i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R11i.z))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R11i.x))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.x = floatBitsToInt(-(uf_blockPS2[1].y) + 1.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.z = floatBitsToInt(-(uf_blockPS2[1].z) + 1.0); -R127i.w = floatBitsToInt(-(uf_blockPS2[1].x) + 1.0); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(R10i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R12i.x)) + -(intBitsToFloat(R10i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R3i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R3i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -PS1i = R127i.w; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R4i.x = floatBitsToInt(cubeMapSTM.x); -R4i.y = floatBitsToInt(cubeMapSTM.y); -R4i.z = floatBitsToInt(cubeMapSTM.z); -R4i.w = cubeMapFaceId; -PV0i.x = R4i.x; -PV0i.y = R4i.y; -PV0i.z = R4i.z; -PV0i.w = R4i.w; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R1i.w; -// 3 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 4 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R0i.z; -backupReg3i = R0i.w; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(backupReg3i))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -// 5 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); -R0i.y = 0; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -// 6 -R1i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R127i.z))); -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R4i.yx),R4i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R6i.xyz = ivec3(R0i.x,R0i.y,R0i.y); -R6i.w = R0i.y; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R1i.z))) + uf_blockPS10[1].z)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R1i.w))); -PV1i.z = clampFI32(PV1i.z); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[5].x)); -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.z) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV1i.y)); -PV0i.z = R127i.z; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.x))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV1i.z))); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS0i = R0i.z; -// 5 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R2i.y))); -PV1i.x = R0i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.x))); -PV1i.y = R1i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PV0i.y))); -// 6 -R2i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R4i.y)); -R2i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R4i.x)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R2i.z))); -PV0i.w = R1i.w; -// 7 -R2i.w = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.z)); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(R0i.z))); -// 1 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 2 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.y))); -PV0i.z = R123i.z; -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[20].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[20].x)); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[2].x)); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[2].y)); -PV0i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].z)); -PV0i.z = R3i.z; -// 7 -R5i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R5i.w = R3i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -passPixelColor2 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -} diff --git a/Source/TokyoMirage/8ec0e9d024e5eab1_000000003c3c9249_ps.txt b/Source/TokyoMirage/8ec0e9d024e5eab1_000000003c3c9249_ps.txt deleted file mode 100644 index 0158304e..00000000 --- a/Source/TokyoMirage/8ec0e9d024e5eab1_000000003c3c9249_ps.txt +++ /dev/null @@ -1,1176 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 8ec0e9d024e5eab1 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20a0a000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1fe88000 res 256x256x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x209fe000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x1ecde000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R8i.x = R127i.w; -R8i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R8i.z = R2i.z; -R8i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R10i.y; -// 4 -R10i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R9i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R13i.x = 0; -PS0i = R13i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R13i.z = 0; -PS1i = R13i.z; -// 6 -R12i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R11i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R9i.w = floatBitsToInt(tempResultf); -PS1i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R4i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); -R3i.w = R11i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R9i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R10i.x)); -// 4 -R6i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R1i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R1i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R1i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R1i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R1i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R9i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R1i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.w; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 11 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R6i.z + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000003; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.x = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); -R125i.w = clampFI32(R125i.w); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -PS0i = R126i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.w))); -PV1i.z = clampFI32(PV1i.z); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R125i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = R126i.w; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].z),-(uf_blockPS2[1].y)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R5i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R5i.w; -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R0i.y = ((PS1i == 0)?(0):(0)); -R2i.z = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); -// 2 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R2i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.wy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyz); -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R126i.z = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.z = R126i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R1i.x))); -PS1i = R124i.z; -// 2 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R0i.y)) + uf_blockPS3[19].w)); -R126i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PV0i.w = R126i.w; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -PS0i = R127i.w; -// 3 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R126i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R127i.z))); -R2i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.y)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R1i.y))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PV0i.x = clampFI32(PV0i.x); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R127i.w))); -PV0i.z = clampFI32(PV0i.z); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), uf_blockPS3[21].x)); -R127i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -PS0i = R127i.x; -// 5 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.w))); -PS1i = R125i.y; -// 6 -backupReg0i = R127i.x; -backupReg1i = R0i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(intBitsToFloat(R126i.w) + -(intBitsToFloat(backupReg0i))); -R125i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -PV0i.z = R125i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg1i))); -PS0i = R3i.x; -// 7 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].x)); -R126i.y = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].y)); -R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -R8i.z = 0; -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), uf_blockPS3[10].z)); -tempResultf = log2(intBitsToFloat(R127i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 10 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 11 -R127i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -PV1i.x = R127i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PV0i.w))); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS1i = R126i.x; -// 12 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV1i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV1i.y))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV1i.z))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -// 13 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.x))); -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(R126i.x)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 14 -R3i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R4i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 15 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -// 16 -R5i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R4i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R4i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.w))); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R6i.x)) + intBitsToFloat(R0i.x))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PV1i.y))); -// 3 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R2i.x)) + intBitsToFloat(PV0i.y))); -PV1i.x = R127i.x; -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.x))); -PV1i.z = R124i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R6i.z)) + intBitsToFloat(R0i.z))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -// 4 -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.y = R125i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.z)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R1i.y)); -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R4i.z)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R3i.y)) + intBitsToFloat(R124i.z))); -PV1i.w = R123i.w; -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R124i.z)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(R125i.y))); -PV0i.z = R123i.z; -// 7 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R124i.z))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R125i.y)) + intBitsToFloat(PV0i.z)); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R125i.y))); -PV0i.x = R123i.x; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R5i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R5i.x))); -// 9 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[2].x)); -PV0i.x = R7i.x; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), uf_blockPS10[2].y)); -PV0i.y = R7i.y; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[2].z)); -PV0i.z = R7i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R7i.w; -// 2 -R1i.xyz = ivec3(R8i.x,R8i.z,R8i.z); -R1i.w = R8i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/93a9c110b64f2c4a_000001e1e1e49649_ps.txt b/Source/TokyoMirage/93a9c110b64f2c4a_000001e1e1e49649_ps.txt deleted file mode 100644 index a67c2e02..00000000 --- a/Source/TokyoMirage/93a9c110b64f2c4a_000001e1e1e49649_ps.txt +++ /dev/null @@ -1,806 +0,0 @@ - - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 93a9c110b64f2c4a -uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1a216000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1989e000 res 512x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x198f6000 res 512x512x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x1a242000 res 256x256x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a1000 res 2048x2048x1 dim 1 tm: 4 format 0034 compSel: 4 4 4 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -R9i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.y = R1i.x; -PS0i = R126i.y; -// 1 -R127i.x = PV0i.w; -R125i.y = R1i.y; -R126i.z = R2i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -R125i.z = R2i.y; -PS1i = R125i.z; -// 2 -R126i.x = R127i.y; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R124i.z = R1i.z; -R127i.w = R2i.z; -tempResultf = log2(intBitsToFloat(R9i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 3 -R124i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(uf_remappedPS[0].x)); -R124i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(uf_remappedPS[0].y)); -R5i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(uf_remappedPS[0].z)); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R9i.x)) + intBitsToFloat(R7i.w))); -R1i.z = floatBitsToInt(sqrt(intBitsToFloat(PV0i.y))); -PS1i = R1i.z; -// 4 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.z),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), intBitsToFloat(R127i.y))); -PS0i = R126i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R9i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R124i.z),intBitsToFloat(R127i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = tempi.x; -R125i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + 1.0); -PS0i = R125i.y; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R9i.z)) + intBitsToFloat(R7i.w))); -PS1i = R7i.y; -// 8 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].y)) + 1.0); -PS0i = R127i.w; -// 9 -PV1i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].z)) + 1.0); -R9i.z = floatBitsToInt(exp2(intBitsToFloat(R126i.w))); -PS1i = R9i.z; -// 10 -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[1].y))); -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[1].x))); -R7i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[1].z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R124i.z)); -PS0i = floatBitsToInt(tempResultf); -// 11 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS1i))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[2].x)),-(intBitsToFloat(uf_remappedPS[2].y)),-(intBitsToFloat(uf_remappedPS[2].z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.y = tempi.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(uf_remappedPS[3].w)) + 1.0)); -PV1i.x = R123i.x; -PV1i.y = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[3].w)) + 1.0)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[3].w)) + 1.0)); -PV1i.w = R123i.w; -// 2 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R7i.z))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R9i.y))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R7i.w))); -R1i.w = ((PV1i.y == 0)?(0):(0)); -R2i.z = ((PV1i.y == 0)?(0):(0x3f800000)); -PS0i = R2i.z; -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R0i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R2i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[4].x) >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[5].x))); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),intBitsToFloat(uf_remappedPS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(uf_remappedPS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(uf_remappedPS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(uf_remappedPS[10].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -backupReg0i = R4i.w; -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R2i.z = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R4i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R2i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].y)) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R4i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(uf_remappedPS[15].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(uf_remappedPS[16].x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[10].x)); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(uf_remappedPS[16].x))); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(uf_remappedPS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(uf_remappedPS[18].x)); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[18].x)) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = floatBitsToInt(min(intBitsToFloat(R4i.z), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R3i.xyzw = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R5i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R8i.y)),-(intBitsToFloat(R1i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[19].z)) + 1.0); -PS0i = R127i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R5i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R5i.y)) + -(intBitsToFloat(R8i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R1i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[20].z)) + 1.0); -PS1i = R126i.z; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R6i.x = floatBitsToInt(cubeMapSTM.x); -R6i.y = floatBitsToInt(cubeMapSTM.y); -R6i.z = floatBitsToInt(cubeMapSTM.z); -R6i.w = cubeMapFaceId; -PV0i.x = R6i.x; -PV0i.y = R6i.y; -PV0i.z = R6i.z; -PV0i.w = R6i.w; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R127i.w; -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R5i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 4 -backupReg0i = R6i.x; -backupReg1i = R6i.y; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[21].z),-(intBitsToFloat(R1i.w))) + intBitsToFloat(uf_remappedPS[21].z))); -PS0i = R122i.x; -// 5 -R1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PS0i)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[22].w))); -PV1i.z = R125i.z; -R125i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -PV1i.w = R125i.w; -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.w; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R126i.z))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R127i.z))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[23].x)) + 1.0); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[24].x))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[24].y))); -PS0i = R2i.x; -// 7 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.w))); -R0i.x = clampFI32(R0i.x); -R0i.y = floatBitsToInt(intBitsToFloat(R125i.w) + -(intBitsToFloat(PV0i.z))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.w))); -R0i.z = clampFI32(R0i.z); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(uf_remappedPS[24].z))); -R1i.z = floatBitsToInt(max(intBitsToFloat(uf_remappedPS[23].x), intBitsToFloat(0x33d6bf95))); -PS1i = R1i.z; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R6i.yx),R6i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R0i.z) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R0i.x))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R0i.x) + intBitsToFloat(0x40400000))); -PV0i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(uf_remappedPS[25].x)) + intBitsToFloat(uf_remappedPS[26].x))); -PS0i = R122i.x; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PS0i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(uf_remappedPS[25].y)) + intBitsToFloat(uf_remappedPS[26].y))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.x))); -R127i.w = floatBitsToInt(max(intBitsToFloat(R0i.y), -(intBitsToFloat(R0i.y)))); -PS1i = R127i.w; -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(uf_remappedPS[25].z)) + intBitsToFloat(uf_remappedPS[26].z))); -PV0i.y = R123i.y; -R7i.z = 0; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV1i.z))); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 3 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(uf_remappedPS[27].x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].w), intBitsToFloat(PS0i))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.y))); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(uf_remappedPS[27].y))); -tempResultf = log2(intBitsToFloat(R127i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 4 -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[20].w), intBitsToFloat(PS1i))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedPS[27].w))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(uf_remappedPS[27].z))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 5 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y), intBitsToFloat(PS0i))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R1i.z)); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PS1i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(exp2(intBitsToFloat(R127i.y))); -// 7 -backupReg0i = R0i.w; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[20].y), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R2i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(backupReg0i))); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -backupReg0i = R3i.w; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[23].y), intBitsToFloat(PS1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R4i.z)) + intBitsToFloat(PV1i.y))); -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R4i.y)) + intBitsToFloat(PV1i.z))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.x))); -// 9 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PS0i))); -R3i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R3i.y; -// 10 -R1i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R5i.w = 0; -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[28].y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[28].x))); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV0i.x)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[28].w))); -PV1i.z = R125i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(uf_remappedPS[28].z))); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R3i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R3i.x))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(PV1i.w)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedPS[29].x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(uf_remappedPS[29].x))); -PS0i = R127i.x; -// 3 -backupReg0i = R0i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_remappedPS[29].x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(PV0i.y)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(R3i.z))); -PV1i.w = R123i.w; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[29].x))); -PS1i = R127i.z; -// 4 -backupReg0i = R127i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(uf_remappedPS[30].x))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(R3i.w))); -PV0i.z = R125i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R3i.y)) + intBitsToFloat(R3i.x))); -PV0i.w = R126i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[30].y))); -PS0i = R127i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R6i.x)); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.y)) + intBitsToFloat(R3i.z))); -PV1i.y = R126i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R6i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[30].z))); -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); -PS1i = R5i.x; -// 6 -backupReg0i = R4i.w; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R1i.z)) + intBitsToFloat(R125i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R1i.z)) + intBitsToFloat(R126i.w))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R6i.z)); -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[29].x))); -PS0i = R4i.w; -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.z)) + intBitsToFloat(R126i.y))); -PV1i.x = R123i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[31].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[31].x))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.w))); -PS1i = R5i.z; -// 8 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[30].x), intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[31].z))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[30].y), intBitsToFloat(PV1i.z))); -PS0i = R4i.y; -// 9 -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[30].z), intBitsToFloat(PV0i.y))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[32].z)) + intBitsToFloat(uf_remappedPS[32].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); -// 3 -R2i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -R2i.w = R5i.w; -// 4 -R0i.xyz = ivec3(R4i.x,R4i.y,R4i.z); -R0i.w = R4i.w; -// 5 -R1i.xyz = ivec3(R7i.x,R7i.z,R7i.z); -R1i.w = R7i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor4 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/942d4bf4624a0b2b_00000000078e1249_ps.txt b/Source/TokyoMirage/942d4bf4624a0b2b_00000000078e1249_ps.txt deleted file mode 100644 index 3f4fe572..00000000 --- a/Source/TokyoMirage/942d4bf4624a0b2b_00000000078e1249_ps.txt +++ /dev/null @@ -1,898 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader 942d4bf4624a0b2b -uniform ivec4 uf_remappedPS[26]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21228000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x20ee2000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[0].x)),-(intBitsToFloat(uf_remappedPS[0].y)),-(intBitsToFloat(uf_remappedPS[0].z)),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -backupReg0i = R5i.z; -backupReg0i = R5i.z; -backupReg1i = R5i.w; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.x)) + intBitsToFloat(backupReg1i))); -R127i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + 1.0); -PS1i = R127i.y; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].y)) + 1.0); -R126i.y = ((0.0 >= intBitsToFloat(backupReg0i))?int(0xFFFFFFFF):int(0x0)); -PV0i.y = R126i.y; -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].z)) + 1.0); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 3 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PS0i)) + intBitsToFloat(uf_remappedPS[1].y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + intBitsToFloat(uf_remappedPS[1].x))); -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PS0i)) + intBitsToFloat(uf_remappedPS[1].z))); -R1i.z = ((PV0i.y == 0)?(0):(0x3f800000)); -PS1i = R1i.z; -// 4 -R0i.y = ((R126i.y == 0)?(0):(0)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[2].w)) + 1.0)); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[2].w)) + 1.0)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(uf_remappedPS[2].w)) + 1.0)); -PV0i.w = R123i.w; -// 1 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R6i.z))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.w))); -// 2 -predResult = (R1i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = backupReg0i; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[3].x) >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(uf_remappedPS[4].x))); -R7i.w = 0x3f800000; -PV0i.w = R7i.w; -R2i.w = uf_remappedPS[5].x; -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 4.0); -PS0i = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),intBitsToFloat(uf_remappedPS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(uf_remappedPS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -// 4 -R6i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[9].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(uf_remappedPS[10].w))); -R9i.x = uf_remappedPS[9].x; -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS0i = R9i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[10].z)) + intBitsToFloat(PV0i.z))); -R6i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[9].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R10i.y = uf_remappedPS[9].y; -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS1i = R10i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R6i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[10].y)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[10].x)) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[9].x)) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R11i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[9].y)) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R6i.x; -R5i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R5i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -R6i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(backupReg0i)); -PS1i = R6i.x; -// 2 -backupReg0i = R6i.y; -R6i.y = floatBitsToInt(intBitsToFloat(R11i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R5i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R6i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].x) /resScale * 0.5 + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R7i.z = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.x))?1.0:0.0); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R0i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R0i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R7i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R5i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].x) /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R10i.y; -R5i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].y) /resScale * 0.5 + intBitsToFloat(R0i.y))); -PS0i = R5i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R0i.y)); -} -if( activeMaskStackC[4] == true ) { -R6i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R6i.x))?1.0:0.0); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R6i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(uf_remappedPS[11].x)); -// 2 -backupReg0i = R3i.w; -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w)); -PS0i = R3i.w; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV0i.y)); -// 6 -R5i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R0i.x; -// 3 -R3i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].x)) /resScale * 0.5 + intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R0i.y; -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(uf_remappedPS[16].x))); -R5i.x = uf_remappedPS[15].x; -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -PS1i = R5i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(uf_remappedPS[17].w))); -R3i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].y)) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R11i.y = uf_remappedPS[15].y; -R11i.y = floatBitsToInt(intBitsToFloat(R11i.y) / 2.0); -PS0i = R11i.y; -} -if( activeMaskStackC[4] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[17].z)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[17].y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[17].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].x)) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R11i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].y)) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[5] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(backupReg1i))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.w))?1.0:0.0); -R12i.y = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(R2i.z)); -PS0i = R12i.y; -} -if( activeMaskStackC[4] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R0i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R0i.xy)).xyz); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R12i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R12i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R11i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(R0i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R0i.y)); -} -if( activeMaskStackC[5] == true ) { -R10i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R12i.y))?1.0:0.0); -R127i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[11].x)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R5i.y)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R9i.x = uf_remappedPS[15].x; -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -R10i.y = uf_remappedPS[15].y; -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -R5i.w = 0x3f800000; -PV0i.w = R5i.w; -R2i.w = uf_remappedPS[5].x; -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 4.0); -PS0i = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 4 -backupReg0i = R4i.w; -R0i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R3i.y; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(uf_remappedPS[16].x))); -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(uf_remappedPS[17].w))); -R0i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -} -if( activeMaskStackC[3] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R0i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R0i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[17].z)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[17].y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[17].x)) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].x)) /resScale * 0.5 + intBitsToFloat(R0i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].y)) /resScale * 0.5 + intBitsToFloat(R0i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(R0i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R0i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R0i.y)); -} -if( activeMaskStackC[4] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.w))?1.0:0.0); -R11i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.z)); -PS0i = R11i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R0i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R0i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R11i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R10i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(R0i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R0i.y)); -} -if( activeMaskStackC[4] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.y))?1.0:0.0); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(uf_remappedPS[18].x)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[18].x)) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.y; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = floatBitsToInt(min(intBitsToFloat(R9i.y), intBitsToFloat(R5i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].z),-(intBitsToFloat(R0i.y))) + intBitsToFloat(uf_remappedPS[19].z))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[20].z)) + intBitsToFloat(uf_remappedPS[20].w)); -// 1 -R4i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[21].x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R0i.xyz = ivec3(uf_remappedPS[22].x,uf_remappedPS[22].y,uf_remappedPS[22].z); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(uf_remappedPS[23].x)) + intBitsToFloat(uf_remappedPS[24].x))); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(uf_remappedPS[23].y)) + intBitsToFloat(uf_remappedPS[24].y))); -PV0i.w = R123i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(uf_remappedPS[23].z)) + intBitsToFloat(uf_remappedPS[24].z))); -PV1i.z = R123i.z; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[25].x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(uf_remappedPS[25].y))); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(uf_remappedPS[25].z))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -PS1i = R2i.x; -// 4 -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.z))); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,PV0i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.y,R3i.y); -R1i.w = R3i.y; -} -// export -if( ((vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/942d4bf4624a0b2b_000000003c3c9249_ps.txt b/Source/TokyoMirage/942d4bf4624a0b2b_000000003c3c9249_ps.txt deleted file mode 100644 index 02ba042c..00000000 --- a/Source/TokyoMirage/942d4bf4624a0b2b_000000003c3c9249_ps.txt +++ /dev/null @@ -1,896 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader 942d4bf4624a0b2b -uniform ivec4 uf_remappedPS[26]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1fba4000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x1ecde000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[0].x)),-(intBitsToFloat(uf_remappedPS[0].y)),-(intBitsToFloat(uf_remappedPS[0].z)),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -backupReg0i = R5i.z; -backupReg0i = R5i.z; -backupReg1i = R5i.w; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.x)) + intBitsToFloat(backupReg1i))); -R127i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + 1.0); -PS1i = R127i.y; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].y)) + 1.0); -R126i.y = ((0.0 >= intBitsToFloat(backupReg0i))?int(0xFFFFFFFF):int(0x0)); -PV0i.y = R126i.y; -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].z)) + 1.0); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 3 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PS0i)) + intBitsToFloat(uf_remappedPS[1].y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + intBitsToFloat(uf_remappedPS[1].x))); -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PS0i)) + intBitsToFloat(uf_remappedPS[1].z))); -R1i.z = ((PV0i.y == 0)?(0):(0x3f800000)); -PS1i = R1i.z; -// 4 -R0i.y = ((R126i.y == 0)?(0):(0)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[2].w)) + 1.0)); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[2].w)) + 1.0)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(uf_remappedPS[2].w)) + 1.0)); -PV0i.w = R123i.w; -// 1 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R6i.z))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.w))); -// 2 -predResult = (R1i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = backupReg0i; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[3].x) >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(uf_remappedPS[4].x))); -R7i.w = 0x3f800000; -PV0i.w = R7i.w; -R2i.w = uf_remappedPS[5].x; -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 4.0); -PS0i = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),intBitsToFloat(uf_remappedPS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(uf_remappedPS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -// 4 -R6i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[9].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(uf_remappedPS[10].w))); -R9i.x = uf_remappedPS[9].x; -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS0i = R9i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[10].z)) + intBitsToFloat(PV0i.z))); -R6i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[9].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R10i.y = uf_remappedPS[9].y; -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS1i = R10i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R6i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[10].y)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[10].x)) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[9].x)) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R11i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[9].y)) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R6i.x; -R5i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R5i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -R6i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(backupReg0i)); -PS1i = R6i.x; -// 2 -backupReg0i = R6i.y; -R6i.y = floatBitsToInt(intBitsToFloat(R11i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R5i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R6i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].x) /resScale * 0.5 + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R7i.z = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.x))?1.0:0.0); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R0i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R0i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R7i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R5i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].x) /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R10i.y; -R5i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].y) /resScale * 0.5 + intBitsToFloat(R0i.y))); -PS0i = R5i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R0i.y)); -} -if( activeMaskStackC[4] == true ) { -R6i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R6i.x))?1.0:0.0); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R6i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(uf_remappedPS[11].x)); -// 2 -backupReg0i = R3i.w; -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w)); -PS0i = R3i.w; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV0i.y)); -// 6 -R5i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R0i.x; -// 3 -R3i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].x)) /resScale * 0.5 + intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R0i.y; -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(uf_remappedPS[16].x))); -R5i.x = uf_remappedPS[15].x; -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -PS1i = R5i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(uf_remappedPS[17].w))); -R3i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].y)) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R11i.y = uf_remappedPS[15].y; -R11i.y = floatBitsToInt(intBitsToFloat(R11i.y) / 2.0); -PS0i = R11i.y; -} -if( activeMaskStackC[4] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[17].z)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[17].y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[17].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].x)) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R11i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].y)) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[5] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(backupReg1i))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.w))?1.0:0.0); -R12i.y = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(R2i.z)); -PS0i = R12i.y; -} -if( activeMaskStackC[4] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R0i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R0i.xy)).xyz); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R12i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R12i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R11i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(R0i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R0i.y)); -} -if( activeMaskStackC[5] == true ) { -R10i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R12i.y))?1.0:0.0); -R127i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[11].x)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R5i.y)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R9i.x = uf_remappedPS[15].x; -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -R10i.y = uf_remappedPS[15].y; -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -R5i.w = 0x3f800000; -PV0i.w = R5i.w; -R2i.w = uf_remappedPS[5].x; -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 4.0); -PS0i = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 4 -backupReg0i = R4i.w; -R0i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R3i.y; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(uf_remappedPS[16].x))); -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(uf_remappedPS[17].w))); -R0i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -} -if( activeMaskStackC[3] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R0i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R0i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[17].z)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[17].y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[17].x)) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].x)) /resScale * 0.5 + intBitsToFloat(R0i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].y)) /resScale * 0.5 + intBitsToFloat(R0i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(R0i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R0i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R0i.y)); -} -if( activeMaskStackC[4] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.w))?1.0:0.0); -R11i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.z)); -PS0i = R11i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R0i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R0i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R11i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R10i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(R0i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R0i.y)); -} -if( activeMaskStackC[4] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.y))?1.0:0.0); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[5].x) == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(uf_remappedPS[18].x)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[18].x)) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.y; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = floatBitsToInt(min(intBitsToFloat(R9i.y), intBitsToFloat(R5i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].z),-(intBitsToFloat(R0i.y))) + intBitsToFloat(uf_remappedPS[19].z))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[20].z)) + intBitsToFloat(uf_remappedPS[20].w)); -// 1 -R4i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedPS[21].x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R0i.xyz = ivec3(uf_remappedPS[22].x,uf_remappedPS[22].y,uf_remappedPS[22].z); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(uf_remappedPS[23].x)) + intBitsToFloat(uf_remappedPS[24].x))); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(uf_remappedPS[23].y)) + intBitsToFloat(uf_remappedPS[24].y))); -PV0i.w = R123i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(uf_remappedPS[23].z)) + intBitsToFloat(uf_remappedPS[24].z))); -PV1i.z = R123i.z; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[25].x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(uf_remappedPS[25].y))); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(uf_remappedPS[25].z))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -PS1i = R2i.x; -// 4 -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.z))); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,PV0i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.y,R3i.y); -R1i.w = R3i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/9482a40453e83072_000000003c3c9249_ps.txt b/Source/TokyoMirage/9482a40453e83072_000000003c3c9249_ps.txt deleted file mode 100644 index 1b80772b..00000000 --- a/Source/TokyoMirage/9482a40453e83072_000000003c3c9249_ps.txt +++ /dev/null @@ -1,1132 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader 9482a40453e83072 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1c0a5000 res 256x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1babc000 res 256x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x1c0bb000 res 256x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a2000 res 4096x4096x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R8i.x = R127i.w; -R8i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R8i.z = R2i.z; -R8i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R10i.y; -// 4 -R10i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R9i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R13i.x = 0; -PS0i = R13i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R13i.z = 0; -PS1i = R13i.z; -// 6 -R12i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R11i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R9i.w = floatBitsToInt(tempResultf); -PS1i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R4i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); -R3i.w = R11i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R9i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R10i.x)); -// 4 -R6i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R1i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R1i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R1i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R1i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R1i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R9i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R1i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.w; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 11 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R6i.z + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000003; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.x = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); -R125i.w = clampFI32(R125i.w); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -PS0i = R126i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.w))); -PV1i.z = clampFI32(PV1i.z); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R125i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = R126i.w; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].z),-(uf_blockPS2[1].y)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R5i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R5i.w; -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R0i.y = ((PS1i == 0)?(0):(0)); -R2i.z = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); -// 2 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R2i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.wy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyz); -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.x; -// 1 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(backupReg0i))) + uf_blockPS10[1].z)); -PV1i.w = R123i.w; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R1i.x))); -PS1i = R126i.x; -// 2 -backupReg0i = R0i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R0i.y)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -PV0i.z = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[21].x)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R1i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R1i.z))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(R127i.x))); -PS1i = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(PV0i.z))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R127i.y))); -PV0i.x = clampFI32(PV0i.x); -PV0i.y = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R127i.z = floatBitsToInt(max(intBitsToFloat(PS1i), -(intBitsToFloat(PS1i)))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.x))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -PS0i = R2i.x; -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.z))); -R1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PS1i)) + 1.0)); -R127i.w = clampFI32(R127i.w); -R2i.y = 0; -PS0i = R2i.y; -// 7 -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -tempResultf = log2(intBitsToFloat(R127i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -// 10 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -R4i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R4i.x; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.y))); -// 12 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.y))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -// 2 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R6i.y)) + intBitsToFloat(backupReg0i))); -PV0i.z = R126i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R6i.x)) + intBitsToFloat(R0i.z))); -PV0i.w = R126i.w; -// 3 -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R6i.z)) + intBitsToFloat(R0i.x))); -PV1i.y = R126i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.y)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R1i.x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R126i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.z)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R3i.x)) + intBitsToFloat(R126i.z))); -PV0i.w = R123i.w; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R126i.y))); -PV1i.z = R123i.z; -// 6 -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R126i.z))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R126i.w))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R126i.y)) + intBitsToFloat(PV1i.z)); -// 7 -backupReg0i = R4i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R126i.y))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockPS3[20].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS3[20].x)); -// 1 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].x)); -PV1i.x = R5i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[2].y)); -PV1i.y = R5i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[2].z)); -PV1i.z = R5i.z; -// 2 -R0i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -R0i.w = R5i.w; -// 3 -R1i.xyz = ivec3(R2i.z,R2i.y,R2i.y); -R1i.w = R2i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/950e516872bc89e1_0000000f0f249249_ps.txt b/Source/TokyoMirage/950e516872bc89e1_0000000f0f249249_ps.txt deleted file mode 100644 index 450e302e..00000000 --- a/Source/TokyoMirage/950e516872bc89e1_0000000f0f249249_ps.txt +++ /dev/null @@ -1,1633 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader 950e516872bc89e1 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x20476000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1f8f4000 res 1024x1024x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x20522000 res 2048x512x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xc) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x1ecde000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R8i.x = R127i.w; -R8i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R8i.z = R2i.z; -R8i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R10i.y; -// 4 -R11i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R4i.y = 0; -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R9i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R4i.x = 0; -PS0i = R4i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R4i.z = 0; -PS1i = R4i.z; -// 6 -R12i.xyz = ivec3(0,0,0); -R14i.y = 0; -PS0i = R14i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R11i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R9i.w = floatBitsToInt(tempResultf); -PS1i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -R13i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -PV0i.x = R13i.x << R2i.w; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(R9i.w))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); -R3i.w = R11i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R9i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R11i.x)); -// 4 -R6i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R14i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R14i.y; -backupReg0i = R14i.y; -R5i.x = 0; -R14i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R11i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R1i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.y)) + intBitsToFloat(R1i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R1i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),-(intBitsToFloat(R1i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),-(intBitsToFloat(R1i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 6 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R13i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R11i.x)); -// 2 -R9i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.z > R9i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.y; -backupReg0i = R9i.y; -R9i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R11i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R1i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.w; -// 7 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 11 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R13i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R11i.x)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R13i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R13i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R13i.z; -backupReg0i = R13i.z; -R13i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R11i.x)); -// 2 -PV0i.w = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R6i.z + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000003; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.x = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); -R125i.w = clampFI32(R125i.w); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -PS0i = R126i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.w))); -PV1i.z = clampFI32(PV1i.z); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R125i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = R126i.w; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -backupReg3i = R12i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R4i.z))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R4i.y))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R4i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].z),-(uf_blockPS2[1].y)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R9i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R9i.w; -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R2i.y = ((PS1i == 0)?(0):(0)); -R2i.z = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); -// 2 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R7i.w = 0x3f800000; -PV0i.w = R7i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R11i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R14i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R14i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS8[2].w)); -R9i.x = floatBitsToInt(uf_blockPS8[23].x); -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS0i = R9i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R13i.y = floatBitsToInt(uf_blockPS8[23].y); -R13i.y = floatBitsToInt(intBitsToFloat(R13i.y) / 2.0); -PS1i = R13i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R4i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R4i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R13i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R13i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R4i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R4i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -R11i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R14i.y))); -R6i.z = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + intBitsToFloat(R4i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R11i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R11i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R6i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R11i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R13i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R13i.y; -R2i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R11i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R11i.y)); -} -if( activeMaskStackC[4] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -backupReg0i = R4i.w; -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R4i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w)); -PS0i = R4i.w; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.y)); -// 6 -R8i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R4i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R9i.x; -// 3 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R13i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R13i.y; -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R8i.x = floatBitsToInt(uf_blockPS8[24].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS1i = R8i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS8[6].w)); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R11i.y = floatBitsToInt(uf_blockPS8[24].y); -R11i.y = floatBitsToInt(intBitsToFloat(R11i.y) / 2.0); -PS0i = R11i.y; -} -if( activeMaskStackC[4] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R11i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[5] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R13i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R13i.y = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R3i.z)); -PS0i = R13i.y; -} -if( activeMaskStackC[4] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R13i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R13i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R13i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R13i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R11i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[5] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R13i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R13i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R13i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R8i.y)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R8i.y; -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R8i.x = floatBitsToInt(uf_blockPS8[24].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -R8i.y = floatBitsToInt(uf_blockPS8[24].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -backupReg0i = R3i.w; -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R11i.y; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R11i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R11i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.z)); -PS0i = R11i.y; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R11i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.y; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R2i.y = floatBitsToInt(min(intBitsToFloat(R9i.y), intBitsToFloat(R8i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyz); -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R10i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R126i.z = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.z = R126i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R1i.x))); -PS1i = R124i.z; -// 2 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R2i.y))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R2i.y)) + uf_blockPS3[19].w)); -R126i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PV0i.w = R126i.w; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -PS0i = R127i.w; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R126i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R127i.z))); -R2i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.y)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R1i.y))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PV0i.x = clampFI32(PV0i.x); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R127i.w))); -PV0i.z = clampFI32(PV0i.z); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), uf_blockPS3[21].x)); -R127i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -PS0i = R127i.x; -// 5 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(PV0i.w))); -PS1i = R125i.y; -// 6 -backupReg0i = R127i.x; -backupReg1i = R0i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(intBitsToFloat(R126i.w) + -(intBitsToFloat(backupReg0i))); -R125i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -PV0i.z = R125i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg1i))); -PS0i = R3i.x; -// 7 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].x)); -R126i.y = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].y)); -R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -R8i.z = 0; -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), uf_blockPS3[10].z)); -tempResultf = log2(intBitsToFloat(R127i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 10 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 11 -R127i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -PV1i.x = R127i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PV0i.w))); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS1i = R126i.x; -// 12 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV1i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV1i.y))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV1i.z))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -// 13 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.x))); -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(R126i.x)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 14 -R3i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R4i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 15 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -// 16 -R5i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R4i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R4i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.w))); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R6i.x)) + intBitsToFloat(R0i.x))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PV1i.y))); -// 3 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R2i.x)) + intBitsToFloat(PV0i.y))); -PV1i.x = R127i.x; -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.x))); -PV1i.z = R124i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R6i.z)) + intBitsToFloat(R0i.z))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -// 4 -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.y = R125i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.z)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R1i.y)); -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.y)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R4i.z)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R3i.y)) + intBitsToFloat(R124i.z))); -PV1i.w = R123i.w; -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R124i.z)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R3i.y)) + intBitsToFloat(R125i.y))); -PV0i.z = R123i.z; -// 7 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R124i.z))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R125i.y)) + intBitsToFloat(PV0i.z)); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R125i.y))); -PV0i.x = R123i.x; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R5i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R5i.x))); -// 9 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[2].x)); -PV0i.x = R7i.x; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), uf_blockPS10[2].y)); -PV0i.y = R7i.y; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[2].z)); -PV0i.z = R7i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R7i.w; -// 2 -R1i.xyz = ivec3(R8i.x,R8i.z,R8i.z); -R1i.w = R8i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/98fbed6646d0a28e_00000f0f0f249249_ps.txt b/Source/TokyoMirage/98fbed6646d0a28e_00000f0f0f249249_ps.txt deleted file mode 100644 index 80bf0d47..00000000 --- a/Source/TokyoMirage/98fbed6646d0a28e_00000f0f0f249249_ps.txt +++ /dev/null @@ -1,1451 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader 98fbed6646d0a28e -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x34f50000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x10067000 res 1x1x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x34ef8000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x34ea0000 res 512x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R9i.x = R127i.y; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R127i.z = R2i.x; -R1i.w = R1i.y; -R127i.y = int(uint(intBitsToFloat(PV1i.z))); -PS0i = R127i.y; -// 3 -R7i.x = R127i.w; -R7i.y = R1i.z; -R126i.z = R2i.y; -R127i.w = R2i.z; -R3i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R3i.w; -// 4 -R4i.x = 0; -R4i.y = 0; -R6i.z = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R6i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R4i.z = 0; -PS0i = R4i.z; -// 5 -R0i.x = 0; -R126i.x = int(uint(R127i.y) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.x = R126i.x + PS0i; -PS1i = floatBitsToInt(sqrt(intBitsToFloat(R126i.y))); -// 8 -R1i.x = PV1i.x << 0x00000002; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.w))); -R7i.w = PV1i.x << 0x00000005; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -PS0i = R5i.x; -} -if( activeMaskStackC[1] == true ) { -R10i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.x),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R1i.w)) + intBitsToFloat(R1i.y))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R9i.x)) + intBitsToFloat(PS0i))); -PS1i = R126i.y; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -R0i.y = R7i.w + 0x00000e10; -PV0i.z = R10i.x << R3i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.z) >> uint(R6i.z)); -// 4 -R2i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.y = (R2i.w > R0i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -R5i.x = 0; -PV0i.w = R0i.y + R0i.x; -R0i.x = backupReg0i + int(1); -PS0i = R0i.x; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R1i.z << R3i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R6i.z)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.y = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R1i.x)),-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R1i.z)),-(intBitsToFloat(R5i.x))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 4 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R10i.y << R3i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R6i.z)); -// 2 -R2i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R2i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R0i.x = (R2i.w > R7i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -backupReg0i = R0i.x; -predResult = (backupReg0i != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R7i.z; -PV0i.y = backupReg0i + R7i.z; -R7i.z = backupReg1i + int(1); -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R3i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R6i.z)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000005; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.z].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R10i.z << R3i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R6i.z)); -// 2 -R10i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R10i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R10i.z > R10i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.y; -backupReg0i = R10i.y; -R10i.y = backupReg0i + int(1); -PV0i.z = R0i.y + backupReg0i; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R1i.y << R3i.w; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R6i.z)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R6i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000003; -R1i.y = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.y].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.z))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R6i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.x; -// 1 -PV1i.x = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -R127i.z = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -PS1i = R126i.x; -// 2 -R125i.x = ((PV1i.x == 0)?(0):(0x3f800000)); -PV0i.x = R125i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(PV1i.y)); -R126i.z = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -PV0i.z = R126i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.y)); -R7i.z = ((PV1i.w == 0)?(0):(0x3f800000)); -PS0i = R7i.z; -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -R125i.y = ((R127i.z == 0)?(0):(0x3f800000)); -PV1i.y = R125i.y; -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -R127i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + 1.0)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R127i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R126i.z; -R127i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R7i.z) + 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.y) + 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.x))); -R125i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -PS0i = R125i.z; -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -PV1i.x = R126i.x; -R124i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R127i.z)) + 1.0)); -R127i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(backupReg0i))); -PV1i.w = R124i.w; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R8i.x))); -PS1i = R124i.z; -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R8i.y))); -PV0i.y = R127i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R8i.z))); -PV0i.z = R5i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R1i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R1i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -PS0i = R126i.z; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R124i.z))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R1i.z)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(R124i.y)) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.z))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 8 -backupReg0i = R126i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.x))); -R126i.y = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R6i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.z))); -R125i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R6i.y)); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -PS0i = R125i.w; -// 9 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.y))); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R124i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R6i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R8i.x))); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R8i.y))); -// 10 -backupReg0i = R126i.x; -backupReg1i = R127i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R8i.z))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R5i.z))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(R127i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), uf_blockPS3[8].x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), uf_blockPS3[8].y)); -PS1i = R127i.z; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R124i.z)) + intBitsToFloat(R126i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), uf_blockPS3[8].z)); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.z))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS3[8].w)); -// 13 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), uf_blockPS10[5].x)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[5].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), uf_blockPS10[5].x)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), uf_blockPS10[5].x)); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -PS1i = R7i.z; -// 14 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[2].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[2].x)); -// 15 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), uf_blockPS10[0].x)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), uf_blockPS10[0].x)); -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.w))); -PS1i = R8i.x; -// 16 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R127i.z))); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R127i.x))); -R3i.w = 0; -R6i.y = floatBitsToInt(uf_blockPS10[1].y); -PS0i = R6i.y; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R4i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R4i.y))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R4i.x))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R6i.y))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R6i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R6i.y))); -PV1i.z = R127i.z; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), -(uf_blockPS8[12].z))); -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(PS1i),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3de978d5)); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PS1i = R127i.w; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(0x2edbe6ff))); -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -// 7 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PV0i.y))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.x))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.w))); -// 8 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R9i.z = floatBitsToInt(uf_blockPS4[2].x); -R9i.z = floatBitsToInt(intBitsToFloat(R9i.z) * 4.0); -R5i.w = 0x3f800000; -PV0i.w = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), uf_blockPS8[2].w)); -R9i.x = floatBitsToInt(uf_blockPS8[23].x); -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS0i = R9i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R9i.y = floatBitsToInt(uf_blockPS8[23].y); -R9i.y = floatBitsToInt(intBitsToFloat(R9i.y) / 2.0); -PS1i = R9i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R4i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R9i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R4i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R4i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(R4i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R6i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R9i.y; -R2i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R7i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R5i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R5i.x; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.x)); -// 6 -R7i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R5i.x) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 3 -R6i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.z))); -PV1i.y = R7i.y; -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R9i.x = floatBitsToInt(uf_blockPS8[24].x); -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS1i = R9i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), uf_blockPS8[6].w)); -R6i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R6i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R6i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R6i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R6i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R7i.x; -backupReg1i = R7i.y; -R7i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(backupReg0i))); -R7i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt(-(intBitsToFloat(R6i.w)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R7i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R7i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R10i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R7i.y)); -} -if( activeMaskStackC[4] == true ) { -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R10i.z))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PS1i))); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R7i.z)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R7i.z; -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R5i.w = floatBitsToInt(uf_blockPS4[2].x); -R5i.w = floatBitsToInt(intBitsToFloat(R5i.w) * 4.0); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R9i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -PS0i = R5i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS1i = R5i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R9i.y))); -R4i.z = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R4i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.w)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.z; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.z = 0; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R7i.z))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -// 1 -R0i.z = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -backupReg0i = R0i.z; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PV0i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z))); -PS1i = R2i.y; -// 4 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.y))); -// 5 -R6i.xyz = ivec3(R8i.x,R0i.y,R8i.z); -R6i.w = R3i.w; -// 6 -R4i.xyz = ivec3(R2i.x,R2i.y,R2i.z); -R4i.w = R2i.w; -// 7 -R5i.xyz = ivec3(R3i.x,R3i.z,R3i.z); -R5i.w = R3i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -passPixelColor2 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -passPixelColor4 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -} diff --git a/Source/TokyoMirage/a7f4801a8d29e333_0000000000000079_ps.txt b/Source/TokyoMirage/a7f4801a8d29e333_0000000000000079_ps.txt deleted file mode 100644 index fd23bbf0..00000000 --- a/Source/TokyoMirage/a7f4801a8d29e333_0000000000000079_ps.txt +++ /dev/null @@ -1,227 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader a7f4801a8d29e333 -const float resScale = ; //AA in PS -uniform ivec4 uf_remappedPS[3]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem136; -layout(location = 1) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(passParameterSem136); -R1i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R2i.y = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R1i.zy),0.0).y); -R0i.w = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R1i.xy),0.0).y); -R0i.z = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R1i.xw),0.0).y); -R2i.x = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R1i.zw),0.0).y); -R1i.xyzw = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.xy),0.0).xyzw); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R2i.y; -R127i.x = floatBitsToInt(max(intBitsToFloat(R0i.w), intBitsToFloat(R0i.z))); -R2i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0x3b2aaaa8)); -PV0i.y = R2i.y; -R127i.z = floatBitsToInt(min(intBitsToFloat(R0i.w), intBitsToFloat(R0i.z))); -// 1 -PV1i.x = floatBitsToInt(max(intBitsToFloat(R2i.x), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(min(intBitsToFloat(R2i.x), intBitsToFloat(PV0i.y))); -// 2 -R4i.z = floatBitsToInt(min(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.w))); -PV0i.z = R4i.z; -R4i.w = floatBitsToInt(max(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.x))); -PV0i.w = R4i.w; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[0].x))); -PV1i.y = floatBitsToInt(max(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(min(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z))); -// 4 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(uf_remappedPS[0].y), intBitsToFloat(PV1i.x))); -// 5 -PV1i.y = ((intBitsToFloat(PV0i.w) > intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 6 -backupReg0i = R1i.y; -backupReg1i = R1i.z; -backupReg2i = R1i.w; -backupReg3i = R1i.x; -R3i.x = ((PV1i.y == 0)?(0):(0x3f800000)); -R1i.y = ((PV1i.y == 0)?(0):(backupReg0i)); -R1i.z = ((PV1i.y == 0)?(0):(backupReg1i)); -R1i.w = ((PV1i.y == 0)?(0):(backupReg2i)); -R1i.x = ((PV1i.y == 0)?(0):(backupReg3i)); -PS0i = R1i.x; -// 7 -predResult = (R3i.x == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.w; -PV0i.y = floatBitsToInt(intBitsToFloat(R0i.z) + -(intBitsToFloat(R2i.y))); -R127i.z = 0; -PV0i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R2i.x)); -// 1 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(PV0i.w))); -PV1i.y = R127i.y; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -backupReg0i = R127i.y; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -// 5 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z) / resScale, intBitsToFloat(uf_remappedPS[1].x))); // sharpen pass? -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y)/ resScale, intBitsToFloat(uf_remappedPS[1].y))); //sharpen pass? -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); -// 6 -R1i.x = floatBitsToInt(intBitsToFloat(R0i.x) + -(intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -R2i.w = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV1i.y) / resScale); -R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV1i.z) / resScale); -PS0i = R2i.y; -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[2].w))); //? -// 8 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 9 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -// 10 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), intBitsToFloat(0xc0000000))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), intBitsToFloat(0xc0000000))); -// 11 -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.x), 2.0)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.y), 2.0)); -// 12 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w) , intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z) , intBitsToFloat(PV1i.w))); -// 13 -backupReg0i = R0i.x ; -backupReg1i = R0i.y; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -R0i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i)) + vec3(-(intBitsToFloat(PV0i.w) / resScale),-(intBitsToFloat(PV0i.z) / resScale),intBitsToFloat(PV0i.w) / resScale)); -R0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PV0i.z) / resScale); -} -if( activeMaskStackC[2] == true ) { -R1i.xyzw = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R1i.xy),0.0).xyzw); -R2i.xyzw = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R2i.wy),0.0).xyzw); -R3i.xyzw = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.xy),0.0).xyzw); -R0i.xyzw = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.zw),0.0).xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(intBitsToFloat(R1i.y),intBitsToFloat(R1i.x),intBitsToFloat(R1i.w)) + vec3(intBitsToFloat(R2i.y),intBitsToFloat(R2i.x),intBitsToFloat(R2i.w))); -PV0i.y = R127i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R2i.z)); -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(backupReg0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(backupReg1i)); -R126i.z = PV0i.y; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) / 2.0); -PS1i = R126i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R126i.y = R127i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PS0i = R126i.y; -// 3 -backupReg0i = R127i.w; -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 0.25 ); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 0.25); -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 0.25); -R127i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 0.25); -R126i.x = backupReg0i; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) / 2.0); -PS1i = R126i.x; -// 4 -PV0i.x = ((intBitsToFloat(PV1i.x) > intBitsToFloat(R4i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.y = ((intBitsToFloat(R4i.z) > intBitsToFloat(PV1i.x))?int(0xFFFFFFFF):int(0x0)); -// 5 -R123i.w = ((PV0i.y == 0)?(PV0i.x):(int(-1))); -PV1i.w = R123i.w; -// 6 -R1i.x = ((PV1i.w == 0)?(R127i.y):(R126i.z)); -R1i.y = ((PV1i.w == 0)?(R127i.x):(R126i.y)); -R1i.z = ((PV1i.w == 0)?(R127i.w):(R126i.x)); -R1i.w = ((PV1i.w == 0)?(R127i.z):(R127i.z)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -// export -passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/a990ed1d8b98c845_00000001e1e49249_ps.txt b/Source/TokyoMirage/a990ed1d8b98c845_00000001e1e49249_ps.txt deleted file mode 100644 index b7505c77..00000000 --- a/Source/TokyoMirage/a990ed1d8b98c845_00000001e1e49249_ps.txt +++ /dev/null @@ -1,1514 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader a990ed1d8b98c845 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x306e0000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x3078c000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x303d8000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R9i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R9i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R10i.x = 0; -PS0i = R10i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.w = tempi.x; -R10i.y = 0; -PS1i = R10i.y; -// 4 -R10i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS1i = R5i.w; -// 8 -R5i.x = PV1i.w << 0x00000002; -R5i.y = PV1i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R3i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -PV0i.z = R3i.x << R9i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -PS0i = R4i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R11i.z = R5i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R7i.y = PV1i.x & 0x0000ffff; -PS0i = R7i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R7i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R11i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R5i.z << R9i.x; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 4 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R3i.y << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R8i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R8i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R8i.z > R3i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.y; -PV0i.y = R11i.z + R3i.y; -R3i.y = backupReg0i + int(1); -PS0i = R3i.y; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R5i.x << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.x & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xy = floatBitsToInt(uf_blockPS11[R5i.x].xy); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(R5i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.z)),intBitsToFloat(backupReg0i)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(backupReg0i))); -// 7 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -// 9 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R3i.z << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = (R1i.w > R3i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.z; -backupReg0i = R3i.z; -R3i.z = backupReg0i + int(1); -PV0i.w = R11i.z + backupReg0i; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.y << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.x & 0x0000ffff; -// 3 -PV1i.w = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + int(1); -R5i.y = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.z].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(backupReg2i))); -R127i.w = clampFI32(R127i.w); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R126i.x; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); -// 7 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -// 8 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.x))); -PV0i.w = clampFI32(PV0i.w); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.z))); -// 10 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.x = R127i.x; -R127i.y = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS1i = R126i.y; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.x)); -// 3 -PV1i.x = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.x)); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R126i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R124i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R125i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -PS1i = R125i.w; -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.y))); -R124i.y = ((R127i.z == 0)?(0):(0x3f800000)); -R4i.z = ((R126i.w == 0)?(0):(0x3f800000)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R4i.y = ((R127i.y == 0)?(0):(0x3f800000)); -PS0i = R4i.y; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.y)) + 1.0); -R127i.y = floatBitsToInt(min(intBitsToFloat(R124i.w), intBitsToFloat(PV0i.w))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R125i.w))); -R4i.w = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -PV1i.w = R4i.w; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(R124i.w)); -PS1i = R125i.y; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R126i.y))); -R126i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.z) + 1.0)); -R126i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.y) + 1.0)); -R125i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.y) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -// 7 -R4i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(R125i.y)) + 1.0)); -PV1i.x = R4i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -R127i.y = clampFI32(R127i.y); -R127i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -R127i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -PS1i = R127i.x; -// 8 -backupReg0i = R126i.y; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R8i.x))); -PV0i.x = R126i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R8i.z))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.y))); -PV0i.z = R125i.z; -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -PV0i.w = R125i.w; -R124i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.w)); -PS0i = R124i.z; -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R5i.y)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R5i.z)); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R5i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.z))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.y) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.y))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.y))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(PS1i))); -PS0i = R124i.w; -// 11 -backupReg0i = R125i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R7i.x)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.x))); -R125i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R7i.y)); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R7i.z)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -PS1i = R127i.x; -// 12 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R125i.z))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(backupReg0i))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R126i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.y))); -PS0i = R125i.x; -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.z))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.z))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R125i.y)) + intBitsToFloat(R126i.x))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R125i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R127i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 15 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -// 16 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[0].x)); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[0].x)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 17 -R0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R10i.y))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R10i.z))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R10i.x))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -// 6 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.z))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.y))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R125i.w; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R7i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R4i.z = floatBitsToInt(uf_blockPS4[2].x); -R4i.z = floatBitsToInt(intBitsToFloat(R4i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[2].w)); -R0i.x = floatBitsToInt(uf_blockPS8[23].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -PS0i = R0i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R10i.y = floatBitsToInt(uf_blockPS8[23].y); -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS1i = R10i.y; -} -if( activeMaskStackC[2] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R4i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R6i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R6i.w = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(R5i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R9i.x) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R9i.w) >= intBitsToFloat(R6i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R9i.y) >= intBitsToFloat(R6i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R9i.z) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R3i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R10i.y; -R4i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R6i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R0i.x; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.x)); -// 6 -R10i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922)); -// 7 -backupReg0i = R0i.x; -predResult = (intBitsToFloat(backupReg0i) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.z))); -PV1i.y = R8i.y; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS1i = R4i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R4i.y = floatBitsToInt(uf_blockPS8[24].y); -R4i.y = floatBitsToInt(intBitsToFloat(R4i.y) / 2.0); -PS0i = R4i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R4i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.z; -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R4i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[4] == true ) { -R9i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R10i.z)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R10i.z; -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R10i.w = floatBitsToInt(uf_blockPS4[2].x); -R10i.w = floatBitsToInt(intBitsToFloat(R10i.w) * 4.0); -PS0i = R10i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R9i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R0i.x = floatBitsToInt(uf_blockPS8[24].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -PS0i = R0i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R8i.y = floatBitsToInt(uf_blockPS8[24].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS1i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.w)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R2i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R10i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R4i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R4i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.z; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R9i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.w))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R10i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R9i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.w = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.w)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.z; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.w; -PV0i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R10i.z))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R0i.y))); -PV0i.w = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg0i))); -PS0i = R2i.x; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -R0i.y = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.w) + -(intBitsToFloat(PV0i.x))); -R6i.w = 0; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.y; -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].x)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.y)) + 1.0)); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.w))); -R2i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -PS1i = R2i.y; -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.z = floatBitsToInt(tempResultf); -PS0i = R127i.z; -// 5 -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -// 6 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -// 7 -R4i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R3i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.w))); -PV1i.x = R127i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.z))); -PV1i.w = R127i.w; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i)); -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R2i.y)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.w))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -PS0i = R6i.x; -// 5 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PV0i.x = R123i.x; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R4i.x))); -// 7 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R4i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[2].x)); -PV0i.x = R5i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), uf_blockPS10[2].y)); -PV0i.y = R5i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), uf_blockPS10[2].z)); -PV0i.z = R5i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R5i.w; -// 2 -R1i.xyz = ivec3(R6i.x,R6i.w,R6i.w); -R1i.w = R6i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/a9fab78f85b62771_00000001e1e49249_ps.txt b/Source/TokyoMirage/a9fab78f85b62771_00000001e1e49249_ps.txt deleted file mode 100644 index 69d28ef1..00000000 --- a/Source/TokyoMirage/a9fab78f85b62771_00000001e1e49249_ps.txt +++ /dev/null @@ -1,1392 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader a9fab78f85b62771 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x36d40000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x36eb0000 res 256x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x36e98000 res 256x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R3i.z = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R4i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -PS0i = R4i.w; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R7i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 2 -R9i.xyz = ivec3(0,0,0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(PS1i))); -R1i.w = 0; -PS0i = R1i.w; -// 3 -PS1i = int(uint(intBitsToFloat(R127i.z))); -// 4 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 6 -PV0i.w = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R6i.x = floatBitsToInt(tempResultf); -PS0i = R6i.x; -// 7 -R5i.x = PV0i.w << 0x00000002; -R5i.y = PV0i.w << 0x00000005; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = R5i.y + 0x00000e10; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.x))); -PV0i.z = R7i.x << R3i.z; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.x))); -PS0i = R4i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R2i.w = (R3i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R2i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R0i.x + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R5i.z << R3i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R4i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 4 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.y << R3i.z; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R8i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R8i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = (R8i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R3i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R0i.x + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.x << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.z = floatBitsToInt(uf_blockPS11[0].x) + PV0i.w; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.z].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.z)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -// 7 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -// 8 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -// 9 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.z << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R3i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R3i.y > R10i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.x; -backupReg0i = R10i.x; -R10i.x = backupReg0i + int(1); -PV0i.w = R0i.x + backupReg0i; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.y << R3i.z; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = R7i.w + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + int(1); -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.x].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(backupReg2i))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R126i.y))); -PV0i.w = clampFI32(PV0i.w); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.x))); -// 10 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R4i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.z; -// 1 -R127i.x = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.z = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -PS1i = R126i.z; -// 2 -PV0i.x = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.y)); -PV0i.y = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(PV1i.y)); -R125i.z = ((PV1i.z == 0)?(0):(0x3f800000)); -PV0i.z = R125i.z; -R127i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -PV0i.w = R127i.w; -R124i.y = ((PV1i.w == 0)?(0):(0x3f800000)); -PS0i = R124i.y; -// 3 -R125i.x = ((R127i.x == 0)?(0):(0x3f800000)); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + 1.0)); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.w; -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.y) + 1.0)); -R127i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.x) + 1.0)); -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -PS0i = R125i.w; -// 5 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.z))); -PV1i.x = R6i.x; -R6i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R126i.w)) + 1.0)); -R126i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -PV1i.z = R126i.z; -R126i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R8i.x))); -PS1i = R126i.y; -// 6 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R8i.y))); -PV0i.x = R127i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R8i.z))); -PV0i.y = R125i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R5i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R5i.y)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PS0i = R127i.y; -// 7 -R126i.x = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R5i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R126i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.y))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 8 -backupReg0i = R127i.y; -backupReg1i = R126i.z; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R4i.x)); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y))); -R127i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R4i.y)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -PS0i = R127i.w; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R127i.x))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R4i.z)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R126i.y))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R125i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R8i.z))); -PS1i = R127i.z; -// 10 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -backupReg1i = R125i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.x))); -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w))); -PS0i = R125i.x; -// 11 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.z))); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R126i.z)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R126i.x)) + intBitsToFloat(PV1i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R125i.x)) + intBitsToFloat(PV1i.y))); -PV0i.w = R123i.w; -// 13 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[0].x)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[0].x)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R9i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R9i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R9i.y))); -PV0i.w = R123i.w; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.z = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS0i))); -// 6 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.z))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.x))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R125i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -// 4 -R6i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -R2i.w = floatBitsToInt(uf_blockPS4[2].x); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 4.0); -PS0i = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[2].w)); -R6i.x = floatBitsToInt(uf_blockPS8[23].x); -R6i.x = floatBitsToInt(intBitsToFloat(R6i.x) / 2.0); -PS0i = R6i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R9i.y = floatBitsToInt(uf_blockPS8[23].y); -R9i.y = floatBitsToInt(intBitsToFloat(R9i.y) / 2.0); -PS1i = R9i.y; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R10i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = R9i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R4i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R4i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R4i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R10i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R3i.x))); -R10i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R3i.y))); -R8i.z = floatBitsToInt(-(intBitsToFloat(R0i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R10i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R10i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R8i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.w) >= intBitsToFloat(R8i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R8i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R8i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R0i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R4i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R0i.y != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R10i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = R9i.y; -R4i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R10i.y))); -PS0i = R4i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R6i.x)) + vec3(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R10i.y)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R8i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R8i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R8i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R7i.w = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R7i.w; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV0i.y)); -// 6 -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R7i.w) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R7i.y; -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R6i.x = floatBitsToInt(uf_blockPS8[24].x); -R6i.x = floatBitsToInt(intBitsToFloat(R6i.x) / 2.0); -PS1i = R6i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[6].w)); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R6i.y = floatBitsToInt(uf_blockPS8[24].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS0i = R6i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R5i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R5i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.w))?1.0:0.0); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(R2i.z)); -PS0i = R9i.y; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R9i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R9i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = R6i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R6i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R9i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R9i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R0i.y)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R6i.x = floatBitsToInt(uf_blockPS8[24].x); -R6i.x = floatBitsToInt(intBitsToFloat(R6i.x) / 2.0); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -backupReg0i = R6i.y; -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R6i.y; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R3i.x)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R7i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R6i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.w))?1.0:0.0); -R6i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.z)); -PS0i = R6i.y; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R6i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R6i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R6i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R4i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R6i.y))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.y; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.z = 0; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -// 1 -R0i.z = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -backupReg0i = R0i.z; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PV0i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.y))); -PS1i = R2i.y; -// 4 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,R2i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.z,R3i.z); -R1i.w = R3i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/adaebba23d3cde3d_00000f0f0f249249_ps.txt b/Source/TokyoMirage/adaebba23d3cde3d_00000f0f0f249249_ps.txt deleted file mode 100644 index 892481e9..00000000 --- a/Source/TokyoMirage/adaebba23d3cde3d_00000f0f0f249249_ps.txt +++ /dev/null @@ -1,1708 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader adaebba23d3cde3d -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x34fb0000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x10067000 res 1x1x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x34c08000 res 256x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x34fbc000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R5i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R10i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R10i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R3i.x = 0; -PS0i = R3i.x; -// 3 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -R3i.y = 0; -PS1i = R3i.y; -// 4 -R9i.x = 0; -R9i.y = 0; -R3i.z = 0; -R1i.w = 0; -R9i.z = 0; -PS0i = R9i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS0i = R5i.w; -// 9 -R5i.x = PV0i.z << 0x00000002; -R5i.y = PV0i.z << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R7i.x << R10i.x; -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R10i.z = R5i.y + 0x00000e10; -PS0i = R10i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PS1i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.w & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R10i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R5i.z << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R5i.y = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), -(intBitsToFloat(R6i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.x)) + intBitsToFloat(R6i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R6i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R6i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),-(intBitsToFloat(R6i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R6i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),-(intBitsToFloat(R6i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 7 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -backupReg3i = R9i.x; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg2i))); -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R9i.x; -// 8 -backupReg0i = R9i.y; -backupReg1i = R9i.z; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.y << R10i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R8i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R8i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = (R8i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.w = R10i.z + R1i.w; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.x << R10i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.z].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.w; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.y; -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PS0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.x; -// 12 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -backupReg3i = R9i.x; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg2i))); -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R9i.x; -// 13 -backupReg0i = R9i.y; -backupReg1i = R9i.z; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.z << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R12i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = (R1i.w > R12i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R12i.z; -PV0i.z = R10i.z + R12i.z; -R12i.z = backupReg0i + int(1); -PS0i = R12i.z; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R5i.y << R10i.x; -// 1 -PV1i.y = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.z = R4i.w + PV0i.x; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + int(1); -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.x].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R125i.z))); -R125i.w = clampFI32(R125i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -// 10 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.x))); -PV1i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R8i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyzw); -R10i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.w; -// 1 -R127i.x = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.y = R127i.y; -R127i.z = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.w = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.z = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R126i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.y)); -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.y)); -R125i.z = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R124i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -PS1i = R124i.w; -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.x))); -R4i.z = ((backupReg0i == 0)?(0):(0x3f800000)); -R127i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R4i.x = ((R127i.z == 0)?(0):(0x3f800000)); -PS0i = R4i.x; -// 5 -backupReg0i = R124i.w; -R126i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R0i.y = floatBitsToInt(-(intBitsToFloat(R125i.w)) + 1.0); -R127i.z = floatBitsToInt(-(intBitsToFloat(R125i.z)) + 1.0); -R124i.w = ((R126i.w == 0)?(0):(0x3f800000)); -PV1i.w = R124i.w; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(backupReg0i))); -PS1i = R6i.z; -// 6 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.w) + 1.0)); -R127i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.z) + 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 7 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R6i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(PS0i)) + 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R125i.z))); -R126i.w = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -// 8 -backupReg0i = R127i.z; -R125i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -R126i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); -R127i.z = clampFI32(R127i.z); -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 9 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R7i.x))); -PV1i.x = R124i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R7i.y))); -PV1i.y = R125i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R7i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS0i))); -R127i.w = clampFI32(R127i.w); -R124i.z = floatBitsToInt(-(intBitsToFloat(R6i.x)) + intBitsToFloat(R126i.w)); -PS1i = R124i.z; -// 10 -R127i.x = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R5i.y)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R127i.y = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(R5i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R5i.x)); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.x))); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PS0i = R126i.x; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R125i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.z) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.w) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.x; -backupReg1i = R126i.z; -backupReg2i = R126i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(R126i.x))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(backupReg1i)) + intBitsToFloat(backupReg2i))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); -PS0i = R126i.x; -// 13 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(R8i.z)); -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R124i.x))); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PV1i.z = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R8i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R8i.x)); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R125i.y))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 14 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R7i.x))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R125i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(PS1i))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS3[8].x)); -PS0i = R125i.z; -// 15 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(R126i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R7i.z))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS3[8].y)); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.z))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS3[8].z)); -PS1i = R124i.w; -// 16 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS3[8].w)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(R125i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R126i.w)) + intBitsToFloat(R124i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R126i.z = floatBitsToInt(tempResultf); -PS0i = R126i.z; -// 17 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), uf_blockPS10[5].x)); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R125i.x)) + intBitsToFloat(PV0i.w))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.x))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.w = floatBitsToInt(tempResultf); -PS1i = R127i.w; -// 18 -backupReg0i = R124i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), uf_blockPS10[5].x)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), uf_blockPS10[5].x)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[5].x)); -// 19 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[2].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[2].y)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(R127i.w))); -R125i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R125i.x; -// 20 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), uf_blockPS10[0].x)); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), uf_blockPS10[0].x)); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), uf_blockPS10[0].x)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), uf_blockPS10[2].z)); -R125i.y = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -PS0i = R125i.y; -// 21 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R126i.x))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R127i.y))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.w))); -R5i.w = 0; -R9i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(R125i.x))); -PS1i = R9i.w; -// 22 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(R125i.y))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R3i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R3i.y))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R3i.x))); -PV0i.w = R123i.w; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R126i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.y = R125i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.z = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS0i))); -// 6 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.w))); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.z))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R125i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -// 4 -R8i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.z = floatBitsToInt(uf_blockPS4[2].x); -R8i.z = floatBitsToInt(intBitsToFloat(R8i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R10i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -PS0i = R10i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R12i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R12i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[2].w)); -R13i.x = floatBitsToInt(uf_blockPS8[23].x); -R13i.x = floatBitsToInt(intBitsToFloat(R13i.x) / 2.0); -PS0i = R13i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R11i.y = floatBitsToInt(uf_blockPS8[23].y); -R11i.y = floatBitsToInt(intBitsToFloat(R11i.y) / 2.0); -PS1i = R11i.y; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R13i.x))); -PV0i.w = R11i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R4i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R13i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R4i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R4i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R12i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R12i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.w))?1.0:0.0); -R5i.y = floatBitsToInt(-(intBitsToFloat(R10i.w)) + intBitsToFloat(R3i.z)); -PS0i = R5i.y; -} -if( activeMaskStackC[2] == true ) { -R12i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R12i.x) + intBitsToFloat(R12i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R5i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R5i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R12i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R4i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.y = R6i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R13i.x))); -PV0i.w = R11i.y; -R4i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R13i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R12i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R12i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R12i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R5i.y))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R5i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R11i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R11i.z; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV0i.w)); -// 6 -R5i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R11i.z) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R3i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R12i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -PV1i.y = R11i.y; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R12i.y; -// 4 -R8i.x = floatBitsToInt(uf_blockPS8[24].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R12i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R11i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.w))?1.0:0.0); -R6i.x = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(R2i.z)); -PS0i = R6i.x; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R12i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R6i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R4i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R12i.y) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R12i.x) >= intBitsToFloat(R6i.x))?1.0:0.0); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt((intBitsToFloat(R12i.z) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.y)); -// 6 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R5i.x)))); -PV0i.y = R123i.y; -// 7 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R10i.w = floatBitsToInt(uf_blockPS4[2].x); -R10i.w = floatBitsToInt(intBitsToFloat(R10i.w) * 4.0); -PS0i = R10i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R13i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R11i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -PS0i = R5i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS1i = R5i.y; -} -if( activeMaskStackC[2] == true ) { -R12i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R12i.x) + intBitsToFloat(R12i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R12i.z) + intBitsToFloat(PV1i.w)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R2i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R10i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R3i.x)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R12i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R12i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R12i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R12i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.z; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R13i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R11i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R8i.x)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.w))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R10i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R4i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.y)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.x))); -// 6 -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 8 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R10i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R5i.x))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R10i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R10i.y))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), uf_blockPS3[21].x)); -// 1 -R1i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -PS1i = R126i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R5i.x)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R125i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R0i.x))); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -PS0i = R3i.x; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.x))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].x)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].z)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].y)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R125i.z)); -// 5 -R2i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R8i.z = 0; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PS0i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 6 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R3i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -backupReg0i = R7i.w; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[5].x)); -// 8 -R6i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R5i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R5i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.z))); -PV1i.w = R123i.w; -// 2 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.w = R127i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R2i.x)); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R1i.z)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R3i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.w))); -PV0i.w = R123i.w; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R125i.z))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(R127i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R5i.x)) + intBitsToFloat(R127i.x))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(R125i.z))); -PV1i.x = R123i.x; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R6i.y))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.x))); -// 8 -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R6i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].x, intBitsToFloat(R3i.w))); -R7i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].y, intBitsToFloat(R1i.z))); -R7i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].z, intBitsToFloat(R6i.y))); -// 1 -R2i.xyz = ivec3(R11i.x,R8i.y,R5i.z); -R2i.w = R5i.w; -// 2 -R0i.xyz = ivec3(R7i.x,R7i.y,R7i.z); -R0i.w = R7i.w; -// 3 -R1i.xyz = ivec3(R8i.x,R8i.z,R8i.z); -R1i.w = R8i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor4 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/adc1f8175ad593d2_0000000f0f249249_ps.txt b/Source/TokyoMirage/adc1f8175ad593d2_0000000f0f249249_ps.txt deleted file mode 100644 index 13e4bcfe..00000000 --- a/Source/TokyoMirage/adc1f8175ad593d2_0000000f0f249249_ps.txt +++ /dev/null @@ -1,1516 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader adc1f8175ad593d2 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x37e42000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x37eee000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x37c56000 res 256x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x37afe000 res 1024x1024x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R7i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R7i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R8i.y = R127i.z; -R127i.z = R2i.x; -R7i.w = R1i.y; -R127i.y = int(uint(intBitsToFloat(PV1i.z))); -PS0i = R127i.y; -// 3 -R5i.x = R127i.w; -R1i.y = R1i.z; -R126i.z = R2i.y; -R8i.w = R2i.z; -R8i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -PS1i = R8i.x; -// 4 -R11i.x = 0; -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -R7i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -R11i.y = 0; -PS0i = R11i.y; -// 5 -R0i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R12i.y = 0; -R11i.z = 0; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R126i.x = int(uint(R127i.y) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R125i.x))); -PS1i = R5i.z; -// 8 -R1i.x = PV1i.w << 0x00000002; -R10i.y = PV1i.w << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R9i.x = floatBitsToInt(tempResultf); -PS0i = R9i.x; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R9i.y; -backupReg1i = R4i.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R9i.x))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.x))); -PV0i.z = backupReg1i << R2i.w; -R3i.w = R10i.y + 0x00000e10; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R9i.x))); -PS0i = R6i.z; -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.z) >> uint(backupReg0i)); -// 4 -R10i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R12i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R12i.y; -backupReg0i = R12i.y; -R5i.x = 0; -R12i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R0i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R1i.x)),-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R1i.z)),-(intBitsToFloat(R5i.x))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -// 4 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R7i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R7i.z; -backupReg0i = R7i.z; -R7i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R1i.x << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R0i.x)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.y = PS0i + int(1); -R1i.w = PS0i + 0x00000005; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.w].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(backupReg0i)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(backupReg0i))); -// 7 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -// 9 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R4i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R0i.x)); -// 2 -R10i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R10i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R5i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.y = (R10i.x > R5i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R5i.w; -PV0i.z = R3i.w + R5i.w; -R5i.w = backupReg0i + int(1); -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R1i.y << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.z = R10i.z + PV0i.w; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000003; -R1i.y = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.y].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R125i.z))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); -// 7 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV0i.x)); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.y))); -PV0i.x = clampFI32(PV0i.x); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -// 10 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.y; -// 1 -R127i.x = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.y = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.z = R127i.z; -R127i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.x = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS1i = R126i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R125i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.z)); -R126i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R124i.y = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS1i = R124i.y; -// 4 -R125i.x = ((R126i.y == 0)?(0):(0x3f800000)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.x))); -R124i.w = ((R127i.w == 0)?(0):(0x3f800000)); -R124i.x = ((R127i.x == 0)?(0):(0x3f800000)); -PS0i = R124i.x; -// 5 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R124i.y))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -R127i.z = floatBitsToInt(min(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R125i.y)) + 1.0); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); -PS1i = R127i.x; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.w) + 1.0)); -R125i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.x) + 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -R127i.x = clampFI32(R127i.x); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R6i.x)) + 1.0); -R5i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(backupReg0i)) + 1.0)); -PV1i.z = R5i.z; -R127i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -R127i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -PS1i = R127i.z; -// 8 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R8i.z))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.y))); -PV0i.y = R124i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R8i.x))); -PV0i.z = R126i.z; -R126i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -PV0i.w = R126i.w; -R125i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.y)); -PS0i = R125i.w; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.z))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R1i.z)); -R125i.y = floatBitsToInt(intBitsToFloat(R125i.y) * 2.0); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R1i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R1i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.x) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R127i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x))); -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(PS1i))); -PS0i = R2i.w; -// 11 -backupReg0i = R125i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R7i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R7i.y)); -R125i.y = floatBitsToInt(intBitsToFloat(R125i.y) * 2.0); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R7i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PS1i = R127i.z; -// 12 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R124i.y))); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R126i.z))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R8i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R126i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R8i.y))); -PS0i = R125i.z; -// 13 -backupReg0i = R127i.x; -backupReg1i = R127i.z; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R8i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV0i.w))); -tempResultf = log2(intBitsToFloat(backupReg2i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R1i.w)) + intBitsToFloat(R126i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R124i.z)) + intBitsToFloat(PV1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R2i.w)) + intBitsToFloat(R125i.z))); -PV0i.w = R123i.w; -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 16 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[0].x)); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[0].x)); -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS1i))); -PS0i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R11i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R11i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R11i.x))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R127i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = R125i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -// 6 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.x))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = R127i.z; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R10i.w = 0x3f800000; -PV0i.w = R10i.w; -R9i.w = floatBitsToInt(uf_blockPS4[2].x); -R9i.w = floatBitsToInt(intBitsToFloat(R9i.w) * 4.0); -PS0i = R9i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[2].w)); -R8i.x = floatBitsToInt(uf_blockPS8[23].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[23].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R7i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R9i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R7i.z)); -PS0i = R9i.x; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R9i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R6i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R0i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.y)); -// 6 -R4i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R0i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 3 -R6i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R8i.y; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R9i.y; -// 4 -R7i.x = floatBitsToInt(uf_blockPS8[24].x); -R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0); -R6i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[6].w)); -R7i.y = floatBitsToInt(uf_blockPS8[24].y); -R7i.y = floatBitsToInt(intBitsToFloat(R7i.y) / 2.0); -PS0i = R7i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R6i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R7i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R6i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R6i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R6i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R6i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R5i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R7i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R7i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R4i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R7i.z = floatBitsToInt(uf_blockPS4[2].x); -R7i.z = floatBitsToInt(intBitsToFloat(R7i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R6i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R7i.x = floatBitsToInt(uf_blockPS8[24].x); -R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0); -PS0i = R7i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R6i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R7i.y = floatBitsToInt(uf_blockPS8[24].y); -R7i.y = floatBitsToInt(intBitsToFloat(R7i.y) / 2.0); -PS1i = R7i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R6i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R7i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R6i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R6i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R6i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R0i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R6i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R5i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R7i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R7i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R4i.w))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -R1i.y = 0; -PS0i = R1i.y; -// 1 -R1i.z = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].y)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].x)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].z)); -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.x))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.y))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 3 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), uf_blockPS10[2].x)); -PV0i.x = R2i.x; -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[2].y)); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), uf_blockPS10[2].z)); -PV0i.z = R2i.z; -// 1 -backupReg0i = R2i.w; -R2i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R2i.w = backupReg0i; -// 2 -R3i.xyz = ivec3(R1i.x,R1i.y,R1i.y); -R3i.w = R1i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -passPixelColor2 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -} diff --git a/Source/TokyoMirage/ae4b9d707f95f9e3_00000001e1e49249_ps.txt b/Source/TokyoMirage/ae4b9d707f95f9e3_00000001e1e49249_ps.txt deleted file mode 100644 index 912eaf37..00000000 --- a/Source/TokyoMirage/ae4b9d707f95f9e3_00000001e1e49249_ps.txt +++ /dev/null @@ -1,1598 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader ae4b9d707f95f9e3 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x391be000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x3926a000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x390ee000 res 256x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R5i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R10i.x = 0; -PS0i = R10i.x; -// 3 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -R10i.y = 0; -PS1i = R10i.y; -// 4 -R9i.x = 0; -R9i.y = 0; -R10i.z = 0; -R1i.w = 0; -R9i.z = 0; -PS0i = R9i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS0i = R5i.w; -// 9 -R5i.x = PV0i.z << 0x00000002; -R5i.y = PV0i.z << 0x00000005; -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R11i.x; -} -if( activeMaskStackC[1] == true ) { -R3i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R3i.x << backupReg0i; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -R12i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R4i.z = R5i.y + 0x00000e10; -PS0i = R4i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PS1i))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R7i.y = PV1i.w & 0x0000ffff; -PS0i = R7i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R7i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R4i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R5i.z << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R5i.y = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), -(intBitsToFloat(R6i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.x)) + intBitsToFloat(R6i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R6i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R12i.z)) + intBitsToFloat(R6i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),-(intBitsToFloat(R6i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R6i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.x),-(intBitsToFloat(R6i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 7 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -backupReg3i = R9i.x; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg2i))); -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R9i.x; -// 8 -backupReg0i = R9i.y; -backupReg1i = R9i.z; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R3i.y << R0i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R8i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R8i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = (R8i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R3i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.w = R4i.z + R1i.w; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.x << R0i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.z].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R12i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.w; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R12i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.y; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R127i.z))); -// 8 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PS0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.x; -// 12 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -backupReg3i = R9i.x; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg2i))); -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R9i.x; -// 13 -backupReg0i = R9i.y; -backupReg1i = R9i.z; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R3i.z << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = (R1i.w > R3i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.z; -PV0i.z = R4i.z + R3i.z; -R3i.z = backupReg0i + int(1); -PS0i = R3i.z; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R5i.y << R0i.x; -// 1 -PV1i.y = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.z = R4i.w + PV0i.x; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + int(1); -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.x].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R125i.z))); -R125i.w = clampFI32(R125i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R12i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R12i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -// 10 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.x))); -PV1i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R4i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.w; -// 1 -R127i.x = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.z = R127i.z; -R126i.w = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R126i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R126i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.z)); -R124i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R125i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -PS1i = R125i.w; -// 4 -R125i.x = ((R127i.x == 0)?(0):(0x3f800000)); -R124i.y = ((R126i.w == 0)?(0):(0x3f800000)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R6i.y = ((R127i.y == 0)?(0):(0x3f800000)); -PS0i = R6i.y; -// 5 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R125i.w))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.y)) + 1.0); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -R125i.w = floatBitsToInt(min(intBitsToFloat(R124i.w), intBitsToFloat(PV0i.w))); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R124i.w)); -PS1i = R127i.x; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R6i.y) + 1.0)); -R126i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.x) + 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(backupReg0i))); -R124i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.y) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -R127i.x = clampFI32(R127i.x); -R127i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -R124i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(backupReg0i)) + 1.0)); -PV1i.z = R124i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R124i.x)) + 1.0); -R127i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -PS1i = R127i.z; -// 8 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R7i.y))); -PV0i.x = R126i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R7i.z))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.x))); -PV0i.z = R126i.z; -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -PV0i.w = R125i.w; -R125i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.w)); -PS0i = R125i.y; -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R5i.x)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R5i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -R124i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R5i.z)); -R124i.w = floatBitsToInt(intBitsToFloat(R124i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R127i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.x) + intBitsToFloat(0x40400000))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(PS1i))); -PS0i = R5i.x; -// 11 -backupReg0i = R127i.z; -backupReg1i = R125i.w; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R4i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R124i.w)) + intBitsToFloat(PV0i.w))); -R125i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -R125i.z = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R4i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -PS1i = R125i.z; -// 12 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R126i.y))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R7i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg1i))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R7i.z))); -// 13 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -backupReg2i = R125i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R7i.y))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(backupReg2i)) + intBitsToFloat(PV0i.y))); -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R5i.y)) + intBitsToFloat(R126i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R125i.z)) + intBitsToFloat(R126i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -tempResultf = log2(intBitsToFloat(R127i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(R125i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -// 16 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[0].x)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[0].x)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 17 -R6i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R10i.z))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R10i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R10i.x))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R127i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = R125i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.z = R124i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.w))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PV1i.y))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.x))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R125i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -// 4 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.z = floatBitsToInt(uf_blockPS4[2].x); -R7i.z = floatBitsToInt(intBitsToFloat(R7i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[2].w)); -R7i.x = floatBitsToInt(uf_blockPS8[23].x); -R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0); -PS0i = R7i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[23].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R4i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R4i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R4i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.w))?1.0:0.0); -R10i.y = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R3i.z)); -PS0i = R10i.y; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R10i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R10i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R4i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R4i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = backupReg0i; -R4i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R7i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R10i.y))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R10i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R10i.z; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV0i.w)); -// 6 -R7i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R10i.z) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R3i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -PV1i.y = R8i.y; -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R10i.y; -// 4 -R0i.x = floatBitsToInt(uf_blockPS8[24].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS0i = R0i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R5i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R5i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.w))?1.0:0.0); -R5i.x = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R2i.z)); -PS0i = R5i.x; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R4i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.y)); -// 6 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R7i.x)))); -PV0i.y = R123i.y; -// 7 -backupReg0i = R7i.x; -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R0i.x = floatBitsToInt(uf_blockPS8[24].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -PS0i = R0i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.w)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R2i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(R3i.x)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.z; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R10i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R7i.x)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R4i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.y)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.x))); -// 6 -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 8 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R7i.x))) + uf_blockPS10[1].z)); -PV0i.x = R123i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.z = 0; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), uf_blockPS3[21].x)); -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(PV0i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(PV0i.w))); -PV1i.w = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.w))); -PS1i = R127i.x; -// 2 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R7i.x)) + uf_blockPS3[19].w)); -PV0i.z = R123i.z; -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS10[5].x)); -// 3 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.z = R123i.z; -// 1 -backupReg0i = R0i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.x = R123i.x; -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(R1i.x))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -// 2 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(R0i.w))); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), uf_blockPS3[20].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), uf_blockPS3[20].x)); -// 1 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].x)); -PV1i.x = R2i.x; -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[2].y)); -PV1i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[2].z)); -PV1i.z = R2i.z; -// 2 -R0i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -R0i.w = R2i.w; -// 3 -R1i.xyz = ivec3(R3i.x,R3i.z,R3i.z); -R1i.w = R3i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/ae5531e428f703f5_0000000007879249_ps.txt b/Source/TokyoMirage/ae5531e428f703f5_0000000007879249_ps.txt deleted file mode 100644 index be8c0c31..00000000 --- a/Source/TokyoMirage/ae5531e428f703f5_0000000007879249_ps.txt +++ /dev/null @@ -1,1353 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader ae5531e428f703f5 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3445c000 res 128x128x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R10i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R10i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R3i.x = 0; -PS0i = R3i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.w = tempi.x; -R3i.y = 0; -PS1i = R3i.y; -// 4 -R3i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS1i = R5i.w; -// 8 -R5i.x = PV1i.w << 0x00000002; -R5i.y = PV1i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -PV0i.z = R7i.x << R10i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -PS0i = R9i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R4i.z = R5i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.x & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R4i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R5i.z << R10i.x; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.y << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = (R1i.w > R8i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.z; -PV0i.y = R4i.z + R8i.z; -R8i.z = backupReg0i + int(1); -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R5i.x << R10i.x; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.z].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.z << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R10i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R10i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R10i.z > R10i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.y; -backupReg0i = R10i.y; -R10i.y = backupReg0i + int(1); -PV0i.z = R4i.z + backupReg0i; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.y << R10i.x; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.y].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.x; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -// 1 -PV1i.x = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R1i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R3i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R3i.z))); -// 2 -R3i.y = ((PV1i.x == 0)?(0):(0)); -R3i.z = ((PV1i.x == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[1].y)); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS10[1].y)); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -// 1 -predResult = (R3i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R1i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -R2i.w = floatBitsToInt(uf_blockPS4[2].x); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 4.0); -PS0i = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R13i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R13i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[2].w)); -R11i.x = floatBitsToInt(uf_blockPS8[23].x); -R11i.x = floatBitsToInt(intBitsToFloat(R11i.x) / 2.0); -PS0i = R11i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R12i.y = floatBitsToInt(uf_blockPS8[23].y); -R12i.y = floatBitsToInt(intBitsToFloat(R12i.y) / 2.0); -PS1i = R12i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R12i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R12i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R5i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R5i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R3i.y))); -R6i.x = floatBitsToInt(intBitsToFloat(R11i.x) + intBitsToFloat(R3i.x)); -PS1i = R6i.x; -// 2 -backupReg0i = R6i.y; -R6i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[4] == true ) { -R5i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R6i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R6i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R10i.x))); -R6i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R13i.y))); -R4i.z = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R6i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R6i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R7i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R5i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R6i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R12i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R12i.y; -R5i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R5i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R11i.x)) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R6i.y)); -} -if( activeMaskStackC[4] == true ) { -R10i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R5i.w = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R5i.w; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.w) + intBitsToFloat(PV0i.y)); -// 6 -R6i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R5i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R5i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R5i.y; -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R6i.x = floatBitsToInt(uf_blockPS8[24].x); -R6i.x = floatBitsToInt(intBitsToFloat(R6i.x) / 2.0); -PS1i = R6i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[6].w)); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R12i.y = floatBitsToInt(uf_blockPS8[24].y); -R12i.y = floatBitsToInt(intBitsToFloat(R12i.y) / 2.0); -PS0i = R12i.y; -} -if( activeMaskStackC[4] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R10i.y = floatBitsToInt(-(intBitsToFloat(R12i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = R12i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[5] == true ) { -R10i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R10i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R5i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.w))?1.0:0.0); -R13i.y = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(R2i.z)); -PS0i = R13i.y; -} -if( activeMaskStackC[4] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R5i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R13i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R13i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R13i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R13i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R12i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = R12i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R6i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[5] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R13i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R13i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R13i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R6i.y)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R6i.y; -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R6i.x = floatBitsToInt(uf_blockPS8[24].x); -R6i.x = floatBitsToInt(intBitsToFloat(R6i.x) / 2.0); -R6i.y = floatBitsToInt(uf_blockPS8[24].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R11i.x; -// 4 -backupReg0i = R4i.w; -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R12i.y; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -} -if( activeMaskStackC[3] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[4] == true ) { -R10i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R10i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R11i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R12i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.w))?1.0:0.0); -R12i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.z)); -PS0i = R12i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R12i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R12i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = R6i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R6i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R12i.y))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.y; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = floatBitsToInt(min(intBitsToFloat(R11i.y), intBitsToFloat(R6i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R3i.y))) + uf_blockPS10[1].z)); -PS0i = R122i.x; -// 1 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -R127i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i))); -PS1i = R1i.x; -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[17].x, uf_blockPS10[0].y)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R7i.z = 0; -R0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[17].y, uf_blockPS10[0].y)); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R126i.x; -// 3 -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[17].w, uf_blockPS10[0].y)); -R0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[17].z, uf_blockPS10[0].y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(R127i.x))); -// 4 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -// 5 -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R126i.x)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 6 -R5i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -// 8 -R3i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R2i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R2i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -// 2 -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.y))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.x))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.z))); -// 3 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R4i.z))); -PV1i.x = R126i.x; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.w)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R0i.z)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.y))); -PV0i.w = R123i.w; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(R126i.x))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R2i.x)) + intBitsToFloat(R127i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R2i.x)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(PV1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R2i.x)) + intBitsToFloat(R126i.x))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R3i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R3i.x))); -// 8 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R5i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R3i.z))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R5i.y))); -PS0i = R6i.y; -// 9 -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R5i.z))); -PV1i.z = R6i.z; -// 10 -R0i.xyz = ivec3(R6i.x,R6i.y,PV1i.z); -R0i.w = R6i.w; -// 11 -R1i.xyz = ivec3(R7i.x,R7i.z,R7i.z); -R1i.w = R7i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/aeacafe10869d9dd_000003c3c9249649_ps.txt b/Source/TokyoMirage/aeacafe10869d9dd_000003c3c9249649_ps.txt deleted file mode 100644 index 39f7f0da..00000000 --- a/Source/TokyoMirage/aeacafe10869d9dd_000003c3c9249649_ps.txt +++ /dev/null @@ -1,1754 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader aeacafe10869d9dd -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x36fa4000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x10067000 res 1x1x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x36ec8000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x36e70000 res 512x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x36ec8000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x36fd0000 res 256x256x1 dim 3 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R7i.x = R127i.w; -R7i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R7i.z = R2i.z; -R7i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R9i.y; -// 4 -R9i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R4i.y = 0; -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R8i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R4i.x = 0; -PS0i = R4i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R4i.z = 0; -PS1i = R4i.z; -// 6 -R11i.xyz = ivec3(0,0,0); -R13i.y = 0; -PS0i = R13i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R10i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R8i.w = floatBitsToInt(tempResultf); -PS1i = R8i.w; -} -if( activeMaskStackC[1] == true ) { -R12i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R12i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R8i.w))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R8i.w))); -R3i.w = backupReg0i + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R8i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R9i.x)); -// 4 -R9i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R1i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R1i.w > R13i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R13i.y; -backupReg0i = R13i.y; -R5i.x = 0; -R13i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = R1i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000004; -R1i.z = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R6i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -// 6 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 7 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -backupReg3i = R11i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R11i.x; -// 8 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R12i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -R8i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R8i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R8i.y > R8i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg0i = R8i.x; -R8i.x = backupReg0i + int(1); -PV0i.z = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.z = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -backupReg3i = R11i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R11i.x; -// 13 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R12i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R9i.x)); -// 2 -R12i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R12i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R12i.z > R9i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.y; -PV0i.y = R3i.w + R9i.y; -R9i.y = backupReg0i + int(1); -PS0i = R9i.y; -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R9i.x)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R9i.z + PV0i.x; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.y))); -R125i.w = clampFI32(R125i.w); -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R126i.z; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 10 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.y))); -PV1i.z = R126i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -// 12 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -R9i.xyzw = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R126i.z; -// 1 -R126i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PV1i.x = R126i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R10i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), -(intBitsToFloat(R10i.z)))); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -PS1i = R1i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R10i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.w)); -R125i.z = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -PV0i.z = R125i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(PV1i.w)); -R124i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R124i.z; -// 3 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),-(intBitsToFloat(R10i.y))) + intBitsToFloat(R127i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R127i.x; -// 4 -backupReg0i = R0i.x; -backupReg1i = R126i.z; -PV0i.x = floatBitsToInt(min(intBitsToFloat(R125i.z), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(backupReg0i))) + intBitsToFloat(PV1i.y))*2.0); -PV0i.z = R126i.z; -PV0i.w = floatBitsToInt(min(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(R124i.z)); -PS0i = R127i.y; -// 5 -R6i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R0i.x)))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.y = R126i.y; -R13i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = R13i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.x)) + 1.0)); -R6i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.z)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R10i.y)))); -PS1i = R6i.y; -// 6 -backupReg0i = R6i.z; -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(R126i.x))); -R6i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(backupReg0i)) + -(intBitsToFloat(R10i.z)))); -PS0i = R6i.z; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.y))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z)); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R8i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R8i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.x) + intBitsToFloat(0x40400000))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R8i.z))); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R5i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R5i.z)) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -// 10 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R7i.z)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R7i.y)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R7i.x)) + intBitsToFloat(PV1i.x))); -PV0i.z = R123i.z; -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[0].x)); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[0].x)); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS0i))); -// 12 -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -// 13 -R7i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R4i.z))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R4i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R4i.x))); -PV0i.w = R123i.w; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R126i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = R126i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.z = R126i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS0i))); -// 6 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R127i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -// 4 -R7i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -R5i.w = floatBitsToInt(uf_blockPS4[2].x); -R5i.w = floatBitsToInt(intBitsToFloat(R5i.w) * 4.0); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R12i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R13i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R13i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[2].w)); -R8i.x = floatBitsToInt(uf_blockPS8[23].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R8i.y = floatBitsToInt(uf_blockPS8[23].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS1i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R4i.xy)).xyzw); -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R4i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R4i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R4i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R12i.x))); -R5i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R13i.y))); -R7i.z = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(R4i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[2] == true ) { -R12i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R10i.w) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R12i.x) + intBitsToFloat(R12i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R7i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R12i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R5i.y)); -} -if( activeMaskStackC[3] == true ) { -R12i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R12i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R12i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R6i.w = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R6i.w; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.y)); -// 6 -R5i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R6i.w) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R10i.x; -// 3 -R8i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R10i.y; -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -PS1i = R5i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[6].w)); -R8i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R7i.y = floatBitsToInt(uf_blockPS8[24].y); -R7i.y = floatBitsToInt(intBitsToFloat(R7i.y) / 2.0); -PS0i = R7i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R8i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R8i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R8i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R7i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R8i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R8i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R8i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R8i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R10i.y = floatBitsToInt(-(intBitsToFloat(R7i.z)) + intBitsToFloat(R3i.z)); -PS0i = R10i.y; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R10i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R10i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R7i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R10i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R5i.y)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R5i.w = floatBitsToInt(uf_blockPS4[2].x); -R5i.w = floatBitsToInt(intBitsToFloat(R5i.w) * 4.0); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -backupReg0i = R7i.y; -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R7i.y; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R7i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.z)); -PS0i = R7i.y; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R10i.w) >= intBitsToFloat(R7i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R7i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R7i.y))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.y; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -redcCUBE(vec4(intBitsToFloat(R6i.z),intBitsToFloat(R6i.z),intBitsToFloat(R6i.x),intBitsToFloat(R6i.y)),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.x),intBitsToFloat(R6i.z),intBitsToFloat(R6i.z)),cubeMapSTM,cubeMapFaceId); -R1i.x = floatBitsToInt(cubeMapSTM.x); -R1i.y = floatBitsToInt(cubeMapSTM.y); -R1i.z = floatBitsToInt(cubeMapSTM.z); -R1i.w = cubeMapFaceId; -PV0i.x = R1i.x; -PV0i.y = R1i.y; -PV0i.z = R1i.z; -PV0i.w = R1i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R9i.x))); -PS0i = R127i.x; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS3[21].x)); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R5i.y))) + uf_blockPS10[1].z)); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R9i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R9i.y))); -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 2 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -PV0i.w = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R2i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV1i.y)); -PS0i = R2i.x; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R13i.z) + -(intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R126i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R126i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R126i.x))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R5i.y)) + uf_blockPS3[19].w)); -PS1i = R122i.x; -// 4 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PS1i))); -R2i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); -R3i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PS0i = R3i.w; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R1i.yx),R1i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(R7i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R2i.z)); -// 1 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R2i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.w)),intBitsToFloat(PS0i)) + 1.0)); -R123i.z = clampFI32(R123i.z); -PV1i.z = R123i.z; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R3i.x))); -R3i.z = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PS1i = R3i.z; -// 2 -R3i.y = 0; -R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R2i.y))); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS0i = R0i.z; -// 3 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(PV0i.y)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -// 2 -backupReg0i = R0i.z; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(backupReg0i))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.x))); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.w))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R127i.x; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(PV1i.z)); -// 5 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R2i.z))); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(R2i.w))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(R2i.x))); -PV1i.z = R127i.z; -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R3i.z)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.z)) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.z)) + intBitsToFloat(R127i.z))); -PV1i.z = R123i.z; -// 8 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[20].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 9 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].x)); -PV1i.x = R0i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[2].y)); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[2].z)); -PV1i.z = R0i.z; -// 10 -backupReg0i = R0i.w; -R0i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -R0i.w = backupReg0i; -// 11 -R1i.xyz = ivec3(R3i.x,R3i.y,R3i.y); -R1i.w = R3i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/af7acf7fb6dca1be_0000000000079249_ps.txt b/Source/TokyoMirage/af7acf7fb6dca1be_0000000000079249_ps.txt deleted file mode 100644 index f42ead33..00000000 --- a/Source/TokyoMirage/af7acf7fb6dca1be_0000000000079249_ps.txt +++ /dev/null @@ -1,583 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader af7acf7fb6dca1be -uniform ivec4 uf_remappedPS[31]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4386000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf599a000 res 1024x1024x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 2) uniform sampler2DShadow textureUnitPS2;// Tex2 addr 0xf551a000 res 1024x1024x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 3) uniform sampler2DShadow textureUnitPS3;// Tex3 addr 0xf571a000 res 1024x1024x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 4) uniform sampler2DShadow textureUnitPS4;// Tex4 addr 0xf591a000 res 512x512x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem1); -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(uf_remappedPS[0].z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.w = tempi.x; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(PS0i)); -R5i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].y) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].y) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].x) * 1.0); -R4i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].x) * 1.0); -PS1i = R4i.x; -// 2 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PV1i.x))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(PV1i.x))); -R5i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].z) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].z) * 1.0); -// 3 -backupReg0i = R127i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(R127i.w))); -PV1i.x = R123i.x; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PV0i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(backupReg0i))); -PV1i.w = R123i.w; -// 4 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PV1i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(R4i.x))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(R5i.y))); -// 5 -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R5i.z))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(R127i.z))); -// 6 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(R126i.z))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[7].y)) + intBitsToFloat(backupReg0i))); -PV0i.y = R127i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[7].x)) + intBitsToFloat(backupReg1i))); -PV0i.z = R126i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(backupReg2i))); -// 7 -backupReg0i = R126i.y; -backupReg1i = R126i.w; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + -(0.5)); -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + -(0.5)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(backupReg0i))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[7].z)) + intBitsToFloat(backupReg1i))); -// 8 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[8].x)) + intBitsToFloat(R127i.x))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[8].y)) + intBitsToFloat(R127i.w))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[8].z)) + intBitsToFloat(PV1i.z))); -R2i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PS0i = R2i.x; -// 9 -R127i.x = ((0.5 > intBitsToFloat(PS0i))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(uf_remappedPS[9].z)); -PV1i.z = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(uf_remappedPS[10].z)); -R7i.y = floatBitsToInt(max(intBitsToFloat(R126i.y), -(intBitsToFloat(R126i.y)))); -PS1i = R7i.y; -// 10 -R126i.x = ((0.5 > intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(uf_remappedPS[11].z)); -PV0i.z = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(uf_remappedPS[12].z)); -R0i.w = PV1i.y; -R0i.w = clampFI32(R0i.w); -R1i.w = PV1i.z; -R1i.w = clampFI32(R1i.w); -PS0i = R1i.w; -// 11 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(uf_remappedPS[9].x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(uf_remappedPS[13].z)); -R0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(uf_remappedPS[9].y)); -R2i.w = PV0i.z; -R2i.w = clampFI32(R2i.w); -R3i.w = PV0i.y; -R3i.w = clampFI32(R3i.w); -PS1i = R3i.w; -// 12 -R1i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(uf_remappedPS[10].x)); -R1i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(uf_remappedPS[10].y)); -R2i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(uf_remappedPS[12].x)); -R4i.w = PV1i.y; -R4i.w = clampFI32(R4i.w); -R2i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(uf_remappedPS[12].y)); -PS0i = R2i.y; -// 13 -R3i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(uf_remappedPS[11].x)); -R3i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(uf_remappedPS[11].y)); -R4i.z = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(uf_remappedPS[13].x)); -R6i.w = ((R127i.x == 0)?(0):(R126i.x)); -R4i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(uf_remappedPS[13].y)); -PS1i = R4i.y; -} -if( activeMaskStackC[1] == true ) { -R7i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R0i.xz), intBitsToFloat(R0i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R9i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R10i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R0i.x = floatBitsToInt(texture(textureUnitPS4, vec3(intBitsToFloat(R4i.zy), intBitsToFloat(R4i.w)))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R8i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[14].x) * 1.0); -PV0i.x = R8i.x; -R4i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[14].y) * 1.0); -PV0i.y = R4i.y; -R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[14].z) * 1.0); -PV0i.z = R2i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[15].z)) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[15].y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[15].x)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[16].x)) + intBitsToFloat(PV1i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[16].z)) + intBitsToFloat(PV1i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -// 3 -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[17].x)) + intBitsToFloat(PV0i.y))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[17].y)) + intBitsToFloat(PV0i.w))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[17].z)) + intBitsToFloat(PV0i.z))); -// 4 -predResult = (R6i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.z = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R1i.x)); -R0i.w = floatBitsToInt(max(intBitsToFloat(R2i.x), intBitsToFloat(R7i.y))); -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R9i.x)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R10i.x)); -// 3 -R6i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * 0.25); -// 4 -predResult = (intBitsToFloat(R0i.w) > intBitsToFloat(0x3eae147b)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R0i.z)) + vec3(intBitsToFloat(uf_remappedPS[18].x),intBitsToFloat(uf_remappedPS[18].y),intBitsToFloat(uf_remappedPS[18].z))); -PV0i.z = R1i.z; -// 1 -R7i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(uf_remappedPS[19].x)); -R7i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(uf_remappedPS[19].y)); -R1i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(uf_remappedPS[19].z)); -PV1i.z = R1i.z; -R1i.w = PV0i.z; -R1i.w = clampFI32(R1i.w); -// 2 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(uf_remappedPS[20].x)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(uf_remappedPS[20].y)); -R1i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(uf_remappedPS[20].z)); -PV0i.z = R1i.z; -R7i.w = PV1i.z; -R7i.w = clampFI32(R7i.w); -// 3 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -R3i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(uf_remappedPS[21].x)); -R3i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(uf_remappedPS[21].y)); -R1i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(uf_remappedPS[21].z)); -PV1i.z = R1i.z; -R2i.w = PV0i.z; -R2i.w = clampFI32(R2i.w); -// 4 -R3i.w = PV1i.z; -R3i.w = clampFI32(R3i.w); -} -if( activeMaskStackC[3] == true ) { -R1i.x = floatBitsToInt(texture(textureUnitPS3, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R0i.x = floatBitsToInt(texture(textureUnitPS3, vec3(intBitsToFloat(R7i.xy), intBitsToFloat(R7i.w)))); -R2i.x = floatBitsToInt(texture(textureUnitPS3, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R3i.x = floatBitsToInt(texture(textureUnitPS3, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.y = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(R1i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(0x3eae147b))); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R2i.x)); -R127i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x40c80000)); -// 2 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R3i.x)); -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * 0.25 + -(intBitsToFloat(R6i.w)))); -PV1i.x = R123i.x; -// 4 -backupReg0i = R6i.w; -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[15].z)) + intBitsToFloat(R2i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[15].y)) + intBitsToFloat(R4i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[15].x)) + intBitsToFloat(R8i.x))); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[16].x)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[16].z)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -// 2 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[17].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R1i.x; -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[17].y)) + intBitsToFloat(PV1i.w))); -PV0i.y = R3i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[17].z)) + intBitsToFloat(PV1i.z))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + -(0.5)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + -(0.5)); -// 4 -R2i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); -PV0i.x = R2i.x; -R1i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); -PV0i.y = R1i.y; -// 5 -PV1i.x = ((0.5 > intBitsToFloat(PV0i.y))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((0.5 > intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 6 -R0i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 7 -predResult = (R0i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(uf_remappedPS[18].z)); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(uf_remappedPS[19].z)); -R7i.w = floatBitsToInt(max(intBitsToFloat(R2i.x), intBitsToFloat(R1i.y))); -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(uf_remappedPS[19].x)); -R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(uf_remappedPS[19].y)); -R1i.z = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(uf_remappedPS[18].x)); -R0i.w = PV0i.z; -R0i.w = clampFI32(R0i.w); -R1i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(uf_remappedPS[18].y)); -PS1i = R1i.y; -// 2 -backupReg0i = R0i.z; -R2i.x = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(uf_remappedPS[20].x)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(uf_remappedPS[20].y)); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(uf_remappedPS[20].z)); -R1i.w = R127i.x; -R1i.w = clampFI32(R1i.w); -// 3 -R3i.x = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(uf_remappedPS[21].x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(uf_remappedPS[21].z)); -R3i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(uf_remappedPS[21].y)); -R2i.w = PV0i.z; -R2i.w = clampFI32(R2i.w); -// 4 -R3i.w = PV1i.y; -R3i.w = clampFI32(R3i.w); -} -if( activeMaskStackC[3] == true ) { -R0i.x = floatBitsToInt(texture(textureUnitPS3, vec3(intBitsToFloat(R0i.xy), intBitsToFloat(R0i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS3, vec3(intBitsToFloat(R1i.zy), intBitsToFloat(R1i.w)))); -R2i.x = floatBitsToInt(texture(textureUnitPS3, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R3i.x = floatBitsToInt(texture(textureUnitPS3, vec3(intBitsToFloat(R3i.xz), intBitsToFloat(R3i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.y = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(R1i.x)); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R2i.x)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R3i.x)); -// 3 -R6i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * 0.25); -// 4 -predResult = (intBitsToFloat(R7i.w) > intBitsToFloat(0x3eae147b)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R4i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(backupReg0i))); -PV0i.x = R4i.x; -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(R5i.y))); -PV0i.y = R4i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R5i.z))); -PV0i.z = R0i.z; -// 1 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R4i.x; -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(PV0i.y))); -PV1i.y = R4i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(PV0i.z))); -PV1i.z = R0i.z; -// 2 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[8].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R4i.x; -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[8].y)) + intBitsToFloat(PV1i.y))); -PV0i.y = R4i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[8].z)) + intBitsToFloat(PV1i.z))); -PV0i.z = R0i.z; -// 3 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedPS[13].x)); -R4i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(uf_remappedPS[13].y)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(uf_remappedPS[13].z)); -PV1i.z = R0i.z; -// 4 -R4i.w = PV1i.z; -R4i.w = clampFI32(R4i.w); -} -if( activeMaskStackC[4] == true ) { -R0i.x = floatBitsToInt(texture(textureUnitPS4, vec3(intBitsToFloat(R4i.xy), intBitsToFloat(R4i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(R6i.w)) + intBitsToFloat(R0i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(R7i.w) + -(intBitsToFloat(0x3eae147b))); -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x40c80000)); -// 2 -backupReg0i = R6i.w; -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(R0i.x)) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) + -(0.5)); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.x) + -(0.5)); -// 1 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); -// 2 -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(0x3ecccccd))); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x41200000)); -PV0i.y = clampFI32(PV0i.y); -// 5 -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.x))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[22].z) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[22].y) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[22].x) * 1.0); -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[23].z)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[23].y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[23].x)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[24].x)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[24].z)) + intBitsToFloat(PV1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(uf_remappedPS[24].y)) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -// 3 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[25].x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R1i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[25].y)) + intBitsToFloat(PV0i.w))); -PV1i.y = R1i.y; -R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[25].z)) + intBitsToFloat(PV0i.z))); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + -(0.5)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(0.5)); -// 5 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); -// 6 -PV0i.x = ((0.5 > intBitsToFloat(PV1i.z))?int(0xFFFFFFFF):int(0x0)); -PV0i.y = ((0.5 > intBitsToFloat(PV1i.w))?int(0xFFFFFFFF):int(0x0)); -// 7 -R0i.w = ((PV0i.y == 0)?(0):(PV0i.x)); -// 8 -predResult = (R0i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.xyz = floatBitsToInt(vec3(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.x)) + vec3(intBitsToFloat(uf_remappedPS[26].x),intBitsToFloat(uf_remappedPS[26].y),intBitsToFloat(uf_remappedPS[27].x))); -R0i.w = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(uf_remappedPS[27].y)); -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i)) + vec3(intBitsToFloat(uf_remappedPS[28].x),intBitsToFloat(uf_remappedPS[28].y),intBitsToFloat(uf_remappedPS[29].x))); -R1i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(uf_remappedPS[29].y)); -} -if( activeMaskStackC[2] == true ) { -R0i.x = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.zw)).x); -R1i.x = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.xy)).x); -R3i.x = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.zw)).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.z) + -(intBitsToFloat(R1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R2i.z) + -(intBitsToFloat(backupReg0i))); -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + -(intBitsToFloat(R2i.x))); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R2i.z) + -(intBitsToFloat(R3i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[26].w))); -PV1i.y = clampFI32(PV1i.y); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[26].w))); -PV1i.z = clampFI32(PV1i.z); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[26].w))); -PV1i.w = clampFI32(PV1i.w); -// 2 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R127i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[26].w))); -PV0i.z = clampFI32(PV0i.z); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -// 3 -R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.y)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.y)); -// 6 -R0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * 0.25); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R0i.w = 0x3f800000; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R6i.w; -PV0i.y = R0i.w; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(R0i.w))); -R0i.w = 0; -// 1 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[30].x)) + intBitsToFloat(uf_remappedPS[30].y))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[30].x)) + intBitsToFloat(uf_remappedPS[30].y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[30].x)) + intBitsToFloat(uf_remappedPS[30].y))); -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -} diff --git a/Source/TokyoMirage/b181218b85619285_0000000000000000_vs.txt b/Source/TokyoMirage/b181218b85619285_0000000000000000_vs.txt deleted file mode 100644 index 2e089c01..00000000 --- a/Source/TokyoMirage/b181218b85619285_0000000000000000_vs.txt +++ /dev/null @@ -1,131 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader b181218b85619285 -const float resXScale = ; -const float resYScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 3) out vec4 passParameterSem139; -layout(location = 2) out vec4 passParameterSem138; -layout(location = 1) out vec4 passParameterSem137; -layout(location = 0) out vec4 passParameterSem136; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R123f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder = attrDataSem0; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y) / resYScale, intBitsToFloat(uf_remappedVS[0].w)); -PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x) / resXScale, intBitsToFloat(uf_remappedVS[0].w)); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y)/ resYScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.y); -PV0f.z = R123f.z; -R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x)/ resXScale,intBitsToFloat(uf_remappedVS[0].z)) + R2f.x); -PV0f.w = R123f.w; -// 1 -R4f.x = PV0f.w + PV0f.y; -PV1f.x = R4f.x; -R4f.y = PV0f.z + PV0f.x; -PV1f.y = R4f.y; -PV1f.z = PV0f.z + -(PV0f.x); -PV1f.w = PV0f.w + -(PV0f.y); -// 2 -R3f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV1f.x); -PV0f.x = R3f.x; -R3f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV1f.y); -R4f.z = PV1f.w; -PV0f.z = R4f.z; -R4f.w = PV1f.z; -PV0f.w = R4f.w; -// 3 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.y = R123f.y; -R0f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PV0f.x); -PS1f = R0f.x; -// 4 -R2f.x = (intBitsToFloat(uf_remappedVS[0].x) / resXScale * 2.0 + PS1f); -R0f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + R3f.y); -PV0f.y = R0f.y; -R3f.z = PV1f.y; -PV0f.z = R3f.z; -R3f.w = PV1f.x; -PV0f.w = R3f.w; -// 5 -R2f.y = (intBitsToFloat(uf_remappedVS[0].y) / resYScale * 2.0 + PV0f.y); -R123f.z = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.z = R123f.z; -R123f.w = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.w = R123f.w; -// 6 -R0f.z = PV1f.w; -PV0f.z = R0f.z; -R0f.w = PV1f.z; -PV0f.w = R0f.w; -// 7 -R123f.x = (-(intBitsToFloat(uf_remappedVS[0].y)) / resYScale * 2.0 + PV0f.w); -PV1f.x = R123f.x; -R123f.y = (-(intBitsToFloat(uf_remappedVS[0].x)) / resXScale * 2.0 + PV0f.z); -PV1f.y = R123f.y; -// 8 -R2f.z = PV1f.y; -R2f.w = PV1f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem139 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// export -passParameterSem138 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem137 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// export -passParameterSem136 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -} diff --git a/Source/TokyoMirage/b367f45a902e71b9_0000000f0f249249_ps.txt b/Source/TokyoMirage/b367f45a902e71b9_0000000f0f249249_ps.txt deleted file mode 100644 index 62d04c79..00000000 --- a/Source/TokyoMirage/b367f45a902e71b9_0000000f0f249249_ps.txt +++ /dev/null @@ -1,1555 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader b367f45a902e71b9 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x34f50000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x10067000 res 1x1x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x34ef8000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x34ea0000 res 512x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R7i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R7i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R8i.y = R127i.z; -R127i.z = R2i.x; -R7i.w = R1i.y; -R127i.y = int(uint(intBitsToFloat(PV1i.z))); -PS0i = R127i.y; -// 3 -R5i.x = R127i.w; -R1i.y = R1i.z; -R126i.z = R2i.y; -R8i.w = R2i.z; -R8i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -PS1i = R8i.x; -// 4 -R11i.x = 0; -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -R7i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -R11i.y = 0; -PS0i = R11i.y; -// 5 -R0i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R12i.y = 0; -R11i.z = 0; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R126i.x = int(uint(R127i.y) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R125i.x))); -PS1i = R5i.z; -// 8 -R1i.x = PV1i.w << 0x00000002; -R10i.y = PV1i.w << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R9i.x = floatBitsToInt(tempResultf); -PS0i = R9i.x; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R9i.y; -backupReg1i = R4i.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R9i.x))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.x))); -PV0i.z = backupReg1i << R2i.w; -R3i.w = R10i.y + 0x00000e10; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R9i.x))); -PS0i = R6i.z; -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.z) >> uint(backupReg0i)); -// 4 -R10i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R12i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R12i.y; -backupReg0i = R12i.y; -R5i.x = 0; -R12i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R0i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R1i.x)),-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R1i.z)),-(intBitsToFloat(R5i.x))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -// 4 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R7i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R7i.z; -PV0i.y = R3i.w + R7i.z; -R7i.z = backupReg0i + int(1); -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R0i.x)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000005; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.z].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -R4i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R4i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R4i.z > R4i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.y; -backupReg0i = R4i.y; -R4i.y = backupReg0i + int(1); -PV0i.z = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R1i.y << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R0i.x)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R10i.z + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000003; -R1i.y = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.y].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.w; -// 1 -R127i.x = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.y = R127i.y; -R127i.z = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R125i.z = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS1i = R125i.z; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.y)); -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.y)); -R126i.z = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R124i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -PS1i = R124i.w; -// 4 -R125i.x = ((R127i.z == 0)?(0):(0x3f800000)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.x))); -R5i.z = ((R126i.w == 0)?(0):(0x3f800000)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R124i.x = ((R127i.x == 0)?(0):(0x3f800000)); -PS0i = R124i.x; -// 5 -R0i.x = floatBitsToInt(-(intBitsToFloat(R125i.w)) + 1.0); -PV1i.x = R0i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(R125i.z)) + 1.0); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R124i.w))); -R125i.w = floatBitsToInt(min(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.w))); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS1i = R127i.x; -// 6 -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R5i.z) + 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(R125i.z))); -R125i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.x) + 1.0)); -R124i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -R124i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(backupReg0i)) + 1.0)); -PV1i.y = R124i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PS0i))); -R126i.z = clampFI32(R126i.z); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -R127i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -PS1i = R127i.y; -// 8 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R8i.z))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R8i.x))); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.y))); -PV0i.z = R127i.z; -R124i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -PV0i.w = R124i.w; -R124i.z = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w)); -PS0i = R124i.z; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.y))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R1i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R125i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R1i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R1i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R126i.z) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R126i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -backupReg0i = R127i.x; -backupReg1i = R124i.w; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R7i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.z))); -R125i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R7i.y)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R7i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PS1i = R127i.y; -// 12 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R127i.z))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R126i.y))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(backupReg0i))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.y))); -// 13 -backupReg0i = R127i.x; -backupReg1i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R8i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(backupReg1i)) + intBitsToFloat(PS0i))); -PS1i = R127i.w; -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(R126i.x))); -PV0i.z = R123i.z; -tempResultf = log2(intBitsToFloat(R124i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R127i.w))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 16 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[0].x)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 17 -R4i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R11i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R11i.y))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R11i.x))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R127i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.y = R124i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.z = R125i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS0i))); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.x))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R125i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = R125i.z; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R10i.w = 0x3f800000; -PV0i.w = R10i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[2].w)); -R4i.x = floatBitsToInt(uf_blockPS8[23].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS0i = R4i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[23].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R7i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R4i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R8i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R7i.z)); -PS0i = R8i.x; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R9i.x) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R9i.w) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R9i.y) >= intBitsToFloat(R8i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R9i.z) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R4i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R0i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.y)); -// 6 -R4i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R0i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 3 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R7i.y; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R9i.y; -// 4 -R8i.x = floatBitsToInt(uf_blockPS8[24].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[6].w)); -R8i.y = floatBitsToInt(uf_blockPS8[24].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS0i = R8i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R4i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R8i.z = floatBitsToInt(uf_blockPS4[2].x); -R8i.z = floatBitsToInt(intBitsToFloat(R8i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R8i.x = floatBitsToInt(uf_blockPS8[24].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R8i.y = floatBitsToInt(uf_blockPS8[24].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS1i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R0i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.w; -PV0i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R4i.w))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R4i.z))); -PV0i.w = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg0i))); -PS0i = R2i.x; -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -R0i.y = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV0i.x))); -R6i.w = 0; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.y; -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].x)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.y)) + 1.0)); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.w))); -R2i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -PS1i = R2i.y; -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.z = floatBitsToInt(tempResultf); -PS0i = R127i.z; -// 5 -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -// 6 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -// 7 -R4i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R3i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.w))); -PV1i.x = R127i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.z))); -PV1i.w = R127i.w; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i)); -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R2i.y)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.w))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -PS0i = R6i.x; -// 5 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PV0i.x = R123i.x; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R4i.x))); -// 7 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R4i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[2].x)); -PV0i.x = R5i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), uf_blockPS10[2].y)); -PV0i.y = R5i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), uf_blockPS10[2].z)); -PV0i.z = R5i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R5i.w; -// 2 -R1i.xyz = ivec3(R6i.x,R6i.w,R6i.w); -R1i.w = R6i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/b5b078876f8aea16_0000000000f1c2c9_ps.txt b/Source/TokyoMirage/b5b078876f8aea16_0000000000f1c2c9_ps.txt deleted file mode 100644 index 437bbd47..00000000 --- a/Source/TokyoMirage/b5b078876f8aea16_0000000000f1c2c9_ps.txt +++ /dev/null @@ -1,655 +0,0 @@ - - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader b5b078876f8aea16 -uniform ivec4 uf_remappedPS[25]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1a7c7000 res 32x32x1 dim 1 tm: 2 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x6) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1a7c8800 res 32x32x1 dim 1 tm: 2 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x6) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x1a692000 res 128x128x1 dim 3 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R7i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R7i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.y = R1i.x; -PS0i = R126i.y; -// 1 -R127i.x = PV0i.w; -R125i.y = R1i.y; -R126i.z = R2i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -R125i.z = R2i.y; -PS1i = R125i.z; -// 2 -R126i.x = R127i.y; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R127i.w = R2i.z; -R124i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(uf_remappedPS[0].x)); -PS0i = R124i.x; -// 3 -R127i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(uf_remappedPS[0].y)); -R5i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(uf_remappedPS[0].z)); -R124i.z = floatBitsToInt(sqrt(intBitsToFloat(PV0i.y))); -PS1i = R124i.z; -// 4 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.z),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R125i.z))); -// 5 -backupReg0i = R125i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R127i.w))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R1i.z),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.z = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.z))); -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), -(intBitsToFloat(uf_remappedPS[1].z)))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(PS1i))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(tempResultf); -PS0i = R127i.w; -// 9 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(PV0i.x),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[1].x)),-(intBitsToFloat(uf_remappedPS[1].y)),1.0,0.0))); -PV1i.x = R0i.x; -PV1i.y = R0i.x; -PV1i.z = R0i.x; -PV1i.w = R0i.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -PS1i = R4i.x; -// 10 -PV0i.x = ((0.0 >= intBitsToFloat(PV1i.x))?int(0xFFFFFFFF):int(0x0)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R127i.w))); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R127i.w))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.w)); -PS0i = floatBitsToInt(tempResultf); -// 11 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS0i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS0i))); -R1i.w = ((PV0i.x == 0)?(0):(0x3f800000)); -R4i.z = ((PV0i.x == 0)?(0):(0)); -PS1i = R4i.z; -// 12 -predResult = (R1i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = backupReg0i; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[2].x) >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(uf_remappedPS[3].x))); -R5i.w = 0x3f800000; -PV0i.w = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[4].x),intBitsToFloat(uf_remappedPS[4].y),intBitsToFloat(uf_remappedPS[4].z),intBitsToFloat(uf_remappedPS[4].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),intBitsToFloat(uf_remappedPS[5].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),intBitsToFloat(uf_remappedPS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R2i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(uf_remappedPS[8].x)); -// 6 -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R4i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[9].x)) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[9].y)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.wy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R4i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[14].y)) + intBitsToFloat(uf_remappedPS[14].x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[8].x)); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[14].y)) + intBitsToFloat(uf_remappedPS[14].x))); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(uf_remappedPS[16].x)); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[16].x)) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].y)) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = floatBitsToInt(min(intBitsToFloat(R5i.y), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R4i.y)),-(intBitsToFloat(R1i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[17].z)) + 1.0); -PS0i = R127i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R5i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R4i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R7i.z)) + -(intBitsToFloat(R1i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[18].z)) + intBitsToFloat(uf_remappedPS[18].w)); -PS1i = R127i.w; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R6i.x = floatBitsToInt(cubeMapSTM.x); -R6i.y = floatBitsToInt(cubeMapSTM.y); -R6i.z = floatBitsToInt(cubeMapSTM.z); -R6i.w = cubeMapFaceId; -PV0i.x = R6i.x; -PV0i.y = R6i.y; -PV0i.z = R6i.z; -PV0i.w = R6i.w; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R1i.w; -// 3 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R4i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 4 -backupReg0i = R6i.y; -backupReg1i = R6i.x; -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R0i.w = 0; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PS0i = R6i.x; -// 5 -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -// 6 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS1i))); -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R127i.z))); -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R6i.yx),R6i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.xyz = ivec3(R0i.x,R0i.w,R0i.w); -R5i.w = R0i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].z),-(intBitsToFloat(R4i.z))) + intBitsToFloat(uf_remappedPS[19].z))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R1i.w))); -PV1i.z = clampFI32(PV1i.z); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_remappedPS[20].x))); -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.z) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = R127i.z; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[21].x)) + intBitsToFloat(uf_remappedPS[22].x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[21].y)) + intBitsToFloat(uf_remappedPS[22].y))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.x))); -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R2i.y))); -PV0i.x = R0i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R2i.x))); -PV0i.y = R0i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedPS[21].z)) + intBitsToFloat(uf_remappedPS[22].z))); -PV0i.z = R123i.z; -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS0i = R0i.z; -// 5 -R2i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.y)); -R2i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R6i.x)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R2i.z))); -PV1i.w = R1i.w; -// 6 -R2i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R6i.z)); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(R0i.z))); -// 1 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 2 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].y), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.y))); -PV0i.z = R123i.z; -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[23].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[23].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[23].x))); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[24].x))); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[24].y))); -PV0i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[24].z))); -PV0i.z = R3i.z; -// 7 -R4i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R4i.w = R3i.w; -} -// export -if( ((vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w))).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -passPixelColor2 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -} diff --git a/Source/TokyoMirage/b5b078876f8aea16_00000000078792c9_ps.txt b/Source/TokyoMirage/b5b078876f8aea16_00000000078792c9_ps.txt deleted file mode 100644 index e5de9b16..00000000 --- a/Source/TokyoMirage/b5b078876f8aea16_00000000078792c9_ps.txt +++ /dev/null @@ -1,653 +0,0 @@ - - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader b5b078876f8aea16 -uniform ivec4 uf_remappedPS[25]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1a68e000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1a660000 res 64x64x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x1a692000 res 128x128x1 dim 3 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R7i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R7i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.y = R1i.x; -PS0i = R126i.y; -// 1 -R127i.x = PV0i.w; -R125i.y = R1i.y; -R126i.z = R2i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -R125i.z = R2i.y; -PS1i = R125i.z; -// 2 -R126i.x = R127i.y; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R127i.w = R2i.z; -R124i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(uf_remappedPS[0].x)); -PS0i = R124i.x; -// 3 -R127i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(uf_remappedPS[0].y)); -R5i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(uf_remappedPS[0].z)); -R124i.z = floatBitsToInt(sqrt(intBitsToFloat(PV0i.y))); -PS1i = R124i.z; -// 4 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.z),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R125i.z))); -// 5 -backupReg0i = R125i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R127i.w))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R1i.z),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.z = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.z))); -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), -(intBitsToFloat(uf_remappedPS[1].z)))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(PS1i))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(tempResultf); -PS0i = R127i.w; -// 9 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(PV0i.x),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[1].x)),-(intBitsToFloat(uf_remappedPS[1].y)),1.0,0.0))); -PV1i.x = R0i.x; -PV1i.y = R0i.x; -PV1i.z = R0i.x; -PV1i.w = R0i.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -PS1i = R4i.x; -// 10 -PV0i.x = ((0.0 >= intBitsToFloat(PV1i.x))?int(0xFFFFFFFF):int(0x0)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R127i.w))); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R127i.w))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.w)); -PS0i = floatBitsToInt(tempResultf); -// 11 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS0i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS0i))); -R1i.w = ((PV0i.x == 0)?(0):(0x3f800000)); -R4i.z = ((PV0i.x == 0)?(0):(0)); -PS1i = R4i.z; -// 12 -predResult = (R1i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = backupReg0i; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[2].x) >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(uf_remappedPS[3].x))); -R5i.w = 0x3f800000; -PV0i.w = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[4].x),intBitsToFloat(uf_remappedPS[4].y),intBitsToFloat(uf_remappedPS[4].z),intBitsToFloat(uf_remappedPS[4].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[5].x),intBitsToFloat(uf_remappedPS[5].y),intBitsToFloat(uf_remappedPS[5].z),intBitsToFloat(uf_remappedPS[5].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),intBitsToFloat(uf_remappedPS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R2i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(uf_remappedPS[8].x)); -// 6 -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[9].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R4i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[9].x)) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[9].y)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.wy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R4i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[14].y)) + intBitsToFloat(uf_remappedPS[14].x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[8].x)); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(uf_remappedPS[14].y)) + intBitsToFloat(uf_remappedPS[14].x))); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[11].x),intBitsToFloat(uf_remappedPS[11].y),intBitsToFloat(uf_remappedPS[11].z),intBitsToFloat(uf_remappedPS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[2].x)) + intBitsToFloat(uf_remappedPS[16].x)); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[15].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[16].x)) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[15].y)) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = floatBitsToInt(min(intBitsToFloat(R5i.y), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R4i.y)),-(intBitsToFloat(R1i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[17].z)) + 1.0); -PS0i = R127i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R5i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R4i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R7i.z)) + -(intBitsToFloat(R1i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[18].z)) + intBitsToFloat(uf_remappedPS[18].w)); -PS1i = R127i.w; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R6i.x = floatBitsToInt(cubeMapSTM.x); -R6i.y = floatBitsToInt(cubeMapSTM.y); -R6i.z = floatBitsToInt(cubeMapSTM.z); -R6i.w = cubeMapFaceId; -PV0i.x = R6i.x; -PV0i.y = R6i.y; -PV0i.z = R6i.z; -PV0i.w = R6i.w; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R1i.w; -// 3 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R4i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 4 -backupReg0i = R6i.y; -backupReg1i = R6i.x; -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R0i.w = 0; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PS0i = R6i.x; -// 5 -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -// 6 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS1i))); -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R127i.z))); -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R6i.yx),R6i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.xyz = ivec3(R0i.x,R0i.w,R0i.w); -R5i.w = R0i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].z),-(intBitsToFloat(R4i.z))) + intBitsToFloat(uf_remappedPS[19].z))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R1i.w))); -PV1i.z = clampFI32(PV1i.z); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_remappedPS[20].x))); -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.z) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = R127i.z; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[21].x)) + intBitsToFloat(uf_remappedPS[22].x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedPS[21].y)) + intBitsToFloat(uf_remappedPS[22].y))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.x))); -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R2i.y))); -PV0i.x = R0i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R2i.x))); -PV0i.y = R0i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedPS[21].z)) + intBitsToFloat(uf_remappedPS[22].z))); -PV0i.z = R123i.z; -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R0i.z = floatBitsToInt(tempResultf); -PS0i = R0i.z; -// 5 -R2i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.y)); -R2i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R6i.x)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R2i.z))); -PV1i.w = R1i.w; -// 6 -R2i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R6i.z)); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].w), intBitsToFloat(R0i.z))); -// 1 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 2 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[17].y), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.y))); -PV0i.z = R123i.z; -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[23].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[23].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[23].x))); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[24].x))); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[24].y))); -PV0i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[24].z))); -PV0i.z = R3i.z; -// 7 -R4i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R4i.w = R3i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -passPixelColor2 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -} diff --git a/Source/TokyoMirage/ba19276703190072_0000000000001e49_ps.txt b/Source/TokyoMirage/ba19276703190072_0000000000001e49_ps.txt deleted file mode 100644 index e9eefe16..00000000 --- a/Source/TokyoMirage/ba19276703190072_0000000000001e49_ps.txt +++ /dev/null @@ -1,349 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader ba19276703190072 -uniform ivec4 uf_remappedPS[11]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5196000 res 1280x720x1 dim 1 tm: 4 format 0810 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4386000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2DShadow textureUnitPS2;// Tex2 addr 0xf551a000 res 512x512x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem1); -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(0xbe000000),intBitsToFloat(0xc1ff0000),intBitsToFloat(0xc5fe0100),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R1i.z)); -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(PS0i)); -R0i.z = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(0x42c80000)); -// 2 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.y))); -PV0i.x = R1i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.y))); -PV0i.y = R1i.y; -R1i.z = R127i.w; -PV0i.z = R1i.z; -// 3 -R2i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z))) + vec3(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(uf_remappedPS[0].z))); -PV1i.x = R2i.x; -PV1i.y = R2i.y; -PV1i.z = R2i.z; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 5 -R0i.w = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); -PS1i = R0i.w; -// 6 -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedPS[1].x))); -// 7 -predResult = (intBitsToFloat(R1i.w) >= 1.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -if( (0 == 0)) discard; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R0i.w)); -// 1 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS0i))); -PV1i.x = R6i.x; -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PS0i))); -PV1i.y = R6i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i))); -PV1i.z = R5i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[2].x),intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(uf_remappedPS[2].z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -R0i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(uf_remappedPS[1].z))); -R0i.w = clampFI32(R0i.w); -// 4 -predResult = (0.0 >= intBitsToFloat(R0i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -if( (0 == 0)) discard; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R5i.xy = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[3].z) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[3].y) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[3].x) * 1.0); -R127i.w = 0; -R126i.y = 0; -PS0i = R126i.y; -// 1 -R127i.x = 0; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -R2i.y = floatBitsToInt(-(intBitsToFloat(R1i.w)) + 1.0); -R2i.y = clampFI32(R2i.y); -PS1i = R2i.y; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(R0i.z), 2.0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(PV1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R1i.z)); -// 3 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(PV0i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(PV0i.x))); -R4i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), intBitsToFloat(0x42a00000))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(R1i.x) + intBitsToFloat(PS1i))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedPS[7].y)) + intBitsToFloat(uf_remappedPS[8].z))); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R5i.y))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R127i.w)); -R127i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[7].z))); -R126i.z = uf_remappedPS[7].z; -PS1i = R126i.z; -// 6 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(R125i.y)); -PV0i.y = PV1i.z; -PV0i.y = clampFI32(PV0i.y); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[7].x)) + intBitsToFloat(uf_remappedPS[8].y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[7].x)) + intBitsToFloat(uf_remappedPS[8].x))); -PV0i.w = R123i.w; -tempResultf = 1.0 / sqrt(intBitsToFloat(backupReg0i)); -R125i.x = floatBitsToInt(tempResultf); -PS0i = R125i.x; -// 7 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * 2.0 + -(1.0))); -PV1i.x = R123i.x; -R126i.y = uf_remappedPS[7].z; -R0i.z = PV0i.y; -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.z) * 2.0 + -(1.0))); -PV1i.w = R123i.w; -R1i.w = PV0i.y; -PS1i = R1i.w; -// 8 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[7].z))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(uf_remappedPS[9].y)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(uf_remappedPS[9].x)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -PV0i.w = backupReg0i; -PV0i.w = clampFI32(PV0i.w); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R5i.y)) + intBitsToFloat(R127i.z))); -PS0i = R122i.x; -// 9 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[9].z))); -PV1i.x = R126i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PS0i))); -R2i.z = PV0i.w; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[9].w))); -R3i.w = PV0i.w; -PS1i = R3i.w; -// 10 -R0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.w)); -R4i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.x)),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.x))); -R127i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -PV0i.z = R127i.z; -R2i.w = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(PV1i.x)); -R1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.w)); -PS0i = R1i.x; -// 11 -R2i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.z)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R127i.w)); -R3i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(R126i.x)); -R4i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.y)),intBitsToFloat(R125i.x)) + intBitsToFloat(R6i.y))); -R1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.z)); -PS1i = R1i.y; -// 12 -backupReg0i = R1i.z; -backupReg1i = R0i.w; -R3i.x = floatBitsToInt(-(intBitsToFloat(R125i.y)) + 1.0); -R3i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[7].z) + intBitsToFloat(R127i.z)); -R1i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(R125i.x)) + intBitsToFloat(R5i.z))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[1].w))); -} -if( activeMaskStackC[1] == true ) { -R0i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R0i.xy), intBitsToFloat(R0i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R2i.wx), intBitsToFloat(R2i.w)))); -R4i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.y),intBitsToFloat(R4i.w),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R4i.y),intBitsToFloat(R4i.w),intBitsToFloat(R1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(max(intBitsToFloat(R3i.x), -(intBitsToFloat(R3i.x)))); -PS0i = R127i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R1i.x)); -R125i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[2].w)) + 1.0); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(R0i.w))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R2i.x)); -R127i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R4i.x)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PS1i) * 0.25); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.z))); -tempResultf = log2(intBitsToFloat(R126i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R5i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedPS[1].y))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(uf_remappedPS[2].w))); -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PV1i.x))); -R123i.y = clampFI32(R123i.y); -PV0i.y = R123i.y; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[10].z))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -PV1i.y = R125i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[10].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[10].x))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedPS[10].w))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.z))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.w))); -PS0i = R4i.x; -// 9 -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.x))); -} -// export -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -} diff --git a/Source/TokyoMirage/ba91c4a71ca3f482_0000000007879249_ps.txt b/Source/TokyoMirage/ba91c4a71ca3f482_0000000007879249_ps.txt deleted file mode 100644 index 38198b53..00000000 --- a/Source/TokyoMirage/ba91c4a71ca3f482_0000000007879249_ps.txt +++ /dev/null @@ -1,1339 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader ba91c4a71ca3f482 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x345d0000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R10i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R10i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R3i.x = 0; -PS0i = R3i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.w = tempi.x; -R3i.y = 0; -PS1i = R3i.y; -// 4 -R3i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS1i = R5i.w; -// 8 -R5i.x = PV1i.w << 0x00000002; -R5i.y = PV1i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -PV0i.z = R7i.x << R10i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -PS0i = R9i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R4i.z = R5i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.x & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R4i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R5i.z << R10i.x; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.y << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = (R1i.w > R8i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.z; -PV0i.y = R4i.z + R8i.z; -R8i.z = backupReg0i + int(1); -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R5i.x << R10i.x; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.z].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.z << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R10i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R10i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R10i.z > R10i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.y; -backupReg0i = R10i.y; -R10i.y = backupReg0i + int(1); -PV0i.z = R4i.z + backupReg0i; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.y << R10i.x; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.y].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.x; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -// 1 -PV1i.x = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R1i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R3i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R3i.z))); -// 2 -R3i.y = ((PV1i.x == 0)?(0):(0)); -R3i.z = ((PV1i.x == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[1].y)); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS10[1].y)); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -// 1 -predResult = (R3i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R1i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -R2i.w = floatBitsToInt(uf_blockPS4[2].x); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 4.0); -PS0i = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R13i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R13i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[2].w)); -R11i.x = floatBitsToInt(uf_blockPS8[23].x); -R11i.x = floatBitsToInt(intBitsToFloat(R11i.x) / 2.0); -PS0i = R11i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R12i.y = floatBitsToInt(uf_blockPS8[23].y); -R12i.y = floatBitsToInt(intBitsToFloat(R12i.y) / 2.0); -PS1i = R12i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R12i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R12i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R5i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R5i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R3i.y))); -R6i.x = floatBitsToInt(intBitsToFloat(R11i.x) + intBitsToFloat(R3i.x)); -PS1i = R6i.x; -// 2 -backupReg0i = R6i.y; -R6i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[4] == true ) { -R5i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R6i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R6i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R10i.x))); -R6i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R13i.y))); -R4i.z = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R6i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R6i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R7i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R5i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R6i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R12i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R11i.x))); -PV0i.w = R12i.y; -R5i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R5i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R11i.x)) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R6i.y)); -} -if( activeMaskStackC[4] == true ) { -R10i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R5i.w = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R5i.w; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.w) + intBitsToFloat(PV0i.y)); -// 6 -R6i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R5i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R5i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R5i.y; -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R6i.x = floatBitsToInt(uf_blockPS8[24].x); -R6i.x = floatBitsToInt(intBitsToFloat(R6i.x) / 2.0); -PS1i = R6i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[6].w)); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R12i.y = floatBitsToInt(uf_blockPS8[24].y); -R12i.y = floatBitsToInt(intBitsToFloat(R12i.y) / 2.0); -PS0i = R12i.y; -} -if( activeMaskStackC[4] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R10i.y = floatBitsToInt(-(intBitsToFloat(R12i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = R12i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[5] == true ) { -R10i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R10i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R5i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.w))?1.0:0.0); -R13i.y = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(R2i.z)); -PS0i = R13i.y; -} -if( activeMaskStackC[4] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R5i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R13i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R13i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R13i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R13i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R12i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = R12i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R6i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[5] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R13i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R13i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R13i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R6i.y)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R6i.y; -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R6i.x = floatBitsToInt(uf_blockPS8[24].x); -R6i.x = floatBitsToInt(intBitsToFloat(R6i.x) / 2.0); -R6i.y = floatBitsToInt(uf_blockPS8[24].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R11i.x; -// 4 -backupReg0i = R4i.w; -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R12i.y; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -} -if( activeMaskStackC[3] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[4] == true ) { -R10i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R10i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R11i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R12i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.w))?1.0:0.0); -R12i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.z)); -PS0i = R12i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R12i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R12i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R6i.x))); -PV0i.w = R6i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R6i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R12i.y))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.y; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = floatBitsToInt(min(intBitsToFloat(R11i.y), intBitsToFloat(R6i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS0i = R127i.y; -// 1 -backupReg0i = R0i.z; -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R3i.y))) + uf_blockPS10[1].z)); -PV1i.y = R123i.y; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.w))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -PS1i = R3i.w; -// 2 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV1i.y)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[10].x)); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[10].z)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[10].y)); -R5i.y = 0; -PS1i = R5i.y; -// 4 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); -PV0i.y = clampFI32(PV0i.y); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.y) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 6 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 7 -R2i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS1i))); -// 9 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 10 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS1i))); -// 11 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R126i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.z = R123i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.z))); -// 2 -backupReg0i = R0i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R4i.y)) + intBitsToFloat(R0i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(backupReg0i))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.z)) + intBitsToFloat(R1i.w))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R2i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R2i.y))); -PS0i = R3i.y; -// 5 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R2i.z))); -PV1i.z = R3i.z; -// 6 -R0i.xyz = ivec3(R3i.x,R3i.y,PV1i.z); -R0i.w = R3i.w; -// 7 -R1i.xyz = ivec3(R5i.z,R5i.y,R5i.y); -R1i.w = R5i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/bf0d3ea368f59c01_000000003c3c9249_ps.txt b/Source/TokyoMirage/bf0d3ea368f59c01_000000003c3c9249_ps.txt deleted file mode 100644 index be6a3000..00000000 --- a/Source/TokyoMirage/bf0d3ea368f59c01_000000003c3c9249_ps.txt +++ /dev/null @@ -1,1092 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader bf0d3ea368f59c01 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1996a000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1904e000 res 256x256x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x19976000 res 256x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x188a2000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R8i.x = R127i.w; -R8i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R8i.z = R2i.z; -R8i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R10i.y; -// 4 -R10i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R9i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R13i.x = 0; -PS0i = R13i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R13i.z = 0; -PS1i = R13i.z; -// 6 -R12i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R11i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R9i.w = floatBitsToInt(tempResultf); -PS1i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R4i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); -R3i.w = R11i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R9i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R10i.x)); -// 4 -R6i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R1i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R1i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R1i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R1i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R1i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R9i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R1i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.w; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 11 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R6i.z + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000003; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.x = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); -R125i.w = clampFI32(R125i.w); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -PS0i = R126i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.w))); -PV1i.z = clampFI32(PV1i.z); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R125i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = R126i.w; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].z),-(uf_blockPS2[1].y)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R5i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R5i.w; -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R0i.y = ((PS1i == 0)?(0):(0)); -R2i.z = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); -// 2 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R2i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.wy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyz); -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.w; -// 1 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(backupReg0i))) + uf_blockPS10[1].z)); -PV1i.w = R123i.w; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R1i.x))); -PS1i = R126i.w; -// 2 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R0i.y)) + uf_blockPS3[19].w)); -PV0i.y = R123i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV1i.w)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R1i.y))); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.x; -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R1i.z))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(R127i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[21].x)); -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -PS1i = R4i.w; -// 4 -R5i.y = 0; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.x))); -PV0i.w = clampFI32(PV0i.w); -// 5 -R123i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.w) + intBitsToFloat(0x40400000))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.y))); -// 7 -R3i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -// 9 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.x))); -// 12 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.x))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R6i.y)) + intBitsToFloat(backupReg0i))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R6i.x)) + intBitsToFloat(R0i.y))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.w))); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R6i.z)) + intBitsToFloat(R0i.w))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 4 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R3i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.y))); -PS0i = R4i.y; -// 5 -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R3i.z))); -PV1i.z = R4i.z; -// 6 -R0i.xyz = ivec3(R4i.x,R4i.y,PV1i.z); -R0i.w = R4i.w; -// 7 -R1i.xyz = ivec3(R5i.z,R5i.y,R5i.y); -R1i.w = R5i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/bfc54e7c73074291_00000f0f0f249249_ps.txt b/Source/TokyoMirage/bfc54e7c73074291_00000f0f0f249249_ps.txt deleted file mode 100644 index 24833e21..00000000 --- a/Source/TokyoMirage/bfc54e7c73074291_00000f0f0f249249_ps.txt +++ /dev/null @@ -1,1745 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader bfc54e7c73074291 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x395b0000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x39608000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x395dc000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x39558000 res 512x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R7i.x = R127i.w; -R7i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R7i.z = R2i.z; -R7i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R9i.y; -// 4 -R9i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R12i.y = 0; -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R8i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R12i.x = 0; -PS0i = R12i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R12i.z = 0; -PS1i = R12i.z; -// 6 -R11i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R10i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R8i.w = floatBitsToInt(tempResultf); -PS1i = R8i.w; -} -if( activeMaskStackC[1] == true ) { -R13i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -PV0i.x = R13i.x << R2i.w; -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R8i.w))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R8i.w))); -R3i.w = R10i.y + 0x00000e10; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R8i.w))); -PS0i = R4i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R9i.x)); -// 4 -R9i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R1i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R1i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = R1i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000004; -R1i.z = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R6i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -// 6 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R11i.x; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R11i.x; -// 8 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R13i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -R0i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R0i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R0i.y > R8i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg0i = R8i.x; -R8i.x = backupReg0i + int(1); -PV0i.z = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.z = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R11i.x; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R11i.x; -// 13 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R13i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R9i.x)); -// 2 -R10i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R10i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R10i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -PV0i.y = R3i.w + backupReg0i; -R0i.y = backupReg0i + int(1); -PS0i = R0i.y; -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R9i.x)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R9i.z + PV0i.x; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.y))); -R125i.w = clampFI32(R125i.w); -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R126i.z; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 10 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.y))); -PV1i.z = R126i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R9i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.y; -// 1 -R127i.x = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.y = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.z = R127i.z; -R127i.w = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R124i.y = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R124i.y; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.z)); -// 3 -R126i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R6i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.z = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.z)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS1i = R125i.y; -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.w; -R6i.x = ((R126i.y == 0)?(0):(0x3f800000)); -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); -R127i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R5i.z = ((backupReg1i == 0)?(0):(0x3f800000)); -PS0i = R5i.z; -// 5 -backupReg0i = R125i.y; -R5i.x = ((R127i.x == 0)?(0):(0x3f800000)); -PV1i.x = R5i.x; -R125i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + 1.0); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(-(intBitsToFloat(R124i.y)) + 1.0); -R0i.x = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -PS1i = R0i.x; -// 6 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R6i.x) + 1.0)); -R126i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R5i.z) + 1.0)); -R127i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 7 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R126i.w; -PV1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R124i.y))); -R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(PS0i)) + 1.0)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R6i.y))); -R126i.w = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -// 8 -backupReg0i = R125i.y; -R126i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -R125i.y = clampFI32(R125i.y); -R125i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 9 -backupReg0i = R127i.y; -backupReg1i = R126i.w; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R7i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R127i.y = clampFI32(R127i.y); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R7i.x))); -PV1i.z = R124i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R7i.z))); -R124i.x = floatBitsToInt(-(intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i)); -PS1i = R124i.x; -// 10 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R1i.z)); -R124i.y = floatBitsToInt(intBitsToFloat(R124i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R1i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R1i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -PS0i = R126i.z; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R125i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.w))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.y))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.y) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.y) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.x; -backupReg1i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R124i.y)) + intBitsToFloat(PV1i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(backupReg1i)) + intBitsToFloat(R126i.z))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PS1i))); -PS0i = R124i.w; -// 13 -backupReg0i = R125i.z; -PV1i.x = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R9i.x)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R124i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R125i.z = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R9i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R9i.y)); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R125i.x))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PS1i = R126i.x; -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(R7i.x))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(R7i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(R7i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R126i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.y))); -PS0i = R124i.z; -// 15 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(R126i.x))); -PV1i.y = R123i.y; -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS3[8].y)); -PS1i = R127i.w; -// 16 -backupReg0i = R127i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS3[8].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS3[8].z)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(R124i.y))); -PV0i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w))); -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R124i.y = floatBitsToInt(tempResultf); -PS0i = R124i.y; -// 17 -backupReg0i = R124i.w; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS3[8].w)); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R124i.z)) + intBitsToFloat(R125i.z))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[5].x)); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.z))); -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R126i.y = floatBitsToInt(tempResultf); -PS1i = R126i.y; -// 18 -backupReg0i = R127i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(R124i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[5].x)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[5].x)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), uf_blockPS10[5].x)); -// 19 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), uf_blockPS10[2].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(R126i.y))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].y)); -R126i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R126i.w; -// 20 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), uf_blockPS10[0].x)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), uf_blockPS10[0].x)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), uf_blockPS10[2].z)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), uf_blockPS10[0].x)); -R126i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -PS0i = R126i.x; -// 21 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.w))); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.z))); -R5i.w = 0; -R4i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(R126i.w))); -PS1i = R4i.z; -// 22 -R8i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(R126i.x))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R12i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R12i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R12i.z))); -PV0i.w = R123i.w; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.y = R127i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.z = R124i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -// 6 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.y))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.x))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R127i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -// 4 -R0i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -R11i.w = floatBitsToInt(uf_blockPS4[2].x); -R11i.w = floatBitsToInt(intBitsToFloat(R11i.w) * 4.0); -PS0i = R11i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R9i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[2].w)); -R4i.x = floatBitsToInt(uf_blockPS8[23].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS0i = R4i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R7i.y = floatBitsToInt(uf_blockPS8[23].y); -R7i.y = floatBitsToInt(intBitsToFloat(R7i.y) / 2.0); -PS1i = R7i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R9i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R11i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R10i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R7i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R5i.x = floatBitsToInt(-(intBitsToFloat(R7i.z)) + intBitsToFloat(R9i.z)); -PS0i = R5i.x; -} -if( activeMaskStackC[2] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R12i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R11i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.y = R6i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R7i.y; -R2i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R10i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R12i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R12i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R12i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R7i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R4i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R7i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 3 -R5i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R9i.y; -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R10i.y; -// 4 -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -R5i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[6].w)); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS0i = R0i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R5i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R11i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R5i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R5i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R5i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R10i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R11i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R5i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R4i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R7i.z = floatBitsToInt(uf_blockPS4[2].x); -R7i.z = floatBitsToInt(intBitsToFloat(R7i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R9i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS0i = R4i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R5i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R5i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R5i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R5i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R10i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R5i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(R8i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), uf_blockPS3[21].x)); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R4i.w))) + uf_blockPS10[1].z)); -PV0i.z = R123i.z; -R8i.w = 0; -// 1 -R1i.x = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(PV0i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(PV0i.y))); -PS1i = R126i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.w)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R125i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -// 3 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.x))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].x)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].z)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].y)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R125i.z)); -// 5 -R3i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PS0i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 6 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R2i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -backupReg0i = R7i.w; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[5].x)); -// 8 -R6i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R5i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R5i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.w))); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.z))); -PV1i.w = R123i.w; -// 2 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R0i.x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.w = R127i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R3i.x)); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(R1i.z)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R2i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.w))); -PV0i.w = R123i.w; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R125i.z))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(R127i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R5i.x)) + intBitsToFloat(R127i.x))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(R125i.z))); -PV1i.x = R123i.x; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R6i.y))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.x))); -// 8 -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R6i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].x, intBitsToFloat(R2i.w))); -R7i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].y, intBitsToFloat(R1i.z))); -R7i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].z, intBitsToFloat(R6i.y))); -// 1 -R2i.xyz = ivec3(R9i.x,R8i.y,R8i.z); -R2i.w = R5i.w; -// 2 -R0i.xyz = ivec3(R7i.x,R7i.y,R7i.z); -R0i.w = R7i.w; -// 3 -R1i.xyz = ivec3(R8i.x,R8i.w,R8i.w); -R1i.w = R8i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor4 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/c119d6dc3845973c_00000001e1e49249_ps.txt b/Source/TokyoMirage/c119d6dc3845973c_00000001e1e49249_ps.txt deleted file mode 100644 index d2aee663..00000000 --- a/Source/TokyoMirage/c119d6dc3845973c_00000001e1e49249_ps.txt +++ /dev/null @@ -1,1468 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader c119d6dc3845973c -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3890a000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x389c2000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x389b6000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R9i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R9i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R10i.x = 0; -PS0i = R10i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.w = tempi.x; -R10i.y = 0; -PS1i = R10i.y; -// 4 -R10i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS1i = R5i.w; -// 8 -R5i.x = PV1i.w << 0x00000002; -R5i.y = PV1i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R3i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -PV0i.z = R3i.x << R9i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -PS0i = R4i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R11i.z = R5i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R7i.y = PV1i.x & 0x0000ffff; -PS0i = R7i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R7i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R11i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R5i.z << R9i.x; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 4 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R3i.y << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R8i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R8i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R8i.z > R3i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.y; -PV0i.y = R11i.z + R3i.y; -R3i.y = backupReg0i + int(1); -PS0i = R3i.y; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R5i.x << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.x & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xy = floatBitsToInt(uf_blockPS11[R5i.x].xy); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(R5i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.z)),intBitsToFloat(backupReg0i)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(backupReg0i))); -// 7 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -// 9 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R3i.z << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = (R1i.w > R3i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.z; -backupReg0i = R3i.z; -R3i.z = backupReg0i + int(1); -PV0i.w = R11i.z + backupReg0i; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.y << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.x & 0x0000ffff; -// 3 -PV1i.w = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + int(1); -R5i.y = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.z].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(backupReg2i))); -R127i.w = clampFI32(R127i.w); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R126i.x; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); -// 7 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -// 8 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.x))); -PV0i.w = clampFI32(PV0i.w); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.z))); -// 10 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.x; -// 1 -R126i.x = ((intBitsToFloat(R6i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.y = R127i.y; -R127i.z = ((intBitsToFloat(R6i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.w = ((intBitsToFloat(R6i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.z = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS1i = R126i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.y)); -// 3 -R125i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.y)); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R126i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R124i.x = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -PS1i = R124i.x; -// 4 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.z))); -R124i.z = ((R126i.x == 0)?(0):(0x3f800000)); -R1i.w = ((R127i.w == 0)?(0):(0x3f800000)); -R4i.z = ((R127i.z == 0)?(0):(0x3f800000)); -PS0i = R4i.z; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R124i.x))); -R127i.z = floatBitsToInt(min(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + 1.0); -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); -PS1i = R125i.z; -// 6 -R125i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.z) + 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R1i.w) + 1.0)); -R126i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.z) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R125i.y)) + 1.0); -R4i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(R125i.z)) + 1.0)); -PV1i.y = R4i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PS0i))); -R127i.z = clampFI32(R127i.z); -R127i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R6i.x)); -R127i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R6i.y)); -PS1i = R127i.y; -// 8 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R6i.y))); -PV0i.x = R124i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R6i.x))); -PV0i.y = R126i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R6i.z))); -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R6i.z)); -PV0i.w = R125i.w; -R124i.w = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.x)); -PS0i = R124i.w; -// 9 -R125i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R5i.z)); -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R5i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R126i.w = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R5i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R125i.z))); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.z) + intBitsToFloat(0x40400000))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV1i.y)) + intBitsToFloat(PS1i))); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R7i.x)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PS0i = R127i.z; -// 11 -backupReg0i = R126i.z; -backupReg1i = R126i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R7i.y)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(PV0i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.z))); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(backupReg1i))); -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS1i = R125i.x; -// 12 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R6i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R7i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(backupReg0i))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R125i.z))); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R6i.y))); -// 13 -backupReg0i = R127i.w; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R6i.z))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(R125i.x))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.z))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PS0i))); -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R126i.z)) + intBitsToFloat(R124i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(R125i.w))); -PV0i.z = R123i.z; -tempResultf = log2(intBitsToFloat(R126i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R124i.y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 16 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[0].x)); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[0].x)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 17 -R4i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R10i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R10i.y))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R10i.x))); -PV0i.w = R123i.w; -// 1 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R124i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.y = R124i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV1i.x))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R127i.w; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R6i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R4i.z = floatBitsToInt(uf_blockPS4[2].x); -R4i.z = floatBitsToInt(intBitsToFloat(R4i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[2].w)); -R0i.x = floatBitsToInt(uf_blockPS8[23].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -PS0i = R0i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R3i.y = floatBitsToInt(uf_blockPS8[23].y); -R3i.y = floatBitsToInt(intBitsToFloat(R3i.y) / 2.0); -PS1i = R3i.y; -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R3i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R3i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R4i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R8i.w = floatBitsToInt(-(intBitsToFloat(R0i.y)) + intBitsToFloat(R5i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R9i.x) >= intBitsToFloat(R8i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R9i.w) >= intBitsToFloat(R8i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R9i.y) >= intBitsToFloat(R8i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R9i.z) >= intBitsToFloat(R8i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R3i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(R3i.y))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R3i.y; -R4i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R8i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R8i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R8i.w))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R0i.x; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.x)); -// 6 -R10i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922)); -// 7 -backupReg0i = R0i.x; -predResult = (intBitsToFloat(backupReg0i) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.z))); -PV1i.y = R4i.y; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS1i = R4i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS0i = R0i.y; -} -if( activeMaskStackC[3] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.z; -R3i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R7i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R4i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[4] == true ) { -R9i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R10i.z)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R10i.z; -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R10i.w = floatBitsToInt(uf_blockPS4[2].x); -R10i.w = floatBitsToInt(intBitsToFloat(R10i.w) * 4.0); -PS0i = R10i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R0i.x = floatBitsToInt(uf_blockPS8[24].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -PS0i = R0i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R3i.y = floatBitsToInt(uf_blockPS8[24].y); -R3i.y = floatBitsToInt(intBitsToFloat(R3i.y) / 2.0); -PS1i = R3i.y; -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.w)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R2i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R10i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R3i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R3i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R4i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R4i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.z; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R0i.y)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R10i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(R3i.y))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R3i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R9i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.w = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.w)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.z; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R4i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R10i.z))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -R1i.y = 0; -PS0i = R1i.y; -// 1 -R1i.z = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].y)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].x)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].z)); -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.x))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.y))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 3 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), uf_blockPS10[2].x)); -PV0i.x = R2i.x; -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[2].y)); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), uf_blockPS10[2].z)); -PV0i.z = R2i.z; -// 1 -backupReg0i = R2i.w; -R2i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R2i.w = backupReg0i; -// 2 -R3i.xyz = ivec3(R1i.x,R1i.y,R1i.y); -R3i.w = R1i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -passPixelColor2 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -} diff --git a/Source/TokyoMirage/c47311db5ad96d40_00000001e1e49649_ps.txt b/Source/TokyoMirage/c47311db5ad96d40_00000001e1e49649_ps.txt deleted file mode 100644 index a4587987..00000000 --- a/Source/TokyoMirage/c47311db5ad96d40_00000001e1e49649_ps.txt +++ /dev/null @@ -1,1270 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader c47311db5ad96d40 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x19d7d000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x19788000 res 64x64x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x19d81000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x19bd6000 res 128x128x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x188a2000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R9i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R9i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R9i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R8i.x = R127i.w; -R8i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R8i.z = R2i.z; -R8i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R10i.y; -// 4 -R10i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R9i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R13i.x = 0; -PS0i = R13i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R8i.w),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R13i.z = 0; -PS1i = R13i.z; -// 6 -R12i.xyz = ivec3(0,0,0); -R0i.y = 0; -PS0i = R0i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R11i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R9i.w = floatBitsToInt(tempResultf); -PS1i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R10i.y; -PV0i.x = R4i.x << R2i.w; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.w))); -R3i.w = R11i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R9i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R10i.x)); -// 4 -R6i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = 0; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R1i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R1i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R1i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R1i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R1i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R1i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R9i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.z > R0i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R0i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R1i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.w; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 11 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R10i.x)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.x) >> uint(R10i.x)); -// 2 -PV0i.w = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R6i.z + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000003; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.x = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.y))); -R125i.w = clampFI32(R125i.w); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(R126i.x)); -PS0i = R126i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.w))); -PV1i.z = clampFI32(PV1i.z); -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R125i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = R126i.w; -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].z),-(uf_blockPS2[1].y)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R5i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R5i.w; -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R0i.y = ((PS1i == 0)?(0):(0)); -R2i.z = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.w))); -// 2 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R2i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.wy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R3i.xyzw = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(backupReg0i)),-(intBitsToFloat(R10i.y)),-(intBitsToFloat(R11i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.y; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R0i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R10i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R11i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.z = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -PS1i = R127i.z; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R6i.x = floatBitsToInt(cubeMapSTM.x); -R6i.y = floatBitsToInt(cubeMapSTM.y); -R6i.z = floatBitsToInt(cubeMapSTM.z); -R6i.w = cubeMapFaceId; -PV0i.x = R6i.x; -PV0i.y = R6i.y; -PV0i.z = R6i.z; -PV0i.w = R6i.w; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R126i.z; -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 4 -backupReg0i = R6i.x; -backupReg1i = R6i.y; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R3i.x))); -PS0i = R4i.y; -// 5 -PV1i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R0i.y)) + uf_blockPS3[19].w)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R2i.w = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.z)); -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R3i.y))); -PS1i = R1i.x; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(R127i.y))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(PV1i.x))); -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R3i.z))); -PS0i = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -// 7 -R2i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.z))); -R1i.y = clampFI32(R1i.y); -R1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); -R2i.y = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -PS1i = R2i.y; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R6i.yx),R6i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R1i.y))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R1i.y) + intBitsToFloat(0x40400000))); -PV0i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R1i.w)),intBitsToFloat(R2i.y)) + 1.0)); -R122i.x = clampFI32(R122i.x); -PS0i = R122i.x; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV0i.z))); -tempResultf = log2(intBitsToFloat(PS0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS1i))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.y))); -R0i.w = 0; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R0i.y; -// 4 -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 5 -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS0i))); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[21].x)); -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PV0i.z))); -// 8 -R3i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -// 9 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(PV0i.w))); -PV1i.x = R1i.x; -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R7i.z)) + intBitsToFloat(PV0i.y))); -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.z))); -PV1i.w = R3i.w; -// 10 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i)); -R4i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R1i.z)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -PV0i.z = R126i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(R3i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS10[5].x)); -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R1i.x)) + intBitsToFloat(PV1i.y)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(R3i.z))); -PV0i.w = R123i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(PV0i.w)); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(R3i.w))); -PV1i.z = R126i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R0i.y)) + intBitsToFloat(R1i.x))); -PV1i.w = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R6i.x)); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R0i.y)) + intBitsToFloat(R3i.z))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R6i.y)); -// 5 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R3i.x)) + intBitsToFloat(R126i.z))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R6i.z)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.y))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 7 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].x)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[2].y)); -PS1i = R2i.y; -// 8 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].z)); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); -// 3 -R1i.xyz = ivec3(R2i.x,R2i.y,R2i.z); -R1i.w = R2i.w; -// 4 -R2i.xyz = ivec3(R0i.x,R0i.w,R0i.w); -R2i.w = R0i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/c584bebcdcb93b8d_00000001e1e49249_ps.txt b/Source/TokyoMirage/c584bebcdcb93b8d_00000001e1e49249_ps.txt deleted file mode 100644 index 953e65fb..00000000 --- a/Source/TokyoMirage/c584bebcdcb93b8d_00000001e1e49249_ps.txt +++ /dev/null @@ -1,1457 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader c584bebcdcb93b8d -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x320a2000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x10067000 res 1x1x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3204a000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R10i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R10i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R3i.x = 0; -PS0i = R3i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.w = tempi.x; -R3i.y = 0; -PS1i = R3i.y; -// 4 -R3i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS1i = R5i.w; -// 8 -R5i.x = PV1i.w << 0x00000002; -R5i.y = PV1i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -PV0i.z = R7i.x << R10i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -PS0i = R9i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R10i.z = R5i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.x & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R10i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R5i.z << R10i.x; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 4 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.y << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R8i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R8i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R8i.z > R8i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.y; -backupReg0i = R8i.y; -R8i.y = backupReg0i + int(1); -PV0i.w = R10i.z + backupReg0i; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.x << R10i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PV1i.x = floatBitsToInt(uf_blockPS11[0].x) + PV0i.w; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.x].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.z << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R10i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R10i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R11i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R10i.y > R11i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R11i.x; -backupReg0i = R11i.x; -R11i.x = backupReg0i + int(1); -PV0i.z = R10i.z + backupReg0i; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R5i.y << R10i.x; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.y].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.y))); -R127i.w = clampFI32(R127i.w); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.x))); -PV1i.z = clampFI32(PV1i.z); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.x))); -// 9 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.z; -// 1 -R127i.x = ((intBitsToFloat(R6i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = ((intBitsToFloat(R6i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.z = ((intBitsToFloat(R6i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.w = R127i.w; -R126i.x = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS1i = R126i.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R126i.y = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R125i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.w)); -R124i.z = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -PS1i = R124i.z; -// 4 -R125i.x = ((R127i.y == 0)?(0):(0x3f800000)); -R124i.y = ((R127i.x == 0)?(0):(0x3f800000)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.x))); -R4i.y = ((R126i.z == 0)?(0):(0x3f800000)); -PS0i = R4i.y; -// 5 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R124i.z))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R125i.z)) + 1.0); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -R127i.w = floatBitsToInt(min(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.z))); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS1i = R127i.x; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.y) + 1.0)); -R126i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.x) + 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.y) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -R127i.x = clampFI32(R127i.x); -R127i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R6i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R124i.x)) + 1.0); -R124i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(backupReg0i)) + 1.0)); -PV1i.w = R124i.w; -R127i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R6i.y)); -PS1i = R127i.w; -// 8 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R6i.x))); -PV0i.x = R126i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R6i.z))); -R125i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R6i.z)); -PV0i.z = R125i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R6i.y))); -PV0i.w = R125i.w; -R125i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R125i.y; -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R5i.x)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R5i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R5i.z)); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.w))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R127i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.x) + intBitsToFloat(0x40400000))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(PS1i))); -PS0i = R5i.x; -// 11 -backupReg0i = R127i.w; -backupReg1i = R125i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R7i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.z))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w))); -R127i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R7i.y)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R124i.z = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R7i.z)); -R124i.z = floatBitsToInt(intBitsToFloat(R124i.z) * 2.0); -PS1i = R124i.z; -// 12 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R126i.y))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R125i.w))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R6i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(backupReg0i))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R6i.z))); -// 13 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R6i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(backupReg2i)) + intBitsToFloat(PV0i.y))); -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R5i.y)) + intBitsToFloat(R127i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R124i.z)) + intBitsToFloat(R126i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -tempResultf = log2(intBitsToFloat(R127i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(R125i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -// 16 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[0].x)); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[0].x)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 17 -R0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R3i.x))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R3i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R3i.z))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.x = R127i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = R125i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.w))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PV1i.y))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PV1i.x))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R127i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -// 4 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = floatBitsToInt(uf_blockPS4[2].x); -R4i.z = floatBitsToInt(intBitsToFloat(R4i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -PS0i = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[2].w)); -R7i.x = floatBitsToInt(uf_blockPS8[23].x); -R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0); -PS0i = R7i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R7i.y = floatBitsToInt(uf_blockPS8[23].y); -R7i.y = floatBitsToInt(intBitsToFloat(R7i.y) / 2.0); -PS1i = R7i.y; -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R7i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R4i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -R10i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R3i.z)); -PS0i = R10i.y; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R9i.x) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R9i.w) >= intBitsToFloat(R10i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R9i.y) >= intBitsToFloat(R10i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R9i.z) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R7i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R7i.y; -R4i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R7i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R10i.y))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R9i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R9i.z; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV0i.w)); -// 6 -R4i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R9i.z) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R3i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -PV1i.y = R7i.y; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R9i.y; -// 4 -R0i.x = floatBitsToInt(uf_blockPS8[24].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R4i.y = floatBitsToInt(uf_blockPS8[24].y); -R4i.y = floatBitsToInt(intBitsToFloat(R4i.y) / 2.0); -PS0i = R4i.y; -} -if( activeMaskStackC[3] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R4i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -R8i.x = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(R2i.z)); -PS0i = R8i.x; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R8i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R4i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R8i.x))?1.0:0.0); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R4i.x)))); -PV0i.y = R123i.y; -// 7 -backupReg0i = R4i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R9i.w = floatBitsToInt(uf_blockPS4[2].x); -R9i.w = floatBitsToInt(intBitsToFloat(R9i.w) * 4.0); -PS0i = R9i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R9i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R0i.x = floatBitsToInt(uf_blockPS8[24].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -PS0i = R0i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R7i.y = floatBitsToInt(uf_blockPS8[24].y); -R7i.y = floatBitsToInt(intBitsToFloat(R7i.y) / 2.0); -PS1i = R7i.y; -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.w)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R2i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R7i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(R3i.x)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.z; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R9i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R7i.x)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R7i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R4i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.y)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.x))); -// 6 -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 8 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R0i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R4i.x))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -R1i.y = 0; -PS0i = R1i.y; -// 1 -R1i.z = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].y)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].x)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].z)); -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.x))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.y))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 3 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), uf_blockPS10[2].x)); -PV0i.x = R2i.x; -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[2].y)); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), uf_blockPS10[2].z)); -PV0i.z = R2i.z; -// 1 -backupReg0i = R2i.w; -R2i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R2i.w = backupReg0i; -// 2 -R3i.xyz = ivec3(R1i.x,R1i.y,R1i.y); -R3i.w = R1i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -passPixelColor2 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -} diff --git a/Source/TokyoMirage/c90f7d197e8cef8f_0000003c3c3c9249_ps.txt b/Source/TokyoMirage/c90f7d197e8cef8f_0000003c3c3c9249_ps.txt deleted file mode 100644 index ab76a3d0..00000000 --- a/Source/TokyoMirage/c90f7d197e8cef8f_0000003c3c3c9249_ps.txt +++ /dev/null @@ -1,1030 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader c90f7d197e8cef8f -uniform ivec4 uf_remappedPS[33]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3d5c6000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0x2aa61000 res 1024x1024x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), intBitsToFloat(uf_remappedPS[1].z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].x), intBitsToFloat(uf_remappedPS[1].z))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].x)); -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x394ccccd)); -R127i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x394ccccd)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS0i)) + -(intBitsToFloat(uf_remappedPS[1].x)))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[0].y)); -// 2 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + intBitsToFloat(uf_remappedPS[2].x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(PS1i)) + -(intBitsToFloat(uf_remappedPS[1].y)))); -PV0i.z = R123i.z; -R1i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(uf_remappedPS[2].y)); -// 3 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.z))); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(uf_remappedPS[2].z)); -} -if( activeMaskStackC[1] == true ) { -R5i.xyzw = floatBitsToInt(texture(textureUnitPS7, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R123i.x = floatBitsToInt((intBitsToFloat(R5i.x) * 2.0 + -(1.0))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R5i.z) * 2.0 + -(1.0))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R6i.z))); -R123i.w = floatBitsToInt((intBitsToFloat(R5i.y) * 2.0 + -(1.0))); -PV0i.w = R123i.w; -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(uf_remappedPS[3].w))); -PS0i = R2i.w; -// 1 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(R1i.x))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(R1i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(R1i.z))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), -(intBitsToFloat(uf_remappedPS[4].z)))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R1i.w)) + intBitsToFloat(PV0i.z))); -PS1i = R122i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.w),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[4].x)),-(intBitsToFloat(uf_remappedPS[4].y)),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = tempi.x; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R6i.y)) + intBitsToFloat(PS1i))); -PS0i = R126i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.x = ((PS1i == 0)?(0):(0x3f800000)); -R5i.w = ((PS1i == 0)?(0):(0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.z)); -PS1i = floatBitsToInt(tempResultf); -// 6 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PS1i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -// 7 -predResult = (R1i.x == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.z = R1i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); -PV0i.z = clampFI32(PV0i.z); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.z), 0.0)); -PV0i.w = R127i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R123i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -// 3 -R10i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[5].x) >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[6].x))); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -R9i.w = uf_remappedPS[7].x; -R9i.w = floatBitsToInt(intBitsToFloat(R9i.w) * 4.0); -PS0i = R9i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(uf_remappedPS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(uf_remappedPS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[10].x),intBitsToFloat(uf_remappedPS[10].y),intBitsToFloat(uf_remappedPS[10].z),intBitsToFloat(uf_remappedPS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R3i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(uf_remappedPS[12].w))); -R10i.x = uf_remappedPS[11].x; -R10i.x = floatBitsToInt(intBitsToFloat(R10i.x) / 2.0); -PS0i = R10i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[12].z)) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R11i.y = uf_remappedPS[11].y; -R11i.y = floatBitsToInt(intBitsToFloat(R11i.y) / 2.0); -PS1i = R11i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[12].y)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[12].x)) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.w)); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R6i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].x)) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R10i.x))); -PV0i.w = R11i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].y)) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R5i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R5i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R6i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R3i.x)); -PS1i = R6i.x; -// 2 -backupReg0i = R6i.y; -R6i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[4] == true ) { -R5i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R6i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].x) /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].y) /resScale * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R5i.x))?1.0:0.0); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R5i.w))?1.0:0.0); -R3i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R6i.z)); -PS0i = R3i.x; -} -if( activeMaskStackC[3] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R6i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.w) >= intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R5i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R3i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R5i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R3i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R5i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R10i.x))); -PV0i.w = R11i.y; -R5i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R5i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R10i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R8i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R8i.x))?1.0:0.0); -R127i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R8i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R3i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(uf_remappedPS[13].x)); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R11i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R11i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.y)); -// 6 -R3i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R11i.y) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(uf_remappedPS[15].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R6i.w)),vec4(intBitsToFloat(uf_remappedPS[16].x),intBitsToFloat(uf_remappedPS[16].y),intBitsToFloat(uf_remappedPS[16].z),intBitsToFloat(uf_remappedPS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 3 -R3i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(PS0i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R7i.y; -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(uf_remappedPS[18].y)) + intBitsToFloat(uf_remappedPS[18].x))); -PS1i = R8i.y; -// 4 -R10i.x = uf_remappedPS[17].x; -R10i.x = floatBitsToInt(intBitsToFloat(R10i.x) / 2.0); -R3i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(uf_remappedPS[19].w))); -R10i.y = uf_remappedPS[17].y; -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS0i = R10i.y; -} -if( activeMaskStackC[4] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[19].z)) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[19].y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[19].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R10i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[5] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R6i.w; -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R6i.x))?1.0:0.0); -R6i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(R2i.z)); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R6i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R6i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R3i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R10i.x))); -PV0i.w = R10i.y; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R10i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[5] == true ) { -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R6i.w))?1.0:0.0); -R127i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R7i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[13].x)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R3i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R3i.w; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(uf_remappedPS[18].y)) + intBitsToFloat(uf_remappedPS[18].x))); -R4i.z = uf_remappedPS[7].x; -R4i.z = floatBitsToInt(intBitsToFloat(R4i.z) * 4.0); -R5i.w = 0x3f800000; -PV0i.w = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(uf_remappedPS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R5i.w)),vec4(intBitsToFloat(uf_remappedPS[16].x),intBitsToFloat(uf_remappedPS[16].y),intBitsToFloat(uf_remappedPS[16].z),intBitsToFloat(uf_remappedPS[16].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R5i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(uf_remappedPS[19].w))); -R3i.x = uf_remappedPS[17].x; -R3i.x = floatBitsToInt(intBitsToFloat(R3i.x) / 2.0); -PS0i = R3i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedPS[19].z)) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R3i.y = uf_remappedPS[17].y; -R3i.y = floatBitsToInt(intBitsToFloat(R3i.y) / 2.0); -PS1i = R3i.y; -} -if( activeMaskStackC[3] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R5i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedPS[19].y)) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[19].x)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -// 2 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R3i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R3i.x))); -PV0i.w = R3i.y; -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R7i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R7i.w; -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R7i.x))?1.0:0.0); -R7i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(R2i.z)); -R1i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R7i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R7i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R7i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R7i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R7i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R4i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R6i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R3i.y; -backupReg0i = R3i.y; -R2i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R3i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R3i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R7i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R7i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R5i.x))?1.0:0.0); -R127i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[7].x) == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R7i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(uf_remappedPS[20].x)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[20].x)) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.w = floatBitsToInt(min(intBitsToFloat(R4i.w), intBitsToFloat(R3i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[21].z)) + 1.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[22].z),-(intBitsToFloat(R5i.w))) + intBitsToFloat(uf_remappedPS[22].z))); -PV1i.z = R123i.z; -R127i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[3].x)) + 1.0); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -PS1i = R2i.x; -// 2 -R0i.x = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV1i.z)); -R3i.y = 0; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[23].y), intBitsToFloat(uf_remappedPS[24].w))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -PS0i = R126i.w; -// 3 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[25].x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R127i.z))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[25].y))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[25].z))); -PS1i = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R127i.w))); -// 4 -R127i.x = floatBitsToInt(max(intBitsToFloat(PS1i), -(intBitsToFloat(PS1i)))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(uf_remappedPS[3].x), intBitsToFloat(0x33d6bf95))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.w))); -PV0i.z = clampFI32(PV0i.z); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(uf_remappedPS[26].x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(uf_remappedPS[26].y))); -PS0i = R127i.w; -// 5 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[23].y), intBitsToFloat(uf_remappedPS[27].x))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[23].y), intBitsToFloat(uf_remappedPS[27].y))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 6 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PS1i)) + 1.0)); -R127i.x = clampFI32(R127i.x); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[23].y), intBitsToFloat(uf_remappedPS[27].w))); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[23].y), intBitsToFloat(uf_remappedPS[27].z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -R5i.w = 0; -PS0i = R5i.w; -// 7 -backupReg0i = R127i.w; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(uf_remappedPS[28].x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedPS[26].w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(uf_remappedPS[26].z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[28].x))); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[28].x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[21].w), intBitsToFloat(PS1i))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[28].x))); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedPS[28].x))); -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[29].x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedPS[29].y))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 10 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.x))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_remappedPS[29].z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[21].y), intBitsToFloat(PS1i))); -R3i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R3i.x; -// 11 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R125i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R126i.z))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R125i.x))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.z))); -PS1i = R5i.z; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(uf_remappedPS[30].y)) + intBitsToFloat(uf_remappedPS[31].y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(uf_remappedPS[30].x)) + intBitsToFloat(uf_remappedPS[31].x))); -PV0i.z = R123i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(uf_remappedPS[30].z)) + intBitsToFloat(uf_remappedPS[31].z))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV0i.z))); -// 2 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[0].z)) + intBitsToFloat(uf_remappedPS[0].w)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R4i.y)) + intBitsToFloat(backupReg0i))); -PV0i.z = R126i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R0i.z))); -PV0i.w = R125i.w; -// 3 -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.z)) + intBitsToFloat(R1i.x))); -PV1i.y = R127i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.w)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R1i.z)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R1i.y)) + intBitsToFloat(R125i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(R2i.z)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R126i.z))); -PV0i.w = R123i.w; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -// 6 -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R126i.z))); -R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R125i.w))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.z)); -// 7 -backupReg0i = R3i.x; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R127i.y))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(uf_remappedPS[32].z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(uf_remappedPS[32].y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_remappedPS[32].x))); -// 1 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].x), intBitsToFloat(PV0i.w))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].y), intBitsToFloat(PV0i.z))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[29].z), intBitsToFloat(PV0i.y))); -// 2 -R2i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -R2i.w = R5i.w; -// 3 -R0i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -R0i.w = R6i.w; -// 4 -R1i.xyz = ivec3(R3i.z,R3i.y,R3i.y); -R1i.w = R3i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor4 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/c9a715140538a7a6_0000000787879249_ps.txt b/Source/TokyoMirage/c9a715140538a7a6_0000000787879249_ps.txt deleted file mode 100644 index 95c701a2..00000000 --- a/Source/TokyoMirage/c9a715140538a7a6_0000000787879249_ps.txt +++ /dev/null @@ -1,1291 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader c9a715140538a7a6 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x34e1c000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R3i.z = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R4i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -PS0i = R4i.w; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R7i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 2 -R9i.xyz = ivec3(0,0,0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(PS1i))); -R1i.w = 0; -PS0i = R1i.w; -// 3 -PS1i = int(uint(intBitsToFloat(R127i.z))); -// 4 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 6 -PV0i.w = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R6i.x = floatBitsToInt(tempResultf); -PS0i = R6i.x; -// 7 -R5i.x = PV0i.w << 0x00000002; -R5i.y = PV0i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R3i.x = R5i.y + 0x00000e10; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.x))); -PV0i.z = R7i.x << R3i.z; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.x))); -PS0i = R4i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R2i.w = (R3i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R2i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.x + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R5i.z << R3i.z; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R4i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.y << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R3i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R3i.y > R8i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg0i = R8i.x; -R8i.x = backupReg0i + int(1); -PV0i.y = R3i.x + backupReg0i; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.x << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.x].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.z << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -R10i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R10i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R10i.z > R3i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.y; -backupReg0i = R3i.y; -R3i.y = backupReg0i + int(1); -PV0i.z = R3i.x + backupReg0i; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.y << R3i.z; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R7i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.y].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -// 1 -PV1i.x = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R1i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R9i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R9i.z))); -// 2 -R0i.y = ((PV1i.x == 0)?(0):(0)); -R4i.z = ((PV1i.x == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[1].y)); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS10[1].y)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -// 1 -predResult = (R4i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = backupReg0i; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R7i.w = 0x3f800000; -PV0i.w = R7i.w; -R2i.w = floatBitsToInt(uf_blockPS4[2].x); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 4.0); -PS0i = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -// 4 -R6i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS8[2].w)); -R3i.x = floatBitsToInt(uf_blockPS8[23].x); -R3i.x = floatBitsToInt(intBitsToFloat(R3i.x) / 2.0); -PS0i = R3i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R6i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R10i.y = floatBitsToInt(uf_blockPS8[23].y); -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS1i = R10i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R6i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.w)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R4i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R11i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R3i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R6i.x; -R5i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R5i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R6i.y))); -R6i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(backupReg0i)); -PS1i = R6i.x; -// 2 -backupReg0i = R6i.y; -R6i.y = floatBitsToInt(intBitsToFloat(R11i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R5i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R6i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R4i.z; -R0i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R4i.z = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + intBitsToFloat(backupReg2i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R0i.xy)).xyzw); -R11i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R0i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R5i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R3i.x))); -PV0i.w = R10i.y; -R5i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R0i.y))); -PS0i = R5i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R3i.x)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R0i.y)); -} -if( activeMaskStackC[4] == true ) { -R6i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R11i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R11i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R11i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -backupReg0i = R3i.w; -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w)); -PS0i = R3i.w; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV0i.y)); -// 6 -R11i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R0i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R0i.y; -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R9i.x = floatBitsToInt(uf_blockPS8[24].x); -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS1i = R9i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS8[6].w)); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R12i.y = floatBitsToInt(uf_blockPS8[24].y); -R12i.y = floatBitsToInt(intBitsToFloat(R12i.y) / 2.0); -PS0i = R12i.y; -} -if( activeMaskStackC[4] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R12i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R12i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[5] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(backupReg0i))); -R0i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(backupReg1i))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -R3i.y = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R2i.z)); -PS0i = R3i.y; -} -if( activeMaskStackC[4] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R0i.xy)).xyzw); -R5i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R0i.xy)).xyz); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R3i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R3i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R12i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R12i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R0i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R0i.y)); -} -if( activeMaskStackC[5] == true ) { -R10i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R3i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R3i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R11i.y)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R11i.y; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R3i.x = floatBitsToInt(uf_blockPS8[24].x); -R3i.x = floatBitsToInt(intBitsToFloat(R3i.x) / 2.0); -R3i.y = floatBitsToInt(uf_blockPS8[24].y); -R3i.y = floatBitsToInt(intBitsToFloat(R3i.y) / 2.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R7i.w = floatBitsToInt(uf_blockPS4[2].x); -R7i.w = floatBitsToInt(intBitsToFloat(R7i.w) * 4.0); -PS0i = R7i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -backupReg0i = R4i.w; -R0i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R0i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -} -if( activeMaskStackC[3] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R0i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R0i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R0i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R3i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R3i.x))); -PV0i.w = R3i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R0i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R0i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R0i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R0i.y)); -} -if( activeMaskStackC[4] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R0i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R9i.x))); -R0i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -R11i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.z)); -PS0i = R11i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R0i.xy)).xyzw); -R10i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R0i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R11i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R7i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R0i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R3i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R3i.x))); -PV0i.w = R3i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R0i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R3i.x)) + vec3(intBitsToFloat(R0i.x),intBitsToFloat(R0i.y),intBitsToFloat(R0i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R0i.y)); -} -if( activeMaskStackC[4] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R11i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R11i.y))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.y; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = floatBitsToInt(min(intBitsToFloat(R9i.y), intBitsToFloat(R11i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.z; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), uf_blockPS3[8].x)); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), uf_blockPS3[8].y)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.w))); -R2i.w = 0; -PS0i = R2i.w; -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[5].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS3[8].w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), uf_blockPS3[8].z)); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[5].x)); -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS10[2].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[5].x)); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[5].x)); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -PS0i = R3i.w; -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].z, uf_blockPS3[20].z)); -R1i.z = 0; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].z)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -PS1i = R2i.y; -// 4 -R0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].y, uf_blockPS3[20].y)); -R0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].x, uf_blockPS3[20].x)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.w))); -PS0i = R2i.z; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.z))); -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R4i.z))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV0i.y))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(R127i.x))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PS1i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(PV1i.x))); -// 5 -R6i.xyz = ivec3(R2i.x,R2i.y,R2i.z); -R6i.w = R2i.w; -// 6 -R4i.xyz = ivec3(R3i.x,R3i.y,R3i.z); -R4i.w = R3i.w; -// 7 -R5i.xyz = ivec3(R1i.y,R1i.z,R1i.z); -R5i.w = R1i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -passPixelColor2 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -passPixelColor4 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -} diff --git a/Source/TokyoMirage/cb60585a374f1761_0000000000f0f2c9_ps.txt b/Source/TokyoMirage/cb60585a374f1761_0000000000f0f2c9_ps.txt deleted file mode 100644 index 9b857ec1..00000000 --- a/Source/TokyoMirage/cb60585a374f1761_0000000000f0f2c9_ps.txt +++ /dev/null @@ -1,1003 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader cb60585a374f1761 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1bda0000 res 64x64x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x1c2ba000 res 128x128x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R10i.x = 0; -PS0i = R10i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.w = tempi.x; -R10i.y = 0; -PS1i = R10i.y; -// 4 -R10i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS1i = R5i.w; -// 8 -R5i.x = PV1i.w << 0x00000002; -R5i.y = PV1i.w << 0x00000005; -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R11i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -PV0i.z = R7i.x << R0i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -PS0i = R9i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R4i.z = R5i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.x & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R4i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R5i.z << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = (R1i.w > R8i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R3i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.z; -PV0i.y = R4i.z + R8i.z; -R8i.z = backupReg0i + int(1); -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R5i.x << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.z].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.z << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R11i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R11i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R11i.z > R9i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.y; -backupReg0i = R9i.y; -R9i.y = backupReg0i + int(1); -PV0i.z = R4i.z + backupReg0i; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.y << R0i.x; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.y].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -// 1 -PV1i.x = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R1i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R10i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R10i.z))); -// 2 -R5i.y = ((PV1i.x == 0)?(0):(0)); -R4i.z = ((PV1i.x == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[1].y)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS10[1].y)); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -// 1 -predResult = (R4i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = backupReg0i; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R4i.w = 0x3f800000; -PV0i.w = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R5i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R4i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PS1i)); -R5i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.wy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R3i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R3i.w = floatBitsToInt(intBitsToFloat(R3i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R4i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R3i.w; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = floatBitsToInt(min(intBitsToFloat(R7i.y), intBitsToFloat(R3i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(-(intBitsToFloat(R9i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.x)) + -(intBitsToFloat(R9i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R3i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R9i.z)) + -(intBitsToFloat(R3i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R5i.y))) + uf_blockPS10[1].z)); -PS1i = R127i.y; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R4i.x = floatBitsToInt(cubeMapSTM.x); -R4i.y = floatBitsToInt(cubeMapSTM.y); -R4i.z = floatBitsToInt(cubeMapSTM.z); -R4i.w = cubeMapFaceId; -PV0i.x = R4i.x; -PV0i.y = R4i.y; -PV0i.z = R4i.z; -PV0i.w = R4i.w; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R1i.w; -// 3 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 4 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R0i.z; -backupReg3i = R0i.w; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(backupReg3i))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[5].x)); -PS0i = R3i.w; -// 5 -R0i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(R127i.y)); -R1i.y = 0; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -// 6 -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R127i.z))); -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R4i.yx),R4i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R1i.w))); -PV0i.z = clampFI32(PV0i.z); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R2i.y))); -PV0i.x = R0i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R2i.x))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -PS0i = R127i.w; -// 3 -R2i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R4i.y)); -R2i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R4i.x)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R2i.z))); -PV1i.w = R1i.w; -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R2i.z = floatBitsToInt(tempResultf); -PS1i = R2i.z; -// 4 -R2i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R4i.z)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(R2i.z))); -// 1 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 2 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.y))); -PV0i.z = R123i.z; -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[20].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[20].x)); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[2].x)); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[2].y)); -PV0i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].z)); -PV0i.z = R3i.z; -// 7 -R2i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R2i.w = R3i.w; -// 8 -R3i.xyz = ivec3(R1i.x,R1i.y,R1i.y); -R3i.w = R1i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -passPixelColor2 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -} diff --git a/Source/TokyoMirage/ce2ff6b2fd939478_0000000f0f249249_ps.txt b/Source/TokyoMirage/ce2ff6b2fd939478_0000000f0f249249_ps.txt deleted file mode 100644 index 2bfe8b67..00000000 --- a/Source/TokyoMirage/ce2ff6b2fd939478_0000000f0f249249_ps.txt +++ /dev/null @@ -1,1506 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader ce2ff6b2fd939478 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x34f50000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x10067000 res 1x1x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x34ef8000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x34ea0000 res 512x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R7i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R7i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R8i.y = R127i.z; -R127i.z = R2i.x; -R7i.w = R1i.y; -R127i.y = int(uint(intBitsToFloat(PV1i.z))); -PS0i = R127i.y; -// 3 -R5i.x = R127i.w; -R1i.y = R1i.z; -R126i.z = R2i.y; -R8i.w = R2i.z; -R8i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -PS1i = R8i.x; -// 4 -R11i.x = 0; -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -R7i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -R11i.y = 0; -PS0i = R11i.y; -// 5 -R0i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R12i.y = 0; -R11i.z = 0; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R126i.x = int(uint(R127i.y) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R125i.x))); -PS1i = R5i.z; -// 8 -R1i.x = PV1i.w << 0x00000002; -R10i.y = PV1i.w << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R9i.x = floatBitsToInt(tempResultf); -PS0i = R9i.x; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R9i.y; -backupReg1i = R4i.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R9i.x))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R9i.x))); -PV0i.z = backupReg1i << R2i.w; -R3i.w = R10i.y + 0x00000e10; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R9i.x))); -PS0i = R6i.z; -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.z) >> uint(backupReg0i)); -// 4 -R10i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R12i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R12i.y; -backupReg0i = R12i.y; -R5i.x = 0; -R12i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R1i.z << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.x) >> uint(R0i.x)); -// 2 -PV0i.w = PV1i.y & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R1i.x)),-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R1i.z)),-(intBitsToFloat(R5i.x))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -// 4 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.y << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R7i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R7i.z; -PV0i.y = R3i.w + R7i.z; -R7i.z = backupReg0i + int(1); -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R0i.x)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000005; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.z].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -R4i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R4i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R4i.z > R4i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.y; -backupReg0i = R4i.y; -R4i.y = backupReg0i + int(1); -PV0i.z = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R1i.y << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R0i.x)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R10i.z + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000003; -R1i.y = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.y].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R7i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.y; -// 1 -R127i.x = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.y = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.z = R127i.z; -R127i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.x = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS1i = R126i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R9i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R125i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.z)); -R126i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R124i.y = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS1i = R124i.y; -// 4 -R125i.x = ((R126i.y == 0)?(0):(0x3f800000)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.x))); -R124i.w = ((R127i.w == 0)?(0):(0x3f800000)); -R124i.x = ((R127i.x == 0)?(0):(0x3f800000)); -PS0i = R124i.x; -// 5 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R124i.y))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -R127i.z = floatBitsToInt(min(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R125i.y)) + 1.0); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); -PS1i = R127i.x; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.w) + 1.0)); -R125i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.x) + 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -R127i.x = clampFI32(R127i.x); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R6i.x)) + 1.0); -R5i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(backupReg0i)) + 1.0)); -PV1i.z = R5i.z; -R127i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -R127i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -PS1i = R127i.z; -// 8 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R8i.z))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.y))); -PV0i.y = R124i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R8i.x))); -PV0i.z = R126i.z; -R126i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -PV0i.w = R126i.w; -R125i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.y)); -PS0i = R125i.w; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.z))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R1i.z)); -R125i.y = floatBitsToInt(intBitsToFloat(R125i.y) * 2.0); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R1i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R1i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.x) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R127i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x))); -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(PS1i))); -PS0i = R2i.w; -// 11 -backupReg0i = R125i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R7i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R7i.y)); -R125i.y = floatBitsToInt(intBitsToFloat(R125i.y) * 2.0); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R7i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PS1i = R127i.z; -// 12 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R124i.y))); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R126i.z))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R8i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R126i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R8i.y))); -PS0i = R125i.z; -// 13 -backupReg0i = R127i.x; -backupReg1i = R127i.z; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R8i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV0i.w))); -tempResultf = log2(intBitsToFloat(backupReg2i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R1i.w)) + intBitsToFloat(R126i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R124i.z)) + intBitsToFloat(PV1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R2i.w)) + intBitsToFloat(R125i.z))); -PV0i.w = R123i.w; -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 16 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[0].x)); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[0].x)); -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS1i))); -PS0i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R11i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R11i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R11i.x))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R127i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = R125i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -// 6 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.x))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = R127i.z; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R3i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R10i.w = 0x3f800000; -PV0i.w = R10i.w; -R9i.w = floatBitsToInt(uf_blockPS4[2].x); -R9i.w = floatBitsToInt(intBitsToFloat(R9i.w) * 4.0); -PS0i = R9i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[2].w)); -R8i.x = floatBitsToInt(uf_blockPS8[23].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[23].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R7i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R9i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R7i.z)); -PS0i = R9i.x; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R9i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R6i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R9i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R0i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.y)); -// 6 -R4i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R0i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 3 -R6i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R8i.y; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R9i.y; -// 4 -R7i.x = floatBitsToInt(uf_blockPS8[24].x); -R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0); -R6i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[6].w)); -R7i.y = floatBitsToInt(uf_blockPS8[24].y); -R7i.y = floatBitsToInt(intBitsToFloat(R7i.y) / 2.0); -PS0i = R7i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R6i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R7i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R6i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R6i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R6i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R6i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R9i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R5i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R7i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R7i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R4i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R7i.z = floatBitsToInt(uf_blockPS4[2].x); -R7i.z = floatBitsToInt(intBitsToFloat(R7i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R6i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R7i.x = floatBitsToInt(uf_blockPS8[24].x); -R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0); -PS0i = R7i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R6i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R7i.y = floatBitsToInt(uf_blockPS8[24].y); -R7i.y = floatBitsToInt(intBitsToFloat(R7i.y) / 2.0); -PS1i = R7i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R6i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R7i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R6i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R6i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R6i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R0i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R6i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R5i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(R7i.y))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R7i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R7i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R4i.w))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -R1i.y = 0; -PS0i = R1i.y; -// 1 -R1i.z = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].y)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].x)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[10].z)); -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.x))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.y))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 3 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), uf_blockPS10[2].x)); -PV0i.x = R2i.x; -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[2].y)); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), uf_blockPS10[2].z)); -PV0i.z = R2i.z; -// 1 -backupReg0i = R2i.w; -R2i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R2i.w = backupReg0i; -// 2 -R3i.xyz = ivec3(R1i.x,R1i.y,R1i.y); -R3i.w = R1i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -passPixelColor2 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -} diff --git a/Source/TokyoMirage/d35885ced93e745a_0000000007879249_ps.txt b/Source/TokyoMirage/d35885ced93e745a_0000000007879249_ps.txt deleted file mode 100644 index eb24f004..00000000 --- a/Source/TokyoMirage/d35885ced93e745a_0000000007879249_ps.txt +++ /dev/null @@ -1,1279 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader d35885ced93e745a -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3cc3a000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R3i.z = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R4i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -PS0i = R4i.w; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R7i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 2 -R9i.xyz = ivec3(0,0,0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(PS1i))); -R1i.w = 0; -PS0i = R1i.w; -// 3 -PS1i = int(uint(intBitsToFloat(R127i.z))); -// 4 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 6 -PV0i.w = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R6i.x = floatBitsToInt(tempResultf); -PS0i = R6i.x; -// 7 -R5i.x = PV0i.w << 0x00000002; -R5i.y = PV0i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R3i.x = R5i.y + 0x00000e10; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.x))); -PV0i.z = R7i.x << R3i.z; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.x))); -PS0i = R4i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R2i.w = (R3i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R2i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.x + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R5i.z << R3i.z; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R4i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.y << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R3i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R3i.y > R8i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg0i = R8i.x; -R8i.x = backupReg0i + int(1); -PV0i.y = R3i.x + backupReg0i; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.x << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.x].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.z << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -R10i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R10i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R10i.z > R3i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.y; -backupReg0i = R3i.y; -R3i.y = backupReg0i + int(1); -PV0i.z = R3i.x + backupReg0i; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.y << R3i.z; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R7i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.y].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.x; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -// 1 -PV1i.x = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R1i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R9i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R9i.z))); -// 2 -R0i.y = ((PV1i.x == 0)?(0):(0)); -R4i.z = ((PV1i.x == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[1].y)); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS10[1].y)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -// 1 -predResult = (R4i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(R1i.x), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R7i.w = 0x3f800000; -PV0i.w = R7i.w; -R2i.w = floatBitsToInt(uf_blockPS4[2].x); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 4.0); -PS0i = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 4 -R6i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS8[2].w)); -R7i.x = floatBitsToInt(uf_blockPS8[23].x); -R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0); -PS0i = R7i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R6i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R10i.y = floatBitsToInt(uf_blockPS8[23].y); -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS1i = R10i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R6i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.w)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R4i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R11i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R6i.x; -R5i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R5i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R6i.y))); -R6i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(backupReg0i)); -PS1i = R6i.x; -// 2 -backupReg0i = R6i.y; -R6i.y = floatBitsToInt(intBitsToFloat(R11i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R5i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R6i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R4i.z; -R3i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt(-(intBitsToFloat(R0i.y)) + intBitsToFloat(backupReg2i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R11i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R0i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R0i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R5i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R3i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R10i.y; -R5i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R5i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R7i.x)) + vec3(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[4] == true ) { -R6i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R11i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R11i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R11i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -backupReg0i = R3i.w; -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w)); -PS0i = R3i.w; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.w) + intBitsToFloat(PV0i.y)); -// 6 -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R5i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R5i.y; -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R7i.x = floatBitsToInt(uf_blockPS8[24].x); -R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0); -PS1i = R7i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS8[6].w)); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R11i.y = floatBitsToInt(uf_blockPS8[24].y); -R11i.y = floatBitsToInt(intBitsToFloat(R11i.y) / 2.0); -PS0i = R11i.y; -} -if( activeMaskStackC[4] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R11i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[5] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R5i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -R3i.y = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R2i.z)); -PS0i = R3i.y; -} -if( activeMaskStackC[4] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R5i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R3i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R3i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R11i.y))); -PV0i.y = R6i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R11i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R7i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[5] == true ) { -R10i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R3i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R3i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R0i.y)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R3i.x = floatBitsToInt(uf_blockPS8[24].x); -R3i.x = floatBitsToInt(intBitsToFloat(R3i.x) / 2.0); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R7i.w = floatBitsToInt(uf_blockPS4[2].x); -R7i.w = floatBitsToInt(intBitsToFloat(R7i.w) * 4.0); -PS0i = R7i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -backupReg0i = R4i.w; -R5i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R3i.y; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -// 5 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R5i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -} -if( activeMaskStackC[3] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R5i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R3i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -R3i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.z)); -PS0i = R3i.y; -} -if( activeMaskStackC[3] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R10i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R3i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R3i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R7i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R3i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R3i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R3i.y))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.y; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(R9i.y), intBitsToFloat(backupReg0i))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), uf_blockPS3[20].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R4i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS3[20].z)); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -PS1i = R2i.x; -// 4 -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.z))); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,PV0i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.y,R3i.y); -R1i.w = R3i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/dd2a47af8d2caf76_00000001e1e49249_ps.txt b/Source/TokyoMirage/dd2a47af8d2caf76_00000001e1e49249_ps.txt deleted file mode 100644 index 5f4a2f81..00000000 --- a/Source/TokyoMirage/dd2a47af8d2caf76_00000001e1e49249_ps.txt +++ /dev/null @@ -1,1629 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader dd2a47af8d2caf76 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x39276000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x3932e000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x39322000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R5i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R10i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R10i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R3i.x = 0; -PS0i = R3i.x; -// 3 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -R3i.y = 0; -PS1i = R3i.y; -// 4 -R9i.x = 0; -R9i.y = 0; -R3i.z = 0; -R1i.w = 0; -R9i.z = 0; -PS0i = R9i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS0i = R5i.w; -// 9 -R5i.x = PV0i.z << 0x00000002; -R5i.y = PV0i.z << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R7i.x << R10i.x; -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R10i.z = R5i.y + 0x00000e10; -PS0i = R10i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PS1i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.w & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R10i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R5i.z << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R5i.y = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), -(intBitsToFloat(R6i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.x)) + intBitsToFloat(R6i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R6i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R6i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),-(intBitsToFloat(R6i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R6i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),-(intBitsToFloat(R6i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 7 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -backupReg3i = R9i.x; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg2i))); -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R9i.x; -// 8 -backupReg0i = R9i.y; -backupReg1i = R9i.z; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.y << R10i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R8i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R8i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = (R8i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.w = R10i.z + R1i.w; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.x << R10i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.z].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.w; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.y; -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PS0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.x; -// 12 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -backupReg3i = R9i.x; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg2i))); -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R9i.x; -// 13 -backupReg0i = R9i.y; -backupReg1i = R9i.z; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.z << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R12i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = (R1i.w > R12i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R12i.z; -PV0i.z = R10i.z + R12i.z; -R12i.z = backupReg0i + int(1); -PS0i = R12i.z; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R5i.y << R10i.x; -// 1 -PV1i.y = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.z = R4i.w + PV0i.x; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + int(1); -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.x].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R125i.z))); -R125i.w = clampFI32(R125i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -// 10 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.x))); -PV1i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R10i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.w; -// 1 -R127i.x = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.z = R127i.z; -R126i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R125i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R125i.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R126i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.z = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.z)); -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R124i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -PS1i = R124i.w; -// 4 -R126i.x = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R4i.y = ((R127i.y == 0)?(0):(0x3f800000)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R4i.z = ((R126i.w == 0)?(0):(0x3f800000)); -PS0i = R4i.z; -// 5 -R124i.x = ((R127i.x == 0)?(0):(0x3f800000)); -PV1i.x = R124i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R125i.w)) + 1.0); -R127i.z = floatBitsToInt(-(intBitsToFloat(R126i.y)) + 1.0); -R125i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + 1.0); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R124i.w))); -PS1i = R6i.y; -// 6 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.y) + 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.w))); -R126i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.z) + 1.0)); -R127i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 7 -backupReg0i = R127i.y; -backupReg0i = R127i.y; -backupReg1i = R125i.w; -R4i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PS0i)) + 1.0)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R125i.x))); -R125i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R126i.y))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -// 8 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PS1i))); -R125i.x = clampFI32(R125i.x); -R126i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -R125i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -R124i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -// 9 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PS0i))); -R126i.x = clampFI32(R126i.x); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R8i.y))); -PV1i.y = R125i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.x))); -PV1i.z = R124i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R8i.z))); -R124i.y = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.y)); -PS1i = R124i.y; -// 10 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R127i.y = floatBitsToInt(intBitsToFloat(R124i.w) + intBitsToFloat(R5i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R5i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(R5i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PS0i = R127i.z; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R126i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R125i.w))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R125i.x))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R126i.x) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(R127i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg1i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R5i.y; -// 13 -backupReg0i = R125i.z; -PV1i.x = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(R10i.x)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(R124i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R125i.z = floatBitsToInt(intBitsToFloat(R124i.w) + intBitsToFloat(R10i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -R124i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R10i.y)); -R124i.w = floatBitsToInt(intBitsToFloat(R124i.w) * 2.0); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(R125i.y))); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -PS1i = R127i.x; -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R8i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R8i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R8i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R125i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.y))); -PS0i = R124i.z; -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 16 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R124i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(PS1i))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R127i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -backupReg0i = R5i.y; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[0].x)); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS0i))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[0].x)); -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 18 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 19 -R4i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS0i))); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -// 20 -R0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R3i.z))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R3i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R3i.x))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = R127i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.z = R124i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.y))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.x))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R127i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -// 4 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R6i.z = floatBitsToInt(uf_blockPS4[2].x); -R6i.z = floatBitsToInt(intBitsToFloat(R6i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[2].w)); -R8i.x = floatBitsToInt(uf_blockPS8[23].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R8i.y = floatBitsToInt(uf_blockPS8[23].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS1i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R11i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R4i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R7i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R7i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.w))?1.0:0.0); -R10i.y = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R3i.z)); -PS0i = R10i.y; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R11i.x) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R11i.w) >= intBitsToFloat(R10i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R11i.y) >= intBitsToFloat(R10i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R11i.z) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R7i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R8i.y; -R4i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R10i.y))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R10i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R10i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R10i.z; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV0i.w)); -// 6 -R4i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R10i.z) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R3i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -PV1i.y = R8i.y; -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R10i.y; -// 4 -R0i.x = floatBitsToInt(uf_blockPS8[24].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R4i.y = floatBitsToInt(uf_blockPS8[24].y); -R4i.y = floatBitsToInt(intBitsToFloat(R4i.y) / 2.0); -PS0i = R4i.y; -} -if( activeMaskStackC[3] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R4i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R7i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.w))?1.0:0.0); -R7i.x = floatBitsToInt(-(intBitsToFloat(R10i.y)) + intBitsToFloat(R2i.z)); -PS0i = R7i.x; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R7i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R4i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R7i.x))?1.0:0.0); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R4i.x)))); -PV0i.y = R123i.y; -// 7 -backupReg0i = R4i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R0i.x = floatBitsToInt(uf_blockPS8[24].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -PS0i = R0i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R8i.y = floatBitsToInt(uf_blockPS8[24].y); -R8i.y = floatBitsToInt(intBitsToFloat(R8i.y) / 2.0); -PS1i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.w)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R2i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R8i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(R3i.x)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R7i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.z; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R10i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R8i.x)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.w))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R11i.x) + intBitsToFloat(R11i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R11i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R8i.y))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R8i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R11i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R11i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R11i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R11i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R11i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R11i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.y)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.x))); -// 6 -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 8 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R4i.x))) + uf_blockPS10[1].z)); -PV0i.x = R123i.x; -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(R0i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS3[21].x)); -R4i.y = 0; -PS0i = R4i.y; -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(PV0i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(PV0i.w))); -PV1i.w = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.w))); -PS1i = R127i.x; -// 2 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + uf_blockPS3[19].w)); -PV0i.z = R123i.z; -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -// 3 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.z))); -// 4 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[10].z)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[10].y)); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[10].x)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.z = R123i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(R1i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.y))); -PV1i.z = R123i.z; -// 2 -backupReg0i = R1i.y; -backupReg1i = R0i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.z; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), uf_blockPS3[20].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS3[20].x)); -// 1 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].x)); -PV1i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[2].y)); -PV1i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[2].z)); -PV1i.z = R3i.z; -// 2 -R0i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -R0i.w = R3i.w; -// 3 -R1i.xyz = ivec3(R4i.x,R4i.y,R4i.y); -R1i.w = R4i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/df01ee93f5e32259_000003c3c9249249_ps.txt b/Source/TokyoMirage/df01ee93f5e32259_000003c3c9249249_ps.txt deleted file mode 100644 index b406144a..00000000 --- a/Source/TokyoMirage/df01ee93f5e32259_000003c3c9249249_ps.txt +++ /dev/null @@ -1,1703 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader df01ee93f5e32259 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3658c000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x36638000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x36484000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3632c000 res 1024x1024x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x36664000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0x2aa61000 res 1024x1024x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R7i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -R11i.xyzw = floatBitsToInt(texture(textureUnitPS7, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R7i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R8i.y = R127i.y; -R127i.z = R2i.x; -R7i.w = R1i.y; -R126i.w = int(uint(intBitsToFloat(PV1i.y))); -PS0i = R126i.w; -// 3 -R5i.x = R127i.w; -R1i.y = R1i.z; -R126i.z = R2i.y; -R8i.w = R2i.z; -R9i.w = floatBitsToInt((intBitsToFloat(R11i.x) * 2.0 + -(1.0))); -PS1i = R9i.w; -// 4 -R8i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -R7i.z = floatBitsToInt((intBitsToFloat(R11i.y) * 2.0 + -(1.0))); -R10i.w = floatBitsToInt((intBitsToFloat(R11i.z) * 2.0 + -(1.0))); -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PS0i = R8i.z; -// 5 -R9i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R12i.y = 0; -R12i.z = 0; -R6i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R12i.x = 0; -PS1i = R12i.x; -// 6 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R8i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R11i.x = 0; -PS0i = R11i.x; -// 7 -R11i.y = 0; -R11i.z = 0; -R2i.w = 0; -R126i.x = int(uint(R126i.w) * uint(0x00000050)); -PS1i = R126i.x; -// 8 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 9 -PV1i.z = R126i.x + PS0i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R125i.x))); -PS1i = R5i.z; -// 10 -R1i.x = PV1i.z << 0x00000002; -R10i.y = PV1i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R124i.x)); -R12i.w = floatBitsToInt(tempResultf); -PS0i = R12i.w; -} -if( activeMaskStackC[1] == true ) { -R13i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),uf_blockPS3[18].z) + intBitsToFloat(R127i.z))); -PV0i.x = R124i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),uf_blockPS3[18].z) + intBitsToFloat(PS1i))); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),uf_blockPS3[18].z) + intBitsToFloat(PV1i.x))); -PV0i.z = R127i.z; -PV0i.w = R13i.x << R9i.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), uf_blockPS3[18].w)); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R126i.w = int(uint(PV0i.w) >> uint(R6i.w)); -PS1i = R126i.w; -// 4 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R12i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R12i.w))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R12i.w))); -R3i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R9i.z = R10i.y + 0x00000e10; -PS0i = R9i.z; -// 5 -R7i.y = R126i.w & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -PS1i = floatBitsToInt(tempResultf); -// 6 -R13i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.y = (R7i.y > R2i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R2i.w; -PV0i.z = R9i.z + R2i.w; -R5i.w = 0; -R2i.w = backupReg0i + int(1); -PS0i = R2i.w; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R1i.z << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R6i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.y = PS1i + 0x00000004; -R1i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), -(intBitsToFloat(R5i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R13i.x)) + intBitsToFloat(R5i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.y)) + intBitsToFloat(R5i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),-(intBitsToFloat(R5i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),-(intBitsToFloat(R5i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.x),-(intBitsToFloat(R5i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R11i.x; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R11i.x; -// 8 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R13i.y << R9i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R6i.w)); -// 2 -R8i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R8i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R2i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.y = (R8i.x > R2i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -PV0i.w = R9i.z + R2i.w; -R2i.w = backupReg0i + int(1); -PS0i = R2i.w; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R1i.x << R9i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R6i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000005; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.z].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.w; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R13i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.y; -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R4i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PS0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.x; -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R11i.x; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R11i.x; -// 13 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R13i.z << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R6i.w)); -// 2 -R2i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R2i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R2i.w > R10i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.z; -PV0i.z = R9i.z + R10i.z; -R10i.z = backupReg0i + int(1); -PS0i = R10i.z; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.y << R9i.x; -// 1 -PV1i.y = int(uint(PV0i.w) >> uint(R6i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.z = R3i.w + PV0i.x; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + int(1); -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R125i.z))); -R125i.w = clampFI32(R125i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R13i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R4i.y),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -// 10 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.y))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R9i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -R10i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.y; -// 1 -R127i.x = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.y = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.z = R127i.z; -R127i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R125i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R125i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.z)); -// 3 -R126i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R124i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.z = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.z)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS1i = R125i.y; -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.w; -R124i.x = ((R126i.y == 0)?(0):(0x3f800000)); -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); -R127i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R5i.z = ((backupReg1i == 0)?(0):(0x3f800000)); -PS0i = R5i.z; -// 5 -backupReg0i = R125i.y; -R6i.x = ((R127i.x == 0)?(0):(0x3f800000)); -PV1i.x = R6i.x; -R125i.y = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -R127i.z = floatBitsToInt(-(intBitsToFloat(R124i.y)) + 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(R125i.x)) + 1.0); -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(backupReg0i))); -PS1i = R5i.x; -// 6 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(min(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.x) + 1.0)); -R126i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R5i.z) + 1.0)); -R127i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.x) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 7 -backupReg0i = R125i.y; -backupReg0i = R125i.y; -backupReg1i = R126i.w; -R7i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(PS0i)) + 1.0)); -R125i.y = floatBitsToInt(-(intBitsToFloat(R5i.x)) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R125i.x))); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R124i.y))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -// 8 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PS1i))); -R125i.x = clampFI32(R125i.x); -R124i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -R125i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -// 9 -backupReg0i = R125i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PS0i))); -R127i.x = clampFI32(R127i.x); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R8i.y))); -PV1i.y = R125i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R8i.x))); -PV1i.z = R124i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R8i.z))); -R124i.w = floatBitsToInt(-(intBitsToFloat(R7i.x)) + intBitsToFloat(backupReg0i)); -PS1i = R124i.w; -// 10 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.z))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -R127i.y = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R1i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R1i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R1i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PS0i = R127i.z; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R127i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.w))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R125i.x))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.x) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(R126i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg1i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R126i.y; -// 13 -backupReg0i = R125i.z; -PV1i.x = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R9i.x)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R124i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R9i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R9i.y)); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R125i.y))); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PS1i = R126i.x; -// 14 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R8i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R8i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R8i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R126i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.y))); -PS0i = R124i.z; -// 15 -backupReg0i = R126i.x; -backupReg1i = R127i.z; -backupReg2i = R127i.w; -backupReg3i = R127i.y; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(backupReg2i)) + intBitsToFloat(PV0i.z))); -tempResultf = log2(intBitsToFloat(backupReg3i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 16 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(R124i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -tempResultf = log2(intBitsToFloat(R126i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.z))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -// 18 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[0].x)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[0].x)); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[0].x)); -R3i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 19 -R0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R12i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R12i.y))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R12i.x))); -PV0i.w = R123i.w; -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -// 2 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PV1i.z))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PV1i.w))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PV1i.y))); -PV0i.z = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 4 -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(0x2edbe6ff))); -// 5 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -// 7 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.y))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.x))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R127i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -// 4 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.z = floatBitsToInt(uf_blockPS4[2].x); -R7i.z = floatBitsToInt(intBitsToFloat(R7i.z) * 4.0); -R7i.w = 0x3f800000; -PV0i.w = R7i.w; -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS8[2].w)); -R7i.x = floatBitsToInt(uf_blockPS8[23].x); -R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0); -PS0i = R7i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R4i.y = floatBitsToInt(uf_blockPS8[23].y); -R4i.y = floatBitsToInt(intBitsToFloat(R4i.y) / 2.0); -PS1i = R4i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R9i.y = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R4i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R9i.y = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R5i.z)); -PS0i = R9i.y; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R9i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R9i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R4i.y; -backupReg0i = R4i.y; -R2i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R7i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R9i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R9i.y))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R9i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R8i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R8i.z; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -// 6 -R7i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R8i.z) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R2i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R7i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R9i.x; -// 3 -R8i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.z))); -PV1i.y = R9i.y; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R12i.y; -// 4 -R0i.x = floatBitsToInt(uf_blockPS8[24].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -R8i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS8[6].w)); -R4i.y = floatBitsToInt(uf_blockPS8[24].y); -R4i.y = floatBitsToInt(intBitsToFloat(R4i.y) / 2.0); -PS0i = R4i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R8i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R8i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.w)); -// 3 -backupReg0i = R2i.z; -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R8i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R4i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R8i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(R8i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R8i.y)); -} -if( activeMaskStackC[4] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.w))?1.0:0.0); -R6i.x = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(R2i.z)); -PS0i = R6i.x; -} -if( activeMaskStackC[3] == true ) { -R12i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R12i.x) + intBitsToFloat(R12i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R6i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R12i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R4i.y; -backupReg0i = R4i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R12i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R12i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R12i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R6i.x))?1.0:0.0); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.z))?1.0:0.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R6i.x))?1.0:0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R7i.x)))); -PV0i.y = R123i.y; -// 7 -backupReg0i = R7i.x; -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R7i.w = floatBitsToInt(uf_blockPS4[2].x); -R7i.w = floatBitsToInt(intBitsToFloat(R7i.w) * 4.0); -PS0i = R7i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R6i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R7i.x = floatBitsToInt(uf_blockPS8[24].x); -R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) / 2.0); -PS0i = R7i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R6i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R4i.y = floatBitsToInt(uf_blockPS8[24].y); -R4i.y = floatBitsToInt(intBitsToFloat(R4i.y) / 2.0); -PS1i = R4i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R6i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = R4i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R6i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R6i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R6i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R7i.z = floatBitsToInt(-(intBitsToFloat(R0i.x)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R7i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R7i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R7i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R4i.y; -backupReg0i = R4i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R7i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R7i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R7i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.y)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.x))); -// 6 -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 8 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R10i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R10i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R7i.x))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS3[21].x)); -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PS0i))); -R1i.z = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R126i.x; -// 2 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R4i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R7i.x)) + uf_blockPS3[19].w)); -PV0i.z = R123i.z; -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(R0i.y))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -PS0i = R3i.w; -// 3 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.z))); -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[10].z)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[10].y)); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[10].x)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -backupReg0i = R1i.y; -backupReg1i = R0i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 3 -backupReg0i = R1i.x; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 4 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.z; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), uf_blockPS3[20].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS3[20].x)); -// 1 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].x)); -PV1i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[2].y)); -PV1i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[2].z)); -PV1i.z = R3i.z; -// 2 -R0i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z); -R0i.w = R3i.w; -// 3 -R1i.xyz = ivec3(R4i.x,R4i.y,R4i.y); -R1i.w = R4i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/dfd09ecca1f42f08_000001e1e1e49249_ps.txt b/Source/TokyoMirage/dfd09ecca1f42f08_000001e1e1e49249_ps.txt deleted file mode 100644 index 061d6705..00000000 --- a/Source/TokyoMirage/dfd09ecca1f42f08_000001e1e1e49249_ps.txt +++ /dev/null @@ -1,1401 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader dfd09ecca1f42f08 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x34b86000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x10067000 res 1x1x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x34ad6000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R4i.z = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R4i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -PS0i = R4i.w; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R7i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 2 -R3i.xyz = ivec3(0,0,0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(PS1i))); -R1i.w = 0; -PS0i = R1i.w; -// 3 -PS1i = int(uint(intBitsToFloat(R127i.z))); -// 4 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 6 -PV0i.w = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R6i.x = floatBitsToInt(tempResultf); -PS0i = R6i.x; -// 7 -R5i.x = PV0i.w << 0x00000002; -R5i.y = PV0i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R9i.x = R5i.y + 0x00000e10; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.x))); -PV0i.z = R7i.x << R4i.z; -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.x))); -PS0i = R9i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R8i.y = PV1i.x & 0x0000ffff; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R2i.w = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R2i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R9i.x + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R5i.z << R4i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R4i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 4 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.y << R4i.z; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R8i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R8i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = (R8i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R9i.x + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R5i.x << R4i.z; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R4i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.x = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.z = PS0i + int(1); -R5i.w = PS0i + 0x00000005; -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.w].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 7 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.z << R4i.z; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = (R1i.w > R10i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.z; -backupReg0i = R10i.z; -R10i.z = backupReg0i + int(1); -PV0i.w = R9i.x + backupReg0i; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.y << R4i.z; -// 1 -PV1i.w = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R7i.w + PV0i.y; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.y].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R127i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -PV1i.y = clampFI32(PV1i.y); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R9i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R4i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.y; -// 1 -PV1i.x = ((intBitsToFloat(R9i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -R127i.w = ((intBitsToFloat(R9i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -PS1i = R126i.y; -// 2 -PV0i.x = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.z)); -R125i.y = ((PV1i.x == 0)?(0):(0x3f800000)); -PV0i.y = R125i.y; -PV0i.z = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(PV1i.z)); -R126i.w = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -PV0i.w = R126i.w; -R4i.w = ((PV1i.y == 0)?(0):(0x3f800000)); -PS0i = R4i.w; -// 3 -R125i.x = ((R127i.w == 0)?(0):(0x3f800000)); -PV1i.x = R125i.x; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -R127i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.y) + 1.0)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 4 -backupReg0i = R127i.y; -PV0i.x = floatBitsToInt(min(intBitsToFloat(R126i.w), intBitsToFloat(PV1i.y))); -R127i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.w) + 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); -R126i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.x) + 1.0)); -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R9i.x)); -PS0i = R125i.w; -// 5 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R126i.y))); -PV1i.x = R6i.x; -R126i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R9i.y)); -PV1i.y = R126i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.w)) + 1.0)); -R124i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R9i.z)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R9i.x))); -PS1i = R1i.w; -// 6 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R9i.z))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R9i.y))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R5i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R5i.y)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -PS0i = R127i.w; -// 7 -R126i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R1i.w))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(intBitsToFloat(R124i.w) + intBitsToFloat(R5i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.z))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 8 -backupReg0i = R127i.z; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(R4i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(PS1i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R127i.x))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R4i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R1i.w))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(R124i.w) + intBitsToFloat(R4i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R9i.y))); -PS1i = R125i.w; -// 10 -backupReg0i = R126i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R9i.x))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R9i.z))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.z))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x))); -PS0i = R125i.y; -// 11 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(R125i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), uf_blockPS3[8].x)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), uf_blockPS3[8].y)); -PS1i = R127i.w; -// 12 -backupReg0i = R126i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), uf_blockPS3[8].z)); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), uf_blockPS3[8].w)); -// 13 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), uf_blockPS10[5].x)); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), uf_blockPS10[5].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[5].x)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), uf_blockPS10[5].x)); -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -PS1i = R4i.w; -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[2].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[2].z)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[2].y)); -// 15 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.x))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), uf_blockPS10[0].x)); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), uf_blockPS10[0].x)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.w))); -PS1i = R0i.y; -// 16 -R4i.y = floatBitsToInt(uf_blockPS10[1].y); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R127i.y))); -R5i.w = 0; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R3i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R3i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R3i.z))); -PV0i.w = R123i.w; -// 1 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R4i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R4i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R4i.y))); -PV1i.z = R127i.z; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), -(uf_blockPS8[12].z))); -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PS1i),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3de978d5)); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R127i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PS1i = R126i.z; -// 4 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(0x2edbe6ff))); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); -R6i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 7 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PV0i.z))); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.y))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -// 8 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R10i.w = 0x3f800000; -PV0i.w = R10i.w; -R2i.w = floatBitsToInt(uf_blockPS4[2].x); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 4.0); -PS0i = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R8i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[2].w)); -R9i.x = floatBitsToInt(uf_blockPS8[23].x); -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS0i = R9i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R9i.y = floatBitsToInt(uf_blockPS8[23].y); -R9i.y = floatBitsToInt(intBitsToFloat(R9i.y) / 2.0); -PS1i = R9i.y; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.w)); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R8i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R9i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R4i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R4i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R4i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R8i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.w))?1.0:0.0); -R5i.x = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(R8i.z)); -PS0i = R5i.x; -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.w) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R9i.y; -R4i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R8i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R5i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R9i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R8i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R9i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R10i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R5i.y; -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R8i.y; -// 4 -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), uf_blockPS8[6].w)); -R10i.y = floatBitsToInt(uf_blockPS8[24].y); -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS0i = R10i.y; -} -if( activeMaskStackC[3] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R7i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R5i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -R6i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(R2i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.w))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R8i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R6i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R6i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R2i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R10i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R6i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R6i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R8i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R8i.w; -R8i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R9i.z = floatBitsToInt(uf_blockPS4[2].x); -R9i.z = floatBitsToInt(intBitsToFloat(R9i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -PS0i = R5i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS1i = R5i.y; -} -if( activeMaskStackC[2] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R3i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R3i.x)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(R2i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R7i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R4i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R8i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.z = 0; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R8i.w))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -// 1 -R0i.z = floatBitsToInt(intBitsToFloat(R8i.w) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -backupReg0i = R0i.z; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z))); -PS1i = R2i.y; -// 4 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.y))); -// 5 -R6i.xyz = ivec3(R0i.x,R0i.y,R5i.z); -R6i.w = R5i.w; -// 6 -R4i.xyz = ivec3(R2i.x,R2i.y,R2i.z); -R4i.w = R2i.w; -// 7 -R5i.xyz = ivec3(R3i.x,R3i.z,R3i.z); -R5i.w = R3i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -passPixelColor2 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -passPixelColor4 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -} diff --git a/Source/TokyoMirage/e0702e915651fa43_000000003c3c9649_ps.txt b/Source/TokyoMirage/e0702e915651fa43_000000003c3c9649_ps.txt deleted file mode 100644 index b5941057..00000000 --- a/Source/TokyoMirage/e0702e915651fa43_000000003c3c9649_ps.txt +++ /dev/null @@ -1,1034 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader e0702e915651fa43 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1c5d7000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x1bb7e000 res 128x128x1 dim 1 tm: 4 format 0035 compSel: 0 0 0 1 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x1c2ba000 res 128x128x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a2000 res 4096x4096x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R7i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R7i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R11i.x = 0; -PS0i = R11i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.w = tempi.x; -R11i.y = 0; -PS1i = R11i.y; -// 4 -R11i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R6i.w = floatBitsToInt(tempResultf); -PS1i = R6i.w; -// 8 -R6i.x = PV1i.w << 0x00000002; -R6i.y = PV1i.w << 0x00000005; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R12i.x; -} -if( activeMaskStackC[1] == true ) { -R8i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.w))); -PV0i.z = R8i.x << R0i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.w))); -PS0i = R10i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R4i.z = R6i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R7i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PS1i))); -R9i.y = PV1i.x & 0x0000ffff; -PS0i = R9i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R6i.y = (R9i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R4i.z + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R6i.z << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),intBitsToFloat(R10i.z)),vec4(-(intBitsToFloat(R7i.x)),-(intBitsToFloat(R7i.y)),-(intBitsToFloat(R7i.z)),-(intBitsToFloat(R7i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = (R1i.w > R9i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R3i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.z; -PV0i.y = R4i.z + R9i.z; -R9i.z = backupReg0i + int(1); -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.x << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000004; -R6i.z = PS0i + 0x00000005; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xy = floatBitsToInt(uf_blockPS11[R6i.z].xy); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.z << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R12i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R12i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R12i.z > R10i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R10i.y; -backupReg0i = R10i.y; -R10i.y = backupReg0i + int(1); -PV0i.z = R4i.z + backupReg0i; -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.y << R0i.x; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.y].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R11i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R11i.z))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R11i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.xyz = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].y),-(uf_blockPS2[1].z)) + vec3(1.0,1.0,1.0)); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -R9i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -PS0i = R9i.z; -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.y = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).w); -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(R10i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.x; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R12i.x)) + -(intBitsToFloat(R10i.x)))); -R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R3i.y)))); -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R3i.z)))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R1i.z))) + uf_blockPS10[1].z)); -PS1i = R127i.y; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R125i.y; -// 3 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.y = 0; -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R1i.w = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R127i.y)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -PS1i = R2i.w; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(R127i.x))); -// 6 -redcCUBE(vec4(intBitsToFloat(R126i.z),intBitsToFloat(R126i.z),intBitsToFloat(R126i.x),intBitsToFloat(R126i.y)),vec4(intBitsToFloat(R126i.y),intBitsToFloat(R126i.x),intBitsToFloat(R126i.z),intBitsToFloat(R126i.z)),cubeMapSTM,cubeMapFaceId); -R0i.x = floatBitsToInt(cubeMapSTM.x); -R0i.y = floatBitsToInt(cubeMapSTM.y); -R0i.z = floatBitsToInt(cubeMapSTM.z); -R0i.w = cubeMapFaceId; -PV0i.x = R0i.x; -PV0i.y = R0i.y; -PV0i.z = R0i.z; -PV0i.w = R0i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.y))); -PS0i = clampFI32(PS0i); -// 7 -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PS0i) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i))); -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 8 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.z))); -} -if( activeMaskStackC[1] == true ) { -R0i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R0i.yx),R0i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV0i.y = R123i.y; -tempResultf = log2(intBitsToFloat(R1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS0i))); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.z))); -PV0i.y = R125i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.z = R123i.z; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -// 3 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R0i.z)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.z))); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R4i.y))); -PV0i.z = R126i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R4i.x))); -PV0i.w = R127i.w; -// 5 -R126i.x = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.y)); -R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.x)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(PV0i.x))); -// 6 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(R125i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(R126i.z))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R127i.w))); -PV1i.z = R123i.z; -// 8 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[20].z)); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[2].x)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), uf_blockPS10[2].y)); -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), uf_blockPS10[2].z)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -// 3 -R0i.xyz = ivec3(R2i.x,R2i.y,R2i.z); -R0i.w = R2i.w; -// 4 -R1i.xyz = ivec3(R3i.x,R3i.y,R3i.y); -R1i.w = R3i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/e0a01790582276ee_000003c3c9249249_ps.txt b/Source/TokyoMirage/e0a01790582276ee_000003c3c9249249_ps.txt deleted file mode 100644 index 43295cd2..00000000 --- a/Source/TokyoMirage/e0a01790582276ee_000003c3c9249249_ps.txt +++ /dev/null @@ -1,1750 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader e0a01790582276ee -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3658c000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x36638000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x36484000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3632c000 res 1024x1024x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x36664000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0x2aa61000 res 1024x1024x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R7i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -R11i.xyzw = floatBitsToInt(texture(textureUnitPS7, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R7i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R8i.y = R127i.y; -R127i.z = R2i.x; -R7i.w = R1i.y; -R126i.w = int(uint(intBitsToFloat(PV1i.y))); -PS0i = R126i.w; -// 3 -R5i.x = R127i.w; -R1i.y = R1i.z; -R126i.z = R2i.y; -R8i.w = R2i.z; -R9i.w = floatBitsToInt((intBitsToFloat(R11i.x) * 2.0 + -(1.0))); -PS1i = R9i.w; -// 4 -R8i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -R7i.z = floatBitsToInt((intBitsToFloat(R11i.y) * 2.0 + -(1.0))); -R10i.w = floatBitsToInt((intBitsToFloat(R11i.z) * 2.0 + -(1.0))); -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PS0i = R8i.z; -// 5 -R9i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R4i.y = 0; -R4i.z = 0; -R6i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R4i.x = 0; -PS1i = R4i.x; -// 6 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y),intBitsToFloat(R8i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R11i.x = 0; -PS0i = R11i.x; -// 7 -R11i.y = 0; -R11i.z = 0; -R2i.w = 0; -R126i.x = int(uint(R126i.w) * uint(0x00000050)); -PS1i = R126i.x; -// 8 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 9 -PV1i.z = R126i.x + PS0i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R125i.x))); -PS1i = R5i.z; -// 10 -R1i.x = PV1i.z << 0x00000002; -R10i.y = PV1i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R124i.x)); -R12i.w = floatBitsToInt(tempResultf); -PS0i = R12i.w; -} -if( activeMaskStackC[1] == true ) { -R12i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),uf_blockPS3[18].z) + intBitsToFloat(R127i.z))); -PV0i.x = R124i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),uf_blockPS3[18].z) + intBitsToFloat(PS1i))); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),uf_blockPS3[18].z) + intBitsToFloat(PV1i.x))); -PV0i.z = R127i.z; -PV0i.w = R12i.x << R9i.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), uf_blockPS3[18].w)); -PS0i = R10i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R126i.w = int(uint(PV0i.w) >> uint(R6i.w)); -PS1i = R126i.w; -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R12i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R12i.w))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R12i.w))); -R3i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R9i.z = R10i.y + 0x00000e10; -PS0i = R9i.z; -// 5 -R7i.y = R126i.w & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -PS1i = floatBitsToInt(tempResultf); -// 6 -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.y = (R7i.y > R2i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R2i.w; -PV0i.z = R9i.z + R2i.w; -R5i.w = 0; -R2i.w = backupReg0i + int(1); -PS0i = R2i.w; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R1i.z << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R6i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.y = PS1i + 0x00000004; -R1i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), -(intBitsToFloat(R5i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R12i.x)) + intBitsToFloat(R5i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.y)) + intBitsToFloat(R5i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + intBitsToFloat(R5i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),-(intBitsToFloat(R5i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),-(intBitsToFloat(R5i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.x),-(intBitsToFloat(R5i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 7 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -backupReg3i = R11i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R11i.x; -// 8 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R12i.y << R9i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R6i.w)); -// 2 -R8i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R8i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R2i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.y = (R8i.x > R2i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -PV0i.w = R9i.z + R2i.w; -R2i.w = backupReg0i + int(1); -PS0i = R2i.w; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R1i.x << R9i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R6i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000005; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.z].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.w; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R12i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.y; -// 7 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PS0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.x; -// 12 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -backupReg3i = R11i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R11i.x; -// 13 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R12i.z << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R6i.w)); -// 2 -R2i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R2i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R12i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R2i.w > R12i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R12i.z; -PV0i.z = R9i.z + R12i.z; -R12i.z = backupReg0i + int(1); -PS0i = R12i.z; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.y << R9i.x; -// 1 -PV1i.y = int(uint(PV0i.w) >> uint(R6i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.z = R3i.w + PV0i.x; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + int(1); -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R125i.z))); -R125i.w = clampFI32(R125i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R12i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R10i.y),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -// 10 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.y))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R8i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -R9i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.x = R127i.x; -R126i.y = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.w = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.z = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R126i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.x)); -// 3 -PV1i.x = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.x)); -R124i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS1i = R125i.y; -// 4 -backupReg0i = R127i.z; -PV0i.x = floatBitsToInt(min(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.z = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R1i.w = ((R126i.y == 0)?(0):(0x3f800000)); -R6i.x = ((backupReg0i == 0)?(0):(0x3f800000)); -PS0i = R6i.x; -// 5 -R127i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R0i.y = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0); -R125i.z = floatBitsToInt(-(intBitsToFloat(R124i.y)) + 1.0); -R2i.w = ((R127i.w == 0)?(0):(0x3f800000)); -PV1i.w = R2i.w; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R125i.y))); -PS1i = R5i.w; -// 6 -backupReg0i = R127i.z; -backupReg1i = R127i.y; -backupReg0i = R127i.z; -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R6i.x) + 1.0)); -R127i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R1i.w) + 1.0)); -R127i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.w) + 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 7 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(PS0i)) + 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R124i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R5i.w)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -// 8 -backupReg0i = R125i.z; -R125i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -R124i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); -R125i.z = clampFI32(R125i.z); -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 9 -backupReg0i = R126i.z; -backupReg1i = R127i.w; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R7i.x))); -PV1i.x = R124i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R7i.y))); -PV1i.y = R125i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R7i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -R127i.w = clampFI32(R127i.w); -R124i.w = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg1i)); -PS1i = R124i.w; -// 10 -R126i.x = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R1i.y)); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -R127i.y = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R1i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R1i.x)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.x))); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.y))); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -PS0i = R127i.x; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R125i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.z) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.w) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.x; -backupReg1i = R126i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.z))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); -PS0i = R126i.x; -// 13 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R8i.z)); -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R124i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R8i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R8i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R125i.y))); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -PS1i = R125i.w; -// 14 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R126i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.z))); -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.y))); -PS0i = R1i.x; -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R125i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R127i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 16 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(R124i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R126i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.x)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[0].x)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 18 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[0].x)); -R3i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 19 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R4i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R4i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R4i.x))); -PV0i.w = R123i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -// 2 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(PV1i.x))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(PV1i.w))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(PV1i.y))); -PV0i.z = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 4 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(0x2edbe6ff))); -// 5 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -// 7 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.y))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.z))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R126i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -// 4 -R4i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R6i.z = floatBitsToInt(uf_blockPS4[2].x); -R6i.z = floatBitsToInt(intBitsToFloat(R6i.z) * 4.0); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[2].w)); -R8i.x = floatBitsToInt(uf_blockPS8[23].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R6i.y = floatBitsToInt(uf_blockPS8[23].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS1i = R6i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R8i.y = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R5i.z)); -PS0i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R10i.w) >= intBitsToFloat(R8i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R8i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R6i.y; -R2i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R8i.y))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R7i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R7i.z; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -// 6 -R7i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R7i.z) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R2i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R12i.x; -// 3 -R8i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.z))); -PV1i.y = R7i.y; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R12i.y; -// 4 -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -R8i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[6].w)); -R6i.y = floatBitsToInt(uf_blockPS8[24].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS0i = R6i.y; -} -if( activeMaskStackC[3] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R8i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R8i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.w)); -// 3 -backupReg0i = R2i.z; -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R8i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R8i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R8i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R8i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R8i.y)); -} -if( activeMaskStackC[4] == true ) { -R10i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R10i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R12i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.w))?1.0:0.0); -R8i.x = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(R2i.z)); -PS0i = R8i.x; -} -if( activeMaskStackC[3] == true ) { -R12i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R12i.x) + intBitsToFloat(R12i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R8i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R12i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R6i.y; -backupReg0i = R6i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R6i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R12i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R12i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R12i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R8i.x))?1.0:0.0); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.z))?1.0:0.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R7i.x)))); -PV0i.y = R123i.y; -// 7 -backupReg0i = R7i.x; -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R7i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS0i = R4i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R7i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R6i.y = floatBitsToInt(uf_blockPS8[24].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS1i = R6i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R7i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R7i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R7i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R7i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R7i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R7i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R8i.y))); -R6i.z = floatBitsToInt(-(intBitsToFloat(R8i.x)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R6i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R6i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R6i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R10i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R6i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.y)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.x))); -// 6 -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 8 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R9i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R7i.x))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R9i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R9i.y))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS3[21].x)); -// 1 -R1i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -PS1i = R126i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R7i.x)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R0i.x))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R7i.y = 0; -PS0i = R7i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.x))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -PS1i = R127i.y; -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].x)); -R126i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].y)); -// 5 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), uf_blockPS3[10].z)); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -// 6 -R2i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.y)),intBitsToFloat(PS1i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV0i.w = R123i.w; -// 7 -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R2i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS1i))); -// 9 -R5i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R4i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R4i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.z))); -PV1i.w = R123i.w; -// 2 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R0i.x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.w = R127i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R2i.x)); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R2i.z)) + intBitsToFloat(PV0i.z))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R2i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV0i.w = R123i.w; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.x))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.z))); -PV1i.x = R123i.x; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R5i.y))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.x))); -// 8 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[2].x)); -PV0i.x = R6i.x; -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[2].y)); -PV0i.y = R6i.y; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[2].z)); -PV0i.z = R6i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R6i.w; -// 2 -R1i.xyz = ivec3(R7i.x,R7i.y,R7i.y); -R1i.w = R7i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/e2f8996baff83d4d_00000000078e1649_ps.txt b/Source/TokyoMirage/e2f8996baff83d4d_00000000078e1649_ps.txt deleted file mode 100644 index 3ef59a1f..00000000 --- a/Source/TokyoMirage/e2f8996baff83d4d_00000000078e1649_ps.txt +++ /dev/null @@ -1,1087 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader e2f8996baff83d4d -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1971c000 res 256x128x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x19728000 res 128x64x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x19bd6000 res 128x128x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x188a2000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R9i.y = R127i.z; -R127i.z = R2i.x; -R8i.w = R1i.y; -R127i.y = int(uint(intBitsToFloat(PV1i.z))); -PS0i = R127i.y; -// 3 -R5i.x = R127i.w; -R1i.y = R1i.z; -R126i.z = R2i.y; -R9i.w = R2i.z; -R9i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -PS1i = R9i.x; -// 4 -R12i.x = 0; -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -R12i.y = 0; -PS0i = R12i.y; -// 5 -R0i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R12i.z = 0; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R126i.x = int(uint(R127i.y) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R10i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R10i.y),intBitsToFloat(R8i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R125i.x))); -PS1i = R5i.z; -// 8 -R1i.x = PV1i.w << 0x00000002; -R11i.y = PV1i.w << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R10i.x = floatBitsToInt(tempResultf); -PS0i = R10i.x; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.w)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R9i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R4i.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R10i.x))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(R10i.x))); -PV0i.z = backupReg0i << R2i.w; -R3i.w = R11i.y + 0x00000e10; -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R10i.x))); -PS0i = R11i.z; -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.z) >> uint(backupReg0i)); -// 4 -R6i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R13i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R13i.y; -backupReg0i = R13i.y; -R8i.x = 0; -R13i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R1i.z << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R0i.x)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R1i.y = PS1i + 0x00000004; -R1i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R10i.z)),vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R5i.y)),-(intBitsToFloat(R5i.z)),-(intBitsToFloat(R8i.x))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) / 2.0); -// 2 -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 3 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R4i.y << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R0i.x)); -// 2 -R9i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R9i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R5i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.y = (R9i.x > R5i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R5i.w; -PV0i.y = R3i.w + R5i.w; -R5i.w = backupReg0i + int(1); -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R0i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.x = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000005; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R8i.xy = floatBitsToInt(uf_blockPS11[R1i.w].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R1i.y << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.z) >> uint(R0i.x)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R6i.z + PV0i.y; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000003; -R1i.y = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.y].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R127i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV0i.z))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -PV1i.y = clampFI32(PV1i.y); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R12i.y))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R12i.z))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R12i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].y),-(uf_blockPS2[1].z),-(uf_blockPS2[1].x)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.z = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -// 4 -PV0i.y = ((0.0 >= intBitsToFloat(R2i.z))?int(0xFFFFFFFF):int(0x0)); -// 5 -R0i.x = ((PV0i.y == 0)?(0):(0x3f800000)); -R3i.w = ((PV0i.y == 0)?(0):(0)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -// 2 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.x))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -backupReg0i = R0i.x; -predResult = (backupReg0i == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.z = R2i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); -PV0i.z = clampFI32(PV0i.z); -R127i.w = floatBitsToInt(max(intBitsToFloat(R2i.z), 0.0)); -PV0i.w = R127i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R123i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -// 3 -R7i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -R4i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -R1i.z = PS0i; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.w))); -R2i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.w))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R1i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R1i.z = floatBitsToInt(intBitsToFloat(R1i.z) / 2.0); -R2i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R4i.y)); -PS0i = R2i.z; -// 1 -predResult = (intBitsToFloat(R2i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.w)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.z)) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.w))); -R1i.z = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.w))); -PS0i = R1i.y; -// 7 -R2i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.w)); -R1i.w = R126i.y; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R3i.z; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R1i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.zy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R1i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 3 -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.w = floatBitsToInt(min(intBitsToFloat(R5i.w), intBitsToFloat(R1i.z))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(R4i.x)),-(intBitsToFloat(backupReg0i)),-(intBitsToFloat(R11i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R4i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.y)) + -(intBitsToFloat(R0i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R11i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R3i.w))) + uf_blockPS10[1].z)); -PS1i = R127i.y; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R6i.x = floatBitsToInt(cubeMapSTM.x); -R6i.y = floatBitsToInt(cubeMapSTM.y); -R6i.z = floatBitsToInt(cubeMapSTM.z); -R6i.w = cubeMapFaceId; -PV0i.x = R6i.x; -PV0i.y = R6i.y; -PV0i.z = R6i.z; -PV0i.w = R6i.w; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R1i.w; -// 3 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 4 -backupReg0i = R6i.x; -backupReg1i = R6i.y; -backupReg2i = R0i.z; -backupReg3i = R0i.w; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R0i.w = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R127i.y)); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(backupReg3i))); -PS0i = R0i.x; -// 5 -R4i.y = 0; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[5].x)); -PS1i = R3i.w; -// 6 -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R127i.z))); -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R6i.yx),R6i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R1i.w))); -PV0i.z = clampFI32(PV0i.z); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -// 2 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R2i.y))); -PV0i.x = R1i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R2i.x))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -PS0i = R127i.w; -// 3 -R2i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.y)); -R2i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R6i.x)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R2i.z))); -PV1i.w = R0i.w; -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R2i.z = floatBitsToInt(tempResultf); -PS1i = R2i.z; -// 4 -R2i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R6i.z)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(R2i.z))); -// 1 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 2 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.y))); -PV0i.z = R123i.z; -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[20].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[20].x)); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[2].x)); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[2].y)); -PV0i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].z)); -PV0i.z = R3i.z; -// 7 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R3i.w; -// 8 -R1i.xyz = ivec3(R4i.x,R4i.y,R4i.y); -R1i.w = R4i.y; -} -// export -if( ((vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/e2f8996baff83d4d_000000003c3c9649_ps.txt b/Source/TokyoMirage/e2f8996baff83d4d_000000003c3c9649_ps.txt deleted file mode 100644 index 62163ab6..00000000 --- a/Source/TokyoMirage/e2f8996baff83d4d_000000003c3c9649_ps.txt +++ /dev/null @@ -1,1085 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader e2f8996baff83d4d -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1a249000 res 128x128x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x19a60000 res 64x64x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x19bd6000 res 128x128x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a2000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R9i.y = R127i.z; -R127i.z = R2i.x; -R8i.w = R1i.y; -R127i.y = int(uint(intBitsToFloat(PV1i.z))); -PS0i = R127i.y; -// 3 -R5i.x = R127i.w; -R1i.y = R1i.z; -R126i.z = R2i.y; -R9i.w = R2i.z; -R9i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -PS1i = R9i.x; -// 4 -R12i.x = 0; -R10i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -R12i.y = 0; -PS0i = R12i.y; -// 5 -R0i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R13i.y = 0; -R12i.z = 0; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R126i.x = int(uint(R127i.y) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R10i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R10i.y),intBitsToFloat(R8i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R125i.x))); -PS1i = R5i.z; -// 8 -R1i.x = PV1i.w << 0x00000002; -R11i.y = PV1i.w << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R10i.x = floatBitsToInt(tempResultf); -PS0i = R10i.x; -} -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.w)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R9i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -backupReg0i = R4i.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R10i.x))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(R10i.x))); -PV0i.z = backupReg0i << R2i.w; -R3i.w = R11i.y + 0x00000e10; -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R10i.x))); -PS0i = R11i.z; -// 3 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.z) >> uint(backupReg0i)); -// 4 -R6i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R5i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R5i.w > R13i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R13i.y; -backupReg0i = R13i.y; -R8i.x = 0; -R13i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R1i.z << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R0i.x)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R1i.y = PS1i + 0x00000004; -R1i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R10i.z)),vec4(-(intBitsToFloat(R5i.x)),-(intBitsToFloat(R5i.y)),-(intBitsToFloat(R5i.z)),-(intBitsToFloat(R8i.x))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) / 2.0); -// 2 -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 3 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R4i.y << R2i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R0i.x)); -// 2 -R9i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R9i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R5i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.y = (R9i.x > R5i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R5i.w; -PV0i.y = R3i.w + R5i.w; -R5i.w = backupReg0i + int(1); -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.x << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R0i.x)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PV1i.x = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000005; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R8i.xy = floatBitsToInt(uf_blockPS11[R1i.w].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R4i.z << R2i.w; -// 1 -backupReg0i = R0i.x; -PV1i.x = int(uint(PV0i.y) >> uint(backupReg0i)); -// 2 -R5i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R5i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R4i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R5i.w > R4i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.z; -backupReg0i = R4i.z; -R4i.z = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R1i.y << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.z) >> uint(R0i.x)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R6i.z + PV0i.y; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000003; -R1i.y = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R1i.y].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R127i.z; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV0i.z))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -PV1i.y = clampFI32(PV1i.y); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.x)) + intBitsToFloat(R7i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R12i.y))); -R5i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R12i.z))); -R2i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R12i.x))); -tempResultf = log2(intBitsToFloat(R1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.yzw = floatBitsToInt(vec3(-(uf_blockPS2[1].y),-(uf_blockPS2[1].z),-(uf_blockPS2[1].x)) + vec3(1.0,1.0,1.0)); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R2i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.z = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 3 -backupReg0i = R1i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(R7i.w))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -// 4 -PV0i.y = ((0.0 >= intBitsToFloat(R2i.z))?int(0xFFFFFFFF):int(0x0)); -// 5 -R0i.x = ((PV0i.y == 0)?(0):(0x3f800000)); -R3i.w = ((PV0i.y == 0)?(0):(0)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[1].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[1].y)); -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -// 2 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.x))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -backupReg0i = R0i.x; -predResult = (backupReg0i == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.z = R2i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 4.0); -PV0i.z = clampFI32(PV0i.z); -R127i.w = floatBitsToInt(max(intBitsToFloat(R2i.z), 0.0)); -PV0i.w = R127i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R123i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -// 3 -R7i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -R4i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -R1i.z = PS0i; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.w))); -R2i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.w))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R1i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R1i.z = floatBitsToInt(intBitsToFloat(R1i.z) / 2.0); -R2i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R4i.y)); -PS0i = R2i.z; -// 1 -predResult = (intBitsToFloat(R2i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.z))); -R3i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.w)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R1i.z)) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.w))); -R1i.z = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.w))); -PS0i = R1i.y; -// 7 -R2i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.w)); -R1i.w = R126i.y; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R3i.z; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R1i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.zy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R1i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 3 -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.w = floatBitsToInt(min(intBitsToFloat(R5i.w), intBitsToFloat(R1i.z))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(-(intBitsToFloat(R4i.x)),-(intBitsToFloat(backupReg0i)),-(intBitsToFloat(R11i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R4i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.y)) + -(intBitsToFloat(R0i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.z)) + -(intBitsToFloat(R11i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R3i.w))) + uf_blockPS10[1].z)); -PS1i = R127i.y; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R6i.x = floatBitsToInt(cubeMapSTM.x); -R6i.y = floatBitsToInt(cubeMapSTM.y); -R6i.z = floatBitsToInt(cubeMapSTM.z); -R6i.w = cubeMapFaceId; -PV0i.x = R6i.x; -PV0i.y = R6i.y; -PV0i.z = R6i.z; -PV0i.w = R6i.w; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R1i.w; -// 3 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 4 -backupReg0i = R6i.x; -backupReg1i = R6i.y; -backupReg2i = R0i.z; -backupReg3i = R0i.w; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R0i.w = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R127i.y)); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(backupReg3i))); -PS0i = R0i.x; -// 5 -R4i.y = 0; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[5].x)); -PS1i = R3i.w; -// 6 -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R127i.z))); -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R6i.yx),R6i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R1i.w))); -PV0i.z = clampFI32(PV0i.z); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -// 2 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R2i.y))); -PV0i.x = R1i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R2i.x))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -PS0i = R127i.w; -// 3 -R2i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.y)); -R2i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R6i.x)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R2i.z))); -PV1i.w = R0i.w; -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R2i.z = floatBitsToInt(tempResultf); -PS1i = R2i.z; -// 4 -R2i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R6i.z)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(R2i.z))); -// 1 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 2 -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.y))); -PV0i.z = R123i.z; -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[20].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS3[20].x)); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[2].x)); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[2].y)); -PV0i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].z)); -PV0i.z = R3i.z; -// 7 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R3i.w; -// 8 -R1i.xyz = ivec3(R4i.x,R4i.y,R4i.y); -R1i.w = R4i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/e6594de142bd3d05_00000000078e1649_ps.txt b/Source/TokyoMirage/e6594de142bd3d05_00000000078e1649_ps.txt deleted file mode 100644 index 98b168c5..00000000 --- a/Source/TokyoMirage/e6594de142bd3d05_00000000078e1649_ps.txt +++ /dev/null @@ -1,700 +0,0 @@ - - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader e6594de142bd3d05 -uniform ivec4 uf_remappedPS[27]; -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x19738000 res 192x64x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x1a5bf000 res 32x32x1 dim 1 tm: 2 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0x6) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 9) uniform samplerCubeArray textureUnitPS9;// Tex9 addr 0x19bd6000 res 128x128x1 dim 3 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x3) sliceView: 0x0 (num 0x6) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x188a2000 res 2048x2048x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 7) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex9 = 0.0; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -R7i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -R9i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R5i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.y = R1i.x; -PS0i = R126i.y; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -R125i.y = PV0i.w; -R127i.z = R2i.x; -R127i.w = R1i.y; -R125i.z = R2i.y; -PS1i = R125i.z; -// 2 -R124i.y = R1i.z; -R1i.z = R2i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -tempResultf = log2(intBitsToFloat(R9i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R126i.z = floatBitsToInt(tempResultf); -PS0i = R126i.z; -// 3 -R125i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(uf_remappedPS[0].x)); -R1i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(uf_remappedPS[0].y)); -R5i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + intBitsToFloat(uf_remappedPS[0].z)); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R9i.x)) + intBitsToFloat(R7i.w))); -R124i.z = floatBitsToInt(sqrt(intBitsToFloat(PV0i.w))); -PS1i = R124i.z; -// 4 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.y),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w), intBitsToFloat(R126i.z))); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R124i.z),-0.0),vec4(intBitsToFloat(R125i.y),intBitsToFloat(R127i.w),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R9i.y)) + intBitsToFloat(R7i.w))); -PS1i = R8i.z; -// 6 -backupReg0i = R124i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(R1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.z = tempi.x; -R124i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + 1.0); -PS0i = R124i.y; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = tempi.x; -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R9i.z)) + intBitsToFloat(R7i.w))); -PS1i = R7i.y; -// 8 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R1i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R1i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].y)) + 1.0); -PS0i = R127i.w; -// 9 -PV1i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].z)) + 1.0); -PS1i = floatBitsToInt(exp2(intBitsToFloat(R127i.y))); -// 10 -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[1].y))); -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[1].x))); -R7i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[1].z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.y)); -PS0i = floatBitsToInt(tempResultf); -// 11 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -backupReg0i = R5i.z; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS1i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedPS[2].x)),-(intBitsToFloat(uf_remappedPS[2].y)),-(intBitsToFloat(uf_remappedPS[2].z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(uf_remappedPS[3].w)) + 1.0)); -PV1i.x = R123i.x; -PV1i.y = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[3].w)) + 1.0)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[3].w)) + 1.0)); -PV1i.w = R123i.w; -// 2 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R7i.z))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R7i.w))); -R3i.w = ((PV1i.y == 0)?(0):(0)); -R2i.z = ((PV1i.y == 0)?(0):(0x3f800000)); -PS0i = R2i.z; -// 3 -predResult = (R2i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R2i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (intBitsToFloat(uf_remappedPS[4].x) >= -(intBitsToFloat(R4i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(uf_remappedPS[5].x))); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),intBitsToFloat(uf_remappedPS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[7].x),intBitsToFloat(uf_remappedPS[7].y),intBitsToFloat(uf_remappedPS[7].z),intBitsToFloat(uf_remappedPS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[8].x),intBitsToFloat(uf_remappedPS[8].y),intBitsToFloat(uf_remappedPS[8].z),intBitsToFloat(uf_remappedPS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),intBitsToFloat(uf_remappedPS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(uf_remappedPS[10].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -backupReg0i = R4i.w; -R1i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[11].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R2i.z = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R4i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R2i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[11].y)) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R2i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R2i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R2i.z)); -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R4i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(uf_remappedPS[15].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(uf_remappedPS[16].x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R3i.z = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R3i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R3i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R3i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.zy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[10].x)); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R2i.w; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(uf_remappedPS[16].x))); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedPS[12].x),intBitsToFloat(uf_remappedPS[12].y),intBitsToFloat(uf_remappedPS[12].z),intBitsToFloat(uf_remappedPS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),intBitsToFloat(uf_remappedPS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),intBitsToFloat(uf_remappedPS[14].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),intBitsToFloat(uf_remappedPS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(uf_remappedPS[18].x)); -R3i.w = PS0i; -PS1i = R3i.w; -// 6 -R3i.x = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.y = floatBitsToInt((intBitsToFloat(uf_remappedPS[17].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].x)) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R2i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[18].x)) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(intBitsToFloat(uf_remappedPS[17].y)) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R2i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R3i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(R2i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R3i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.w = floatBitsToInt(min(intBitsToFloat(R6i.z), intBitsToFloat(R2i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(-(intBitsToFloat(R4i.x)),-(intBitsToFloat(R4i.y)),-(intBitsToFloat(R5i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[19].z)) + 1.0); -PS0i = R127i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R4i.x)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R4i.y)))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.z)) + -(intBitsToFloat(R5i.z)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[20].z),-(intBitsToFloat(R3i.w))) + intBitsToFloat(uf_remappedPS[20].z))); -PS1i = R127i.y; -// 2 -redcCUBE(vec4(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)),vec4(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)),cubeMapSTM,cubeMapFaceId); -R6i.x = floatBitsToInt(cubeMapSTM.x); -R6i.y = floatBitsToInt(cubeMapSTM.y); -R6i.z = floatBitsToInt(cubeMapSTM.z); -R6i.w = cubeMapFaceId; -PV0i.x = R6i.x; -PV0i.y = R6i.y; -PV0i.z = R6i.z; -PV0i.w = R6i.w; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R1i.w; -// 3 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV0i.z))); -// 4 -backupReg0i = R6i.x; -backupReg1i = R6i.y; -backupReg2i = R0i.z; -backupReg3i = R0i.w; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS1i)) + 1.5)); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS1i)) + 1.5)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R0i.w = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(R127i.y)); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(backupReg3i))); -PS0i = R0i.x; -// 5 -R4i.y = 0; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_remappedPS[21].x))); -PS1i = R3i.w; -// 6 -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R127i.z))); -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(texture(textureUnitPS9, vec4(redcCUBEReverse(intBitsToFloat(R6i.yx),R6i.w),cubeMapArrayIndex9)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(uf_remappedPS[22].y)) + intBitsToFloat(uf_remappedPS[23].y))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R1i.w))); -PV0i.z = clampFI32(PV0i.z); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(uf_remappedPS[22].x)) + intBitsToFloat(uf_remappedPS[23].x))); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.z) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(uf_remappedPS[22].z)) + intBitsToFloat(uf_remappedPS[23].z))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.x))); -// 2 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R2i.y))); -PV0i.x = R1i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R2i.x))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[24].z)) + intBitsToFloat(uf_remappedPS[24].w)); -PS0i = R127i.w; -// 3 -R2i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R6i.y)); -R2i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R6i.x)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R2i.z))); -PV1i.w = R0i.w; -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R2i.z = floatBitsToInt(tempResultf); -PS1i = R2i.z; -// 4 -R2i.w = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(R6i.z)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.w)); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].w), intBitsToFloat(R2i.z))); -// 1 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 2 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[19].y), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV1i.z)) + intBitsToFloat(R1i.x))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.y))); -PV0i.z = R123i.z; -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedPS[25].z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[25].y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[25].x))); -// 6 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedPS[26].x))); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(uf_remappedPS[26].y))); -PV0i.y = R3i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedPS[26].z))); -PV0i.z = R3i.z; -// 7 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R3i.w; -// 8 -R1i.xyz = ivec3(R4i.x,R4i.y,R4i.y); -R1i.w = R4i.y; -} -// export -if( ((vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/e717b6f3bc364ae6_0000000f0f249249_ps.txt b/Source/TokyoMirage/e717b6f3bc364ae6_0000000f0f249249_ps.txt deleted file mode 100644 index a98e312d..00000000 --- a/Source/TokyoMirage/e717b6f3bc364ae6_0000000f0f249249_ps.txt +++ /dev/null @@ -1,1684 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader e717b6f3bc364ae6 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x3810a000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x3826e000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x38262000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x381b6000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R5i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R10i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R10i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R3i.x = 0; -PS0i = R3i.x; -// 3 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R6i.w),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -R3i.y = 0; -PS1i = R3i.y; -// 4 -R9i.x = 0; -R9i.y = 0; -R3i.z = 0; -R1i.w = 0; -R9i.z = 0; -PS0i = R9i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS0i = R5i.w; -// 9 -R5i.x = PV0i.z << 0x00000002; -R5i.y = PV0i.z << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R7i.x << R10i.x; -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R10i.z = R5i.y + 0x00000e10; -PS0i = R10i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PS1i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.w & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R10i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R5i.z << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R5i.y = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), -(intBitsToFloat(R6i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.x)) + intBitsToFloat(R6i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.y)) + intBitsToFloat(R6i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R6i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),-(intBitsToFloat(R6i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),-(intBitsToFloat(R6i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),-(intBitsToFloat(R6i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 7 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -backupReg3i = R9i.x; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg2i))); -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R9i.x; -// 8 -backupReg0i = R9i.y; -backupReg1i = R9i.z; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.y << R10i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R8i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R8i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.y = (R8i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.w = R10i.z + R1i.w; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.x << R10i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.z].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.w; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.y; -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PS0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.x; -// 12 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -backupReg3i = R9i.x; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg2i))); -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R9i.x; -// 13 -backupReg0i = R9i.y; -backupReg1i = R9i.z; -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.z << R10i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R12i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = (R1i.w > R12i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R12i.z; -PV0i.z = R10i.z + R12i.z; -R12i.z = backupReg0i + int(1); -PS0i = R12i.z; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R5i.y << R10i.x; -// 1 -PV1i.y = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.z = R4i.w + PV0i.x; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + int(1); -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.x].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R125i.z))); -R125i.w = clampFI32(R125i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -// 10 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.x))); -PV1i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R10i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyzw); -R8i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.x = R127i.x; -R126i.y = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.w = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.z = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R126i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.x)); -// 3 -PV1i.x = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.x)); -R124i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS1i = R125i.y; -// 4 -backupReg0i = R127i.z; -PV0i.x = floatBitsToInt(min(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.z = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R1i.w = ((R126i.y == 0)?(0):(0x3f800000)); -R4i.x = ((backupReg0i == 0)?(0):(0x3f800000)); -PS0i = R4i.x; -// 5 -R127i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R0i.y = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0); -R125i.z = floatBitsToInt(-(intBitsToFloat(R124i.y)) + 1.0); -R4i.w = ((R127i.w == 0)?(0):(0x3f800000)); -PV1i.w = R4i.w; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R125i.y))); -PS1i = R5i.w; -// 6 -backupReg0i = R127i.z; -backupReg1i = R127i.y; -backupReg0i = R127i.z; -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.x) + 1.0)); -R127i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R1i.w) + 1.0)); -R127i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.w) + 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 7 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R6i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(PS0i)) + 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R124i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R5i.w)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -// 8 -backupReg0i = R125i.z; -R125i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -R124i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); -R125i.z = clampFI32(R125i.z); -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 9 -backupReg0i = R126i.z; -backupReg1i = R127i.w; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R7i.x))); -PV1i.x = R124i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R7i.y))); -PV1i.y = R125i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R7i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -R127i.w = clampFI32(R127i.w); -R124i.w = floatBitsToInt(-(intBitsToFloat(R6i.x)) + intBitsToFloat(backupReg1i)); -PS1i = R124i.w; -// 10 -R126i.x = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R5i.y)); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -R127i.y = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R5i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R5i.x)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.x))); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -PS0i = R127i.x; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R125i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.z) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.w) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.x; -backupReg1i = R126i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.z))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); -PS0i = R126i.x; -// 13 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R10i.z)); -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(R124i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R10i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R10i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.y), intBitsToFloat(R125i.y))); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -PS1i = R125i.w; -// 14 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R126i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.z))); -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.y))); -PS0i = R5i.x; -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R125i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R127i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 16 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(R124i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R126i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -backupReg0i = R6i.x; -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[0].x)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 18 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[0].x)); -R4i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 19 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R3i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R3i.z))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R3i.y))); -PV0i.w = R123i.w; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.z = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -// 6 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.y))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.w))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.z))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R126i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -// 4 -R10i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.z = floatBitsToInt(uf_blockPS4[2].x); -R7i.z = floatBitsToInt(intBitsToFloat(R7i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R13i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R12i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[2].w)); -R12i.x = floatBitsToInt(uf_blockPS8[23].x); -R12i.x = floatBitsToInt(intBitsToFloat(R12i.x) / 2.0); -PS0i = R12i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R10i.y = floatBitsToInt(uf_blockPS8[23].y); -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS1i = R10i.y; -} -if( activeMaskStackC[2] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R3i.xy)).xyzw); -R11i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R12i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R4i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R12i.x) + intBitsToFloat(R3i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R13i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R12i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.w))?1.0:0.0); -R12i.y = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R3i.z)); -PS0i = R12i.y; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R11i.x) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R11i.w) >= intBitsToFloat(R12i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R11i.y) >= intBitsToFloat(R12i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R11i.z) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R6i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R12i.x))); -PV0i.w = R10i.y; -R4i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R12i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R12i.y))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R12i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R11i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R11i.z; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV0i.w)); -// 6 -R11i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R11i.z) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R3i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R4i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -PV1i.y = R10i.y; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R11i.y; -// 4 -R12i.x = floatBitsToInt(uf_blockPS8[24].x); -R12i.x = floatBitsToInt(intBitsToFloat(R12i.x) / 2.0); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R4i.y = floatBitsToInt(uf_blockPS8[24].y); -R4i.y = floatBitsToInt(intBitsToFloat(R4i.y) / 2.0); -PS0i = R4i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R3i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R12i.x))); -PV0i.w = R4i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R12i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.w))?1.0:0.0); -R4i.x = floatBitsToInt(-(intBitsToFloat(R11i.y)) + intBitsToFloat(R2i.z)); -PS0i = R4i.x; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R10i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R4i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R4i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R4i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R4i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R4i.y))); -PV0i.y = R3i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R12i.x))); -PV0i.w = R4i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R12i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R4i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R4i.x))?1.0:0.0); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R4i.x))?1.0:0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R11i.x)))); -PV0i.y = R123i.y; -// 7 -backupReg0i = R11i.x; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R8i.w = floatBitsToInt(uf_blockPS4[2].x); -R8i.w = floatBitsToInt(intBitsToFloat(R8i.w) * 4.0); -PS0i = R8i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R12i.x; -// 4 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R11i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R10i.x = floatBitsToInt(uf_blockPS8[24].x); -R10i.x = floatBitsToInt(intBitsToFloat(R10i.x) / 2.0); -PS0i = R10i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R10i.y = floatBitsToInt(uf_blockPS8[24].y); -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS1i = R10i.y; -} -if( activeMaskStackC[2] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.w)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R2i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R10i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R3i.x)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R3i.y)); -} -if( activeMaskStackC[3] == true ) { -R6i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.z; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R12i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R11i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R11i.x)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.w))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R11i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R11i.x) + intBitsToFloat(R11i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R11i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R8i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R10i.x))); -PV0i.w = R10i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R10i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R11i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R11i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R11i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R11i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R11i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R11i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.y)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.x))); -// 6 -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 8 -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(R8i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R11i.x))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R8i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R8i.y))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS3[21].x)); -// 1 -R1i.x = floatBitsToInt(intBitsToFloat(R11i.x) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -PS1i = R126i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R11i.x)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R125i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(R0i.x))); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -PS0i = R3i.x; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.x))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].x)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].z)); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].y)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R125i.z)); -// 5 -R2i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R8i.z = 0; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PS0i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 6 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R3i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -backupReg0i = R7i.w; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -R7i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[5].x)); -// 8 -R6i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R5i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R5i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.z))); -PV1i.w = R123i.w; -// 2 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.w = R127i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R2i.x)); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R1i.z)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R3i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.w))); -PV0i.w = R123i.w; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS1i))); -PS0i = R8i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R125i.z))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(R127i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R5i.x)) + intBitsToFloat(R127i.x))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(R125i.z))); -PV1i.x = R123i.x; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R6i.y))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.x))); -// 8 -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R6i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS10[2].x)); -PV0i.x = R7i.x; -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[2].y)); -PV0i.y = R7i.y; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), uf_blockPS10[2].z)); -PV0i.z = R7i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R7i.w; -// 2 -R1i.xyz = ivec3(R8i.x,R8i.z,R8i.z); -R1i.w = R8i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/ed51eb916a78aefe_00000f0f0f249249_ps.txt b/Source/TokyoMirage/ed51eb916a78aefe_00000f0f0f249249_ps.txt deleted file mode 100644 index 20e21d0d..00000000 --- a/Source/TokyoMirage/ed51eb916a78aefe_00000f0f0f249249_ps.txt +++ /dev/null @@ -1,1461 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader ed51eb916a78aefe -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x340dc000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x10067000 res 1x1x1 dim 1 tm: 2 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x34084000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x3402c000 res 512x512x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R127i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R9i.x = R127i.y; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R127i.z = R2i.x; -R1i.w = R1i.y; -R127i.y = int(uint(intBitsToFloat(PV1i.z))); -PS0i = R127i.y; -// 3 -R7i.x = R127i.w; -R7i.y = R1i.z; -R126i.z = R2i.y; -R127i.w = R2i.z; -R3i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R3i.w; -// 4 -R4i.x = 0; -R4i.y = 0; -R6i.z = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R6i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R4i.z = 0; -PS0i = R4i.z; -// 5 -R0i.x = 0; -R126i.x = int(uint(R127i.y) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.x = R126i.x + PS0i; -PS1i = floatBitsToInt(sqrt(intBitsToFloat(R126i.y))); -// 8 -R1i.x = PV1i.x << 0x00000002; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R126i.z))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.w))); -R7i.w = PV1i.x << 0x00000005; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(R127i.z))); -PS0i = R5i.x; -} -if( activeMaskStackC[1] == true ) { -R10i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.x),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R1i.w)) + intBitsToFloat(R1i.y))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R9i.x)) + intBitsToFloat(PS0i))); -PS1i = R126i.y; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -R0i.y = R7i.w + 0x00000e10; -PV0i.z = R10i.x << R3i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.z) >> uint(R6i.z)); -// 4 -R2i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.y = (R2i.w > R0i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -R5i.x = 0; -PV0i.w = R0i.y + R0i.x; -R0i.x = backupReg0i + int(1); -PS0i = R0i.x; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R1i.z << R3i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R6i.z)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.y = PS1i + 0x00000003; -R1i.w = PS1i + 0x00000004; -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),intBitsToFloat(R9i.z)),vec4(-(intBitsToFloat(R1i.x)),-(intBitsToFloat(R1i.y)),-(intBitsToFloat(R1i.z)),-(intBitsToFloat(R5i.x))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 4 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R10i.y << R3i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R6i.z)); -// 2 -R2i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R2i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R0i.x = (R2i.w > R7i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -backupReg0i = R0i.x; -predResult = (backupReg0i != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R7i.z; -backupReg0i = R7i.z; -R7i.z = backupReg0i + int(1); -PV0i.w = R0i.y + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R1i.x << R3i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R6i.z)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.y = PS0i + int(1); -R1i.w = PS0i + 0x00000005; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.w].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(backupReg0i)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.y; -// 6 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(backupReg0i))); -// 7 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -// 9 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R10i.z << R3i.w; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R6i.z)); -// 2 -R0i.x = PV1i.y & 0x0000ffff; -// 3 -backupReg0i = R0i.x; -predResult = (backupReg0i > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R2i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.y = (R0i.x > R2i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -PV0i.z = R0i.y + R2i.w; -R2i.w = backupReg0i + int(1); -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R1i.y << R3i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R6i.z)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.z = R6i.w + PV0i.w; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000003; -R1i.y = PS0i + 0x00000005; -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.y].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R125i.z))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); -// 7 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV0i.x)); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.y))); -PV0i.x = clampFI32(PV0i.x); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.x))); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -// 10 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R8i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R6i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.x; -// 1 -PV1i.x = ((intBitsToFloat(R8i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -R127i.z = ((intBitsToFloat(R8i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(R8i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -PS1i = R126i.x; -// 2 -R125i.x = ((PV1i.x == 0)?(0):(0x3f800000)); -PV0i.x = R125i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(PV1i.y)); -R126i.z = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -PV0i.z = R126i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.y)); -R7i.z = ((PV1i.w == 0)?(0):(0x3f800000)); -PS0i = R7i.z; -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -R125i.y = ((R127i.z == 0)?(0):(0x3f800000)); -PV1i.y = R125i.y; -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -R127i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + 1.0)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R127i.z; -// 4 -backupReg0i = R127i.x; -backupReg1i = R126i.z; -R127i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R7i.z) + 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.y) + 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.x))); -R125i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.x)); -PS0i = R125i.z; -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.y)); -PV1i.x = R126i.x; -R124i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(R127i.z)) + 1.0)); -R127i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R8i.z)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(backupReg0i))); -PV1i.w = R124i.w; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R8i.x))); -PS1i = R124i.z; -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R8i.y))); -PV0i.y = R127i.y; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R8i.z))); -PV0i.z = R5i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R1i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R1i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -PS0i = R126i.z; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R124i.z))); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R1i.z)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(R124i.y)) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.z))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 8 -backupReg0i = R126i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.x))); -R126i.y = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R6i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.z))); -R125i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R6i.y)); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -PS0i = R125i.w; -// 9 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.y))); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R124i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R6i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R8i.x))); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R8i.y))); -// 10 -backupReg0i = R126i.x; -backupReg1i = R127i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R8i.z))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R5i.z))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(R127i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), uf_blockPS3[8].x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), uf_blockPS3[8].y)); -PS1i = R127i.z; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R124i.z)) + intBitsToFloat(R126i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), uf_blockPS3[8].z)); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.z))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS3[8].w)); -// 13 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), uf_blockPS10[5].x)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[5].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), uf_blockPS10[5].x)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), uf_blockPS10[5].x)); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -PS1i = R7i.z; -// 14 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[2].z)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS10[2].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), uf_blockPS10[2].x)); -// 15 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), uf_blockPS10[0].x)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), uf_blockPS10[0].x)); -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.w))); -PS1i = R8i.x; -// 16 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R127i.z))); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R127i.x))); -R3i.w = 0; -R6i.y = floatBitsToInt(uf_blockPS10[1].y); -PS0i = R6i.y; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R4i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R4i.y))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R4i.x))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R6i.y))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R6i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R6i.y))); -PV1i.z = R127i.z; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), -(uf_blockPS8[12].z))); -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(PS1i),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3de978d5)); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PS1i = R127i.w; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(0x2edbe6ff))); -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -// 7 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PV0i.y))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.x))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.w))); -// 8 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R9i.z = floatBitsToInt(uf_blockPS4[2].x); -R9i.z = floatBitsToInt(intBitsToFloat(R9i.z) * 4.0); -R5i.w = 0x3f800000; -PV0i.w = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), uf_blockPS8[2].w)); -R9i.x = floatBitsToInt(uf_blockPS8[23].x); -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS0i = R9i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R9i.y = floatBitsToInt(uf_blockPS8[23].y); -R9i.y = floatBitsToInt(intBitsToFloat(R9i.y) / 2.0); -PS1i = R9i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R4i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R9i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R4i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R4i.x)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(R4i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R4i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R6i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R9i.y; -R2i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R7i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R5i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R5i.x; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.x)); -// 6 -R7i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R5i.x) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R5i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 3 -R6i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.z))); -PV1i.y = R7i.y; -R6i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R9i.x = floatBitsToInt(uf_blockPS8[24].x); -R9i.x = floatBitsToInt(intBitsToFloat(R9i.x) / 2.0); -PS1i = R9i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), uf_blockPS8[6].w)); -R6i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R6i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R6i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R6i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R6i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R6i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R6i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R6i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R6i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R7i.x; -backupReg1i = R7i.y; -R7i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(backupReg0i))); -R7i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt(-(intBitsToFloat(R6i.w)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R7i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R7i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(R6i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R10i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R9i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R9i.x)) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R7i.y)); -} -if( activeMaskStackC[4] == true ) { -R6i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R6i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R6i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R10i.z))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R6i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R10i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PS1i))); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R7i.z)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R7i.z; -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R5i.w = floatBitsToInt(uf_blockPS4[2].x); -R5i.w = floatBitsToInt(intBitsToFloat(R5i.w) * 4.0); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R9i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R5i.x = floatBitsToInt(uf_blockPS8[24].x); -R5i.x = floatBitsToInt(intBitsToFloat(R5i.x) / 2.0); -PS0i = R5i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS1i = R5i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R6i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R4i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R4i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R4i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R9i.y))); -R4i.z = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R7i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(R7i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R6i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R6i.w) >= intBitsToFloat(R4i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R6i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R6i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R5i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R5i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R5i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R7i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R7i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R7i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R4i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R7i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R4i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.w)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.z; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.z = 0; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R7i.z))) + uf_blockPS10[1].z)); -PV0i.w = R123i.w; -// 1 -R0i.z = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(PV0i.w)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 2 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.y = R123i.y; -// 1 -backupReg0i = R0i.z; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PV0i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS3[20].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockPS3[20].x)); -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS3[20].z)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z))); -PS1i = R2i.y; -// 4 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.y))); -// 5 -R6i.xyz = ivec3(R8i.x,R0i.y,R8i.z); -R6i.w = R3i.w; -// 6 -R4i.xyz = ivec3(R2i.x,R2i.y,R2i.z); -R4i.w = R2i.w; -// 7 -R5i.xyz = ivec3(R3i.x,R3i.z,R3i.z); -R5i.w = R3i.z; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -passPixelColor2 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -passPixelColor4 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -} diff --git a/Source/TokyoMirage/ee74120dadf200d1_000003c3c9249249_ps.txt b/Source/TokyoMirage/ee74120dadf200d1_000003c3c9249249_ps.txt deleted file mode 100644 index e4ed552d..00000000 --- a/Source/TokyoMirage/ee74120dadf200d1_000003c3c9249249_ps.txt +++ /dev/null @@ -1,1774 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading//shadows -// shader ee74120dadf200d1 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x35866000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x359be000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x357ee000 res 256x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x35696000 res 1024x1024x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x35912000 res 1024x1024x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0x2aa61000 res 1024x1024x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R10i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS1[0].y, uf_blockPS3[11].z)); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -PV0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS1[0].x, uf_blockPS3[11].z)); -PS0i = floatBitsToInt(1.0 / uf_blockPS1[0].x); -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x394ccccd)); -PV1i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x394ccccd)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS0i)) + -(uf_blockPS3[11].x))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / uf_blockPS1[0].y); -// 2 -backupReg0i = R127i.y; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(backupReg0i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.x), intBitsToFloat(R10i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(PS1i)) + -(uf_blockPS3[11].y))); -PV0i.w = R123i.w; -PS0i = int(uint(intBitsToFloat(PV1i.y))); -// 3 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(R10i.y)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -R127i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R127i.x; -// 4 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R5i.w))); -R7i.z = R1i.x; -R5i.w = R2i.x; -PS0i = int(uint(intBitsToFloat(R127i.y))); -// 5 -R8i.x = R126i.x; -R8i.y = R1i.y; -R5i.z = R127i.x + PS0i; -PV1i.z = R5i.z; -R1i.w = R2i.y; -R9i.x = R127i.z; -PS1i = R9i.x; -// 6 -R1i.x = PV1i.z << 0x00000002; -R1i.y = R1i.z; -R1i.z = R2i.z; -R7i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS0i = R9i.y; -} -if( activeMaskStackC[1] == true ) { -R11i.xyzw = floatBitsToInt(texture(textureUnitPS7, intBitsToFloat(R7i.xy)).xyzw); -R12i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R1i.x = floatBitsToInt((intBitsToFloat(R11i.y) * 2.0 + -(1.0))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.y = R126i.y; -R8i.z = floatBitsToInt((intBitsToFloat(R11i.x) * 2.0 + -(1.0))); -R8i.w = floatBitsToInt((intBitsToFloat(R11i.z) * 2.0 + -(1.0))); -R4i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS0i = R4i.x; -// 1 -PV1i.x = R12i.x << PS0i; -R127i.y = R5i.z << 0x00000005; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -PV1i.w = R2i.w; -R13i.x = 0; -PS1i = R13i.x; -// 2 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),1.0,0.0))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -PS0i = int(uint(PV1i.x) >> uint(PV1i.w)); -// 3 -R11i.x = 0; -R7i.y = PS0i & 0x0000ffff; -R10i.z = R127i.y + 0x00000e10; -R3i.w = 0; -R13i.y = 0; -PS1i = R13i.y; -// 4 -R11i.y = 0; -R13i.z = 0; -R11i.z = 0; -PS0i = R11i.z; -// 5 -R127i.z = floatBitsToInt(sqrt(intBitsToFloat(R5i.x))); -PS1i = R127i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R5i.y),intBitsToFloat(R7i.z),intBitsToFloat(R5i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.z = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.x)); -R127i.w = floatBitsToInt(tempResultf); -PS0i = R127i.w; -// 7 -backupReg0i = R8i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.y = tempi.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PS0i))); -PS1i = R0i.x; -// 8 -backupReg0i = R9i.x; -R9i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV0i.x = R9i.x; -PV0i.y = R9i.x; -PV0i.z = R9i.x; -PV0i.w = R9i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R127i.w))); -PS0i = R0i.y; -// 9 -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.w))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS3[18].z) + intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS3[18].z) + intBitsToFloat(R8i.y))); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),uf_blockPS3[18].z) + intBitsToFloat(R9i.x))); -PV0i.z = R127i.z; -R6i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), uf_blockPS3[18].w)); -PS0i = R6i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 3 -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.y = (R7i.y > R3i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R3i.w; -PV0i.z = R10i.z + R3i.w; -R5i.w = 0; -R3i.w = backupReg0i + int(1); -PS0i = R3i.w; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.y = R1i.z << R4i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.w * 0x00000005; -// 4 -R1i.y = PS1i + 0x00000004; -R1i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R4i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), -(intBitsToFloat(R5i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R9i.x)) + intBitsToFloat(R5i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.y)) + intBitsToFloat(R5i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R9i.z)) + intBitsToFloat(R5i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),-(intBitsToFloat(R5i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),-(intBitsToFloat(R5i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.x),-(intBitsToFloat(R5i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 7 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R11i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R11i.x; -// 8 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R12i.y << R4i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R8i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R8i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.y = (R8i.x > R3i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.w; -PV0i.w = R10i.z + R3i.w; -R3i.w = backupReg0i + int(1); -PS0i = R3i.w; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R1i.x << R4i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000004; -R1i.z = PS0i + 0x00000005; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.z].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R4i.y),intBitsToFloat(R9i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.w; -// 6 -backupReg0i = R127i.w; -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(backupReg0i))); -PS0i = R126i.y; -// 7 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R127i.z))); -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R4i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PS0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.x; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R11i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R11i.x; -// 13 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R12i.z << R4i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R3i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R3i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R12i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = (R3i.w > R12i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R12i.z; -PV0i.z = R10i.z + R12i.z; -R12i.z = backupReg0i + int(1); -PS0i = R12i.z; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.y << R4i.x; -// 1 -PV1i.y = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.y & 0x0000ffff; -// 3 -PV1i.z = R6i.w + PV0i.x; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + int(1); -R1i.z = PS0i + 0x00000004; -R1i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R125i.z))); -R125i.w = clampFI32(R125i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R4i.y),intBitsToFloat(R9i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R9i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R4i.y),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -// 10 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.y))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R8i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -R10i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.x = R127i.x; -R126i.y = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.z = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.w = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.z = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R126i.z; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R4i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.x)); -// 3 -PV1i.x = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.x)); -R124i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS1i = R125i.y; -// 4 -backupReg0i = R127i.z; -PV0i.x = floatBitsToInt(min(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.z = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R1i.w = ((R126i.y == 0)?(0):(0x3f800000)); -R6i.x = ((backupReg0i == 0)?(0):(0x3f800000)); -PS0i = R6i.x; -// 5 -R127i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0); -R0i.y = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0); -R125i.z = floatBitsToInt(-(intBitsToFloat(R124i.y)) + 1.0); -R2i.w = ((R127i.w == 0)?(0):(0x3f800000)); -PV1i.w = R2i.w; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R125i.y))); -PS1i = R5i.w; -// 6 -backupReg0i = R127i.z; -backupReg1i = R127i.y; -backupReg0i = R127i.z; -R126i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R6i.x) + 1.0)); -R127i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R1i.w) + 1.0)); -R127i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.w) + 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 7 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R5i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(PS0i)) + 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R124i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R5i.w)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -// 8 -backupReg0i = R125i.z; -R125i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -R124i.y = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PS1i))); -R125i.z = clampFI32(R125i.z); -R125i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 9 -backupReg0i = R126i.z; -backupReg1i = R127i.w; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R7i.x))); -PV1i.x = R124i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R7i.y))); -PV1i.y = R125i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R7i.z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -R127i.w = clampFI32(R127i.w); -R124i.w = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg1i)); -PS1i = R124i.w; -// 10 -R126i.x = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R1i.y)); -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -R127i.y = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R1i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R1i.x)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.x))); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.y))); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -PS0i = R127i.x; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R125i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R123i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.z) + intBitsToFloat(0x40400000))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.w))); -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.w) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.x; -backupReg1i = R126i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.z))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PS1i))); -PS0i = R126i.x; -// 13 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R8i.z)); -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R124i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R8i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R8i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R125i.y))); -R125i.w = floatBitsToInt(intBitsToFloat(R125i.w) * 2.0); -PS1i = R125i.w; -// 14 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R126i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.z))); -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.y))); -PS0i = R1i.x; -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(R125i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R125i.x)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R127i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 16 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(R124i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R126i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 17 -backupReg0i = R5i.x; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[0].x)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.x)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS0i))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[0].x)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 18 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), uf_blockPS10[0].x)); -R3i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -// 19 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(PS0i))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -PV0i.w = R123i.w; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -// 2 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.x))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.w))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.y))); -PV0i.z = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 4 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(0x2edbe6ff))); -// 5 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -// 6 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -// 7 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.y))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.z))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R126i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -// 4 -R4i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R6i.z = floatBitsToInt(uf_blockPS4[2].x); -R6i.z = floatBitsToInt(intBitsToFloat(R6i.z) * 4.0); -R6i.w = 0x3f800000; -PV0i.w = R6i.w; -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -PS0i = R5i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[2].w)); -R8i.x = floatBitsToInt(uf_blockPS8[23].x); -R8i.x = floatBitsToInt(intBitsToFloat(R8i.x) / 2.0); -PS0i = R8i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R6i.y = floatBitsToInt(uf_blockPS8[23].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS1i = R6i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R8i.y = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(R5i.z)); -PS0i = R8i.y; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R7i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R9i.x) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R9i.w) >= intBitsToFloat(R8i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R9i.y) >= intBitsToFloat(R8i.y))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R9i.z) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.z = ((PV1i.x == 0)?(0):(PV1i.w)); -PS0i = R1i.z; -// 5 -R2i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[23].x * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R8i.x))); -PV0i.w = R6i.y; -R2i.y = floatBitsToInt((uf_blockPS8[23].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R8i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R7i.x) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R7i.y) >= intBitsToFloat(R8i.y))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R7i.z) >= intBitsToFloat(R8i.y))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R7i.z = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R7i.z; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -// 6 -R7i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R7i.z) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R2i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R6i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R12i.x; -// 3 -R8i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R2i.z))); -PV1i.y = R7i.y; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R12i.y; -// 4 -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -R8i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), uf_blockPS8[6].w)); -R6i.y = floatBitsToInt(uf_blockPS8[24].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS0i = R6i.y; -} -if( activeMaskStackC[3] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R8i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R8i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.w)); -// 3 -backupReg0i = R2i.z; -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(backupReg0i))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R8i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R8i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R8i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R8i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R8i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R8i.y)); -} -if( activeMaskStackC[4] == true ) { -R9i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R9i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R12i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.w))?1.0:0.0); -R8i.x = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(R2i.z)); -PS0i = R8i.x; -} -if( activeMaskStackC[3] == true ) { -R12i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R12i.x) + intBitsToFloat(R12i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R8i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R12i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R6i.y; -backupReg0i = R6i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R6i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R6i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R12i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R12i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R12i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R8i.x))?1.0:0.0); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R12i.z))?1.0:0.0); -PS0i = R127i.x; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R8i.x))?1.0:0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PS1i))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.y)); -// 6 -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R7i.x)))); -PV0i.y = R123i.y; -// 7 -backupReg0i = R7i.x; -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R9i.x; -// 4 -R7i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R8i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS0i = R4i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R7i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R6i.y = floatBitsToInt(uf_blockPS8[24].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS1i = R6i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R7i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R3i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R7i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R7i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R7i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R7i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R7i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R7i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R9i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R8i.y))); -R6i.z = floatBitsToInt(-(intBitsToFloat(R8i.x)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R9i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R9i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R6i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R6i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R6i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R9i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R9i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R9i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R6i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.y))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R9i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R6i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3dcccccd)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.y)); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 4 -PV0i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.x)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.x))); -// 6 -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 8 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.y))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R10i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R7i.x))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R10i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R10i.y))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS3[21].x)); -// 1 -R1i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -PS1i = R126i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R7i.x)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R0i.x))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R7i.y = 0; -PS0i = R7i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.x))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.x))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -PS1i = R127i.y; -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].x)); -R126i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].y)); -// 5 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), uf_blockPS3[10].z)); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -// 6 -R2i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.y)),intBitsToFloat(PS1i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV0i.w = R123i.w; -// 7 -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R2i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS1i))); -// 9 -R5i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R4i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R4i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.z))); -PV1i.w = R123i.w; -// 2 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R0i.x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.w = R127i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(R2i.x)); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R2i.z)) + intBitsToFloat(PV0i.z))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R1i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R2i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV0i.w = R123i.w; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.x))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.z))); -PV1i.x = R123i.x; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R5i.y))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.x))); -// 8 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS10[2].x)); -PV0i.x = R6i.x; -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[2].y)); -PV0i.y = R6i.y; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), uf_blockPS10[2].z)); -PV0i.z = R6i.z; -// 1 -R0i.xyz = ivec3(PV0i.x,PV0i.y,PV0i.z); -R0i.w = R6i.w; -// 2 -R1i.xyz = ivec3(R7i.x,R7i.y,R7i.y); -R1i.w = R7i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/f4525e13d6671be9_00000000001e3849_ps.txt b/Source/TokyoMirage/f4525e13d6671be9_00000000001e3849_ps.txt deleted file mode 100644 index a4f47fdc..00000000 --- a/Source/TokyoMirage/f4525e13d6671be9_00000000001e3849_ps.txt +++ /dev/null @@ -1,852 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader f4525e13d6671be9 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1b28e000 res 256x256x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x1a5c4000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R3i.z = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R4i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -PS0i = R4i.w; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R8i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 2 -R10i.xyz = ivec3(0,0,0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(PS1i))); -R1i.w = 0; -PS0i = R1i.w; -// 3 -PS1i = int(uint(intBitsToFloat(R127i.z))); -// 4 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 6 -PV0i.w = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R7i.x = floatBitsToInt(tempResultf); -PS0i = R7i.x; -// 7 -R6i.x = PV0i.w << 0x00000002; -R6i.y = PV0i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R8i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R3i.x = R6i.y + 0x00000e10; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R7i.x))); -PV0i.z = R8i.x << R3i.z; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R7i.x))); -PS0i = R4i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R2i.w = (R3i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R2i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.x + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R6i.z << R3i.z; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R4i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),vec4(-(intBitsToFloat(R7i.x)),-(intBitsToFloat(R7i.y)),-(intBitsToFloat(R7i.z)),-(intBitsToFloat(R7i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R8i.y << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R3i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R3i.y > R9i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.x; -backupReg0i = R9i.x; -R9i.x = backupReg0i + int(1); -PV0i.y = R3i.x + backupReg0i; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R6i.x << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000005; -R6i.y = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xy = floatBitsToInt(uf_blockPS11[R6i.x].xy); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.z << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -R11i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R11i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R11i.z > R3i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.y; -backupReg0i = R3i.y; -R3i.y = backupReg0i + int(1); -PV0i.z = R3i.x + backupReg0i; -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.y << R3i.z; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R8i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.y].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R10i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R10i.z))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R10i.x))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.x = floatBitsToInt(-(uf_blockPS2[1].y) + 1.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.z = floatBitsToInt(-(uf_blockPS2[1].z) + 1.0); -R127i.w = floatBitsToInt(-(uf_blockPS2[1].x) + 1.0); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.y = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R0i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R3i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R1i.z))) + uf_blockPS10[1].z)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -R0i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), uf_blockPS3[20].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R4i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS3[20].z)); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -PS1i = R2i.x; -// 4 -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.z))); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,PV0i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.y,R3i.y); -R1i.w = R3i.y; -} -// export -if( ((vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/f4525e13d6671be9_0000000000f0f249_ps.txt b/Source/TokyoMirage/f4525e13d6671be9_0000000000f0f249_ps.txt deleted file mode 100644 index 20c8281f..00000000 --- a/Source/TokyoMirage/f4525e13d6671be9_0000000000f0f249_ps.txt +++ /dev/null @@ -1,850 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader f4525e13d6671be9 -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1b658000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x1a4c4000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R3i.z = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R4i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -PS0i = R4i.w; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R8i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 2 -R10i.xyz = ivec3(0,0,0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(PS1i))); -R1i.w = 0; -PS0i = R1i.w; -// 3 -PS1i = int(uint(intBitsToFloat(R127i.z))); -// 4 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 6 -PV0i.w = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R7i.x = floatBitsToInt(tempResultf); -PS0i = R7i.x; -// 7 -R6i.x = PV0i.w << 0x00000002; -R6i.y = PV0i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R8i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R3i.x = R6i.y + 0x00000e10; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R7i.x))); -PV0i.z = R8i.x << R3i.z; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R7i.x))); -PS0i = R4i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R2i.w = (R3i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R2i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.x + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R6i.z << R3i.z; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R4i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),vec4(-(intBitsToFloat(R7i.x)),-(intBitsToFloat(R7i.y)),-(intBitsToFloat(R7i.z)),-(intBitsToFloat(R7i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R8i.y << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R3i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R3i.y > R9i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.x; -backupReg0i = R9i.x; -R9i.x = backupReg0i + int(1); -PV0i.y = R3i.x + backupReg0i; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R6i.x << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000005; -R6i.y = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xy = floatBitsToInt(uf_blockPS11[R6i.x].xy); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.z << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -R11i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R11i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R11i.z > R3i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.y; -backupReg0i = R3i.y; -R3i.y = backupReg0i + int(1); -PV0i.z = R3i.x + backupReg0i; -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.y << R3i.z; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R8i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.y].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -backupReg2i = R10i.z; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R10i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R10i.z))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R10i.x))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.x = floatBitsToInt(-(uf_blockPS2[1].y) + 1.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R127i.z = floatBitsToInt(-(uf_blockPS2[1].z) + 1.0); -R127i.w = floatBitsToInt(-(uf_blockPS2[1].x) + 1.0); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.y = tempi.x; -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R0i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R3i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.z; -R1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R1i.z))) + uf_blockPS10[1].z)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -R0i.y = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), uf_blockPS3[20].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R4i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS3[20].z)); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -PS1i = R2i.x; -// 4 -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.z))); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,PV0i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.y,R3i.y); -R1i.w = R3i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/f5714975b9b463ed_000001e1e1e49249_ps.txt b/Source/TokyoMirage/f5714975b9b463ed_000001e1e1e49249_ps.txt deleted file mode 100644 index f8d5cf5b..00000000 --- a/Source/TokyoMirage/f5714975b9b463ed_000001e1e1e49249_ps.txt +++ /dev/null @@ -1,1545 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader f5714975b9b463ed -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x35adc000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x35fec000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x35d8c000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -R5i.z = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R9i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R9i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R3i.x = 0; -PS0i = R3i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.y),intBitsToFloat(R5i.z),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.w = tempi.x; -R3i.y = 0; -PS1i = R3i.y; -// 4 -R3i.z = 0; -R1i.w = 0; -PS0i = int(uint(intBitsToFloat(R127i.z))); -// 5 -R126i.x = int(uint(PS0i) * uint(0x00000050)); -PS1i = R126i.x; -// 6 -PS0i = int(uint(intBitsToFloat(R127i.x))); -// 7 -PV1i.w = R126i.x + PS0i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.y)); -R5i.w = floatBitsToInt(tempResultf); -PS1i = R5i.w; -// 8 -R5i.x = PV1i.w << 0x00000002; -R5i.y = PV1i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R8i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R5i.w))); -PV0i.z = R8i.x << R9i.x; -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.w))); -PS0i = R4i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -R9i.z = R5i.y + 0x00000e10; -tempResultf = 1.0 / sqrt(intBitsToFloat(R6i.w)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R7i.y = PV1i.x & 0x0000ffff; -PS0i = R7i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R5i.y = (R7i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R9i.z + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = R5i.z << R9i.x; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -// 4 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.y << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R11i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R11i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R11i.z > R8i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.y; -PV0i.y = R9i.z + R8i.y; -R8i.y = backupReg0i + int(1); -PS0i = R8i.y; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R5i.x << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.w) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.x & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xy = floatBitsToInt(uf_blockPS11[R5i.x].xy); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(R5i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.z)),intBitsToFloat(backupReg0i)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(backupReg0i))); -// 7 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 8 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -// 9 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R8i.z << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -R1i.w = PV1i.x & 0x0000ffff; -// 3 -predResult = (R1i.w > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R11i.z = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R5i.x = (R1i.w > R11i.z)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R5i.x != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R11i.z; -backupReg0i = R11i.z; -R11i.z = backupReg0i + int(1); -PV0i.w = R9i.z + backupReg0i; -// 1 -R5i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.y << R9i.x; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.x & 0x0000ffff; -// 3 -PV1i.w = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R5i.x = PS0i + int(1); -R5i.y = PS0i + 0x00000004; -R5i.z = PS0i + 0x00000005; -R5i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.z].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.w; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(backupReg2i))); -R127i.w = clampFI32(R127i.w); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R126i.x; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) / 2.0); -// 7 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -// 8 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.x))); -PV0i.w = clampFI32(PV0i.w); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.w)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.z))); -// 10 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -R5i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R4i.xy)).xyz); -R9i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.z; -// 1 -R127i.x = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.z = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.w = R127i.w; -R125i.y = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -PS1i = R125i.y; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R126i.y = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R125i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.w)); -R124i.z = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -PS1i = R124i.z; -// 4 -R125i.x = ((R127i.x == 0)?(0):(0x3f800000)); -R4i.y = ((R126i.z == 0)?(0):(0x3f800000)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.x))); -R124i.y = ((R127i.y == 0)?(0):(0x3f800000)); -PS0i = R124i.y; -// 5 -backupReg0i = R125i.z; -PV1i.x = floatBitsToInt(-(intBitsToFloat(R125i.y)) + 1.0); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R124i.z))); -R125i.z = floatBitsToInt(min(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.z))); -R5i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PV1i.w = R5i.w; -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS1i = R127i.x; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R125i.y))); -R125i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.x) + 1.0)); -R124i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R4i.y) + 1.0)); -R127i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R124i.y) + 1.0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -R126i.y = clampFI32(R126i.y); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R6i.y)) + 1.0); -R124i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(backupReg0i)) + 1.0)); -PV1i.w = R124i.w; -R126i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -PS1i = R126i.w; -// 8 -backupReg0i = R125i.y; -backupReg1i = R127i.w; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R7i.x))); -PV0i.x = R126i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R7i.y))); -PV0i.y = R125i.y; -R125i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -PV0i.z = R125i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R7i.z))); -R127i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R127i.y; -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R5i.y)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R124i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R5i.z)); -R124i.z = floatBitsToInt(intBitsToFloat(R124i.z) * 2.0); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R5i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 2.0); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV0i.y))); -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R126i.y) + intBitsToFloat(0x40400000))); -PV0i.x = R123i.x; -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.y))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(PS1i))); -PS0i = R125i.w; -// 11 -backupReg0i = R126i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.z))); -R126i.y = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R9i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.x))); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R9i.y)); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R127i.x = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R9i.z)); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -PS1i = R127i.x; -// 12 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R7i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R125i.y))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.x), intBitsToFloat(backupReg0i))); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R7i.z))); -PS0i = R124i.z; -// 13 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R7i.y))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.w))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.y))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS3[8].x)); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS3[8].y)); -PS1i = R127i.x; -// 14 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(R125i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(R124i.z))); -PV0i.y = R123i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS3[8].z)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS3[8].w)); -PS0i = R124i.z; -// 15 -backupReg0i = R126i.x; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R5i.y)) + intBitsToFloat(backupReg0i))); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), uf_blockPS10[5].x)); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.y))); -tempResultf = log2(intBitsToFloat(backupReg1i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 16 -backupReg0i = R125i.z; -backupReg1i = R124i.z; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), uf_blockPS10[5].x)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(PS1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[5].x)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), uf_blockPS10[5].x)); -PS0i = R124i.z; -// 17 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[2].y)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), uf_blockPS10[2].x)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].z)); -R124i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R124i.x; -// 18 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), uf_blockPS10[0].x)); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), uf_blockPS10[0].x)); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), uf_blockPS10[0].x)); -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PV1i.y))); -PS0i = R7i.x; -// 19 -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R127i.x))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(R124i.w))); -R11i.w = 0; -R0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(R124i.x))); -PS1i = R0i.y; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R3i.x))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R3i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R3i.z))); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.y = R127i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[1].y)); -PV1i.z = R124i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.z))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R124i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R124i.w; -// 2 -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -// 4 -R9i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R7i.z = floatBitsToInt(uf_blockPS4[2].x); -R7i.z = floatBitsToInt(intBitsToFloat(R7i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[2].w)); -R0i.x = floatBitsToInt(uf_blockPS8[23].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -PS0i = R0i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R9i.y = floatBitsToInt(uf_blockPS8[23].y); -R9i.y = floatBitsToInt(intBitsToFloat(R9i.y) / 2.0); -PS1i = R9i.y; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R11i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R9i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R4i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R4i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R11i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R4i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R4i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R4i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -R4i.w = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R4i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R4i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R4i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R4i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R5i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R9i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R9i.y; -R4i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R4i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R10i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R4i.xy)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R4i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R4i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R4i.w))?1.0:0.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -R0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.z)); -PS0i = R0i.x; -// 3 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.x)); -// 6 -R10i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922)); -// 7 -backupReg0i = R0i.x; -predResult = (intBitsToFloat(backupReg0i) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R5i.x; -// 3 -R3i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.z))); -PV1i.y = R5i.y; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R10i.x = floatBitsToInt(uf_blockPS8[24].x); -R10i.x = floatBitsToInt(intBitsToFloat(R10i.x) / 2.0); -PS1i = R10i.x; -// 4 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R3i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R10i.y = floatBitsToInt(uf_blockPS8[24].y); -R10i.y = floatBitsToInt(intBitsToFloat(R10i.y) / 2.0); -PS0i = R10i.y; -} -if( activeMaskStackC[3] == true ) { -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R3i.xy)).xyzw); -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R3i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R8i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(PV1i.w)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.z))); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R3i.x))); -R8i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R10i.x))); -PV0i.w = R10i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R3i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R3i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R3i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(backupReg0i)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(R8i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[4] == true ) { -R8i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R8i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R8i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R8i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R5i.x; -backupReg1i = R5i.y; -backupReg2i = R2i.z; -R5i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(backupReg0i))); -R5i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(backupReg1i))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(backupReg2i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.x))?1.0:0.0); -R1i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.w))?1.0:0.0); -PS0i = R1i.y; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R5i.xy)).xyzw); -R9i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R5i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R4i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R4i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R4i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R8i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R4i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(R7i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R1i.y = ((PV1i.x == 0)?(0):(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.y != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.y = floatBitsToInt(-(intBitsToFloat(R10i.y))); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R10i.x))); -PV0i.w = R10i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R2i.y; -// 1 -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R10i.x)) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R5i.y)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R9i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R9i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R9i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R10i.z)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R10i.z; -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R6i.w = floatBitsToInt(uf_blockPS4[2].x); -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 4.0); -PS0i = R6i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R3i.x; -// 4 -R4i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R9i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS8[6].w)); -R0i.x = floatBitsToInt(uf_blockPS8[24].x); -R0i.x = floatBitsToInt(intBitsToFloat(R0i.x) / 2.0); -PS0i = R0i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R4i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R5i.y = floatBitsToInt(uf_blockPS8[24].y); -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) / 2.0); -PS1i = R5i.y; -} -if( activeMaskStackC[2] == true ) { -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R4i.xy)).xyzw); -R8i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R10i.x) + intBitsToFloat(R10i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV1i.w)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R1i.z))); -PS0i = R2i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R4i.x))); -R10i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R5i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R4i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R4i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R4i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R4i.y))); -R4i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(backupReg0i)); -PS1i = R4i.x; -// 2 -backupReg0i = R4i.y; -R4i.y = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R10i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R10i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R10i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R10i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R4i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.z; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R3i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R9i.y))); -R2i.z = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.x))?1.0:0.0); -R2i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.w))?1.0:0.0); -PS0i = R2i.w; -} -if( activeMaskStackC[2] == true ) { -R4i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R3i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R4i.w)); -PV0i.y = floatBitsToInt((intBitsToFloat(R8i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R8i.w) >= intBitsToFloat(R2i.z))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R8i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R10i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R8i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -R127i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PS0i = R127i.x; -// 3 -PV1i.x = ((intBitsToFloat(R6i.w) != intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = ((intBitsToFloat(PV0i.x) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -R1i.w = ((PV1i.x == 0)?(0):(PV1i.w)); -// 5 -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R4i.y = floatBitsToInt(-(intBitsToFloat(R5i.y))); -PV0i.y = R4i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R0i.x))); -PV0i.w = R5i.y; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R0i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R4i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R4i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R4i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R3i.x) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R3i.y) >= intBitsToFloat(R2i.z))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.y))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R4i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -PV1i.w = floatBitsToInt((intBitsToFloat(R3i.z) >= intBitsToFloat(R2i.z))?1.0:0.0); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.w)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.y)); -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.z; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.z)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.w; -PV0i.x = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R10i.z))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(R0i.y))); -PV0i.w = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg0i))); -PS0i = R2i.x; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -R0i.y = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.w) + -(intBitsToFloat(PV0i.x))); -R6i.w = 0; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R127i.y; -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS3[10].x)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.y)) + 1.0)); -R123i.x = clampFI32(R123i.x); -PV1i.x = R123i.x; -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.w))); -R2i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -PS1i = R2i.y; -// 4 -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.z = floatBitsToInt(tempResultf); -PS0i = R127i.z; -// 5 -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -// 6 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS10[5].x)); -// 7 -R4i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R3i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R0i.w))); -PV1i.x = R127i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R0i.z))); -PV1i.w = R127i.w; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg0i)); -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R2i.y)); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.w))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R1i.x)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -PS0i = R6i.x; -// 5 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.z))); -PV0i.x = R123i.x; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.y))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R4i.x))); -// 7 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R4i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].x, intBitsToFloat(R1i.w))); -R5i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].y, intBitsToFloat(R0i.z))); -R5i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].z, intBitsToFloat(R4i.y))); -// 1 -R2i.xyz = ivec3(R7i.x,R6i.y,R6i.z); -R2i.w = R11i.w; -// 2 -R0i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -R0i.w = R5i.w; -// 3 -R1i.xyz = ivec3(R6i.x,R6i.w,R6i.w); -R1i.w = R6i.w; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor4 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/f579e3ba9295354e_000000000003c709_ps.txt b/Source/TokyoMirage/f579e3ba9295354e_000000000003c709_ps.txt deleted file mode 100644 index 1bc41d3e..00000000 --- a/Source/TokyoMirage/f579e3ba9295354e_000000000003c709_ps.txt +++ /dev/null @@ -1,818 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader f579e3ba9295354e -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -uniform float uf_alphaTestRef; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1bc3e000 res 128x128x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R3i.z = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R4i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -PS0i = R4i.w; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R7i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 2 -R9i.xyz = ivec3(0,0,0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(PS1i))); -R1i.w = 0; -PS0i = R1i.w; -// 3 -PS1i = int(uint(intBitsToFloat(R127i.z))); -// 4 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 6 -PV0i.w = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R6i.x = floatBitsToInt(tempResultf); -PS0i = R6i.x; -// 7 -R5i.x = PV0i.w << 0x00000002; -R5i.y = PV0i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R3i.x = R5i.y + 0x00000e10; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.x))); -PV0i.z = R7i.x << R3i.z; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.x))); -PS0i = R4i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R2i.w = (R3i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R2i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.x + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R5i.z << R3i.z; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R4i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.y << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R3i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R3i.y > R8i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg0i = R8i.x; -R8i.x = backupReg0i + int(1); -PV0i.y = R3i.x + backupReg0i; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.x << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.x].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.z << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -R10i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R10i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R10i.z > R3i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.y; -backupReg0i = R3i.y; -R3i.y = backupReg0i + int(1); -PV0i.z = R3i.x + backupReg0i; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.y << R3i.z; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R7i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.y].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -// 1 -PV1i.x = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R1i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R9i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R9i.z))); -// 2 -R0i.y = ((PV1i.x == 0)?(0):(0)); -R3i.z = ((PV1i.x == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[1].y)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS10[1].y)); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -// 1 -predResult = (R3i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = backupReg0i; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R4i.w = 0x3f800000; -PV0i.w = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R5i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PS1i)); -R5i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.wy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R3i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R3i.w = floatBitsToInt(intBitsToFloat(R3i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R3i.w; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R3i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), uf_blockPS3[20].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R4i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS3[20].z)); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -PS1i = R2i.x; -// 4 -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.z))); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,PV0i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.y,R3i.y); -R1i.w = R3i.y; -} -// export -if( ((vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))).a > uf_alphaTestRef) == false) discard; -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/f579e3ba9295354e_00000000001e1e49_ps.txt b/Source/TokyoMirage/f579e3ba9295354e_00000000001e1e49_ps.txt deleted file mode 100644 index 8f6d0d2f..00000000 --- a/Source/TokyoMirage/f579e3ba9295354e_00000000001e1e49_ps.txt +++ /dev/null @@ -1,816 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader f579e3ba9295354e -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1c371000 res 256x256x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R3i.z = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R4i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -PS0i = R4i.w; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.z = floatBitsToInt(floor(intBitsToFloat(PV0i.w))); -R7i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 2 -R9i.xyz = ivec3(0,0,0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + intBitsToFloat(PS1i))); -R1i.w = 0; -PS0i = R1i.w; -// 3 -PS1i = int(uint(intBitsToFloat(R127i.z))); -// 4 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 6 -PV0i.w = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R6i.x = floatBitsToInt(tempResultf); -PS0i = R6i.x; -// 7 -R5i.x = PV0i.w << 0x00000002; -R5i.y = PV0i.w << 0x00000005; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R3i.x = R5i.y + 0x00000e10; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.x))); -PV0i.z = R7i.x << R3i.z; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.x))); -PS0i = R4i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R2i.w = (R3i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R2i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.x + R1i.w; -R6i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R5i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.w = R5i.z << R3i.z; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R4i.w)); -// 2 -PV0i.y = PV1i.z & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R5i.x = PS1i + 0x00000004; -R5i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),intBitsToFloat(R4i.z)),vec4(-(intBitsToFloat(R6i.x)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.z)),-(intBitsToFloat(R6i.w))))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -// 2 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 3 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R7i.y << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -R3i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R3i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R3i.y > R8i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg0i = R8i.x; -R8i.x = backupReg0i + int(1); -PV0i.y = R3i.x + backupReg0i; -// 1 -R5i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.z = R5i.x << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R4i.w)); -// 2 -PV0i.w = PV1i.x & 0x0000ffff; -// 3 -PV1i.y = floatBitsToInt(uf_blockPS11[0].x) + PV0i.w; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000005; -R5i.y = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R5i.x].xy); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.z; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.w)),intBitsToFloat(R126i.z)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.w))); -// 7 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R7i.z << R3i.z; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -R10i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R10i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R10i.z > R3i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.y; -backupReg0i = R3i.y; -R3i.y = backupReg0i + int(1); -PV0i.z = R3i.x + backupReg0i; -// 1 -R5i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R5i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R5i.y << R3i.z; -// 1 -PV1i.w = int(uint(PV0i.y) >> uint(R4i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.x = R7i.w + PV0i.z; -// 4 -PS0i = PV1i.x * 0x00000005; -// 5 -R5i.x = PS0i + 0x00000003; -R5i.y = PS0i + 0x00000005; -R5i.z = PS0i + 0x00000004; -R5i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R6i.xyz = floatBitsToInt(uf_blockPS11[R5i.w].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R5i.x].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R5i.y].xyzw); -R5i.xyz = floatBitsToInt(uf_blockPS11[R5i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.x))); -R127i.w = clampFI32(R127i.w); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R126i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV0i.z))); -// 6 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PV1i.x)); -// 7 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.y))); -PV1i.z = clampFI32(PV1i.z); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.y))); -// 9 -backupReg0i = R9i.x; -backupReg1i = R9i.y; -backupReg2i = R9i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z)) + intBitsToFloat(backupReg0i))); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg1i))); -R9i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -// 1 -PV1i.x = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -R1i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R9i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R9i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R9i.z))); -// 2 -R0i.y = ((PV1i.x == 0)?(0):(0)); -R3i.z = ((PV1i.x == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS10[1].y)); -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS10[1].y)); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), uf_blockPS10[1].y)); -// 1 -predResult = (R3i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = backupReg0i; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -PV0i.z = R127i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -// 3 -R2i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(PV0i.x)) + intBitsToFloat(PV0i.x))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R4i.w = 0x3f800000; -PV0i.w = R4i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.z))); -R5i.z = PS0i; -R1i.w = PS0i; -PS1i = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 6 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PS1i)); -R5i.w = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.wy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R3i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R3i.w = floatBitsToInt(intBitsToFloat(R3i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R1i.z) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R4i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R3i.w; -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R3i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R3i.y = 0; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R0i.y))) + uf_blockPS10[1].z)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -// 1 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PS0i = R3i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.w = R123i.w; -// 1 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.z = R123i.z; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), uf_blockPS3[20].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R4i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R4i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), uf_blockPS3[20].y)); -PS0i = R127i.z; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R4i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), uf_blockPS3[20].z)); -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.x))); -PS1i = R2i.x; -// 4 -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.z))); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.y))); -PV0i.z = R2i.z; -// 5 -R0i.xyz = ivec3(R2i.x,PV0i.y,PV0i.z); -R0i.w = R2i.w; -// 6 -R1i.xyz = ivec3(R3i.x,R3i.y,R3i.y); -R1i.w = R3i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/fd9b21e74d99c2cc_0000000007879249_ps.txt b/Source/TokyoMirage/fd9b21e74d99c2cc_0000000007879249_ps.txt deleted file mode 100644 index 28f1fa3d..00000000 --- a/Source/TokyoMirage/fd9b21e74d99c2cc_0000000007879249_ps.txt +++ /dev/null @@ -1,1046 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader fd9b21e74d99c2cc -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x1c188000 res 256x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x1c19e000 res 128x256x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0x9) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 10) uniform sampler2D textureUnitPS10;// Tex10 addr 0x184a2000 res 4096x4096x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler10 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 13) uniform sampler2DShadow textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2DShadow textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 1) in vec4 passParameterSem130; -layout(location = 2) in vec4 passParameterSem128; -layout(location = 3) in vec4 passParameterSem144; -layout(location = 4) in vec4 passParameterSem136; -layout(location = 5) in vec4 passParameterSem137; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem130); -R2i = floatBitsToInt(passParameterSem128); -R3i = floatBitsToInt(passParameterSem144); -R4i = floatBitsToInt(passParameterSem136); -R5i = floatBitsToInt(passParameterSem137); -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + uf_blockPS1[2].x); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(0x3d800000)); -R7i.w = floatBitsToInt(-(intBitsToFloat(R2i.y)) + uf_blockPS1[2].y); -R6i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + uf_blockPS1[2].z); -PS0i = R6i.z; -// 1 -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R1i.z))); -R2i.w = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R0i.x = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -PS1i = R0i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R13i.x = 0; -PS0i = R13i.x; -// 3 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.y),intBitsToFloat(R7i.w),intBitsToFloat(R6i.z),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -R13i.y = 0; -PS1i = R13i.y; -// 4 -R12i.x = 0; -R12i.y = 0; -R13i.z = 0; -R1i.w = 0; -R12i.z = 0; -PS0i = R12i.z; -// 5 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 6 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 8 -PV0i.z = R126i.x + PS1i; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -R6i.w = floatBitsToInt(tempResultf); -PS0i = R6i.w; -// 9 -R6i.x = PV0i.z << 0x00000002; -R6i.y = PV0i.z << 0x00000005; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -} -if( activeMaskStackC[1] == true ) { -R9i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R9i.x << backupReg0i; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.w))); -R11i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R6i.w))); -R4i.w = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R3i.z = R6i.y + 0x00000e10; -PS0i = R3i.z; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R7i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PS1i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(PS1i))); -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R8i.y = PV1i.w & 0x0000ffff; -PS0i = R8i.y; -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R6i.y = (R8i.y > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.y = R3i.z + R1i.w; -R7i.w = 0; -R1i.w = backupReg0i + int(1); -PS0i = R1i.w; -// 1 -R6i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R6i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.z << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PS1i = PV0i.z * 0x00000005; -// 4 -R6i.x = PS1i + 0x00000004; -R6i.w = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), -(intBitsToFloat(R7i.w)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R10i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R11i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -// 6 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg2i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.y << R0i.x; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R9i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R9i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R9i.y > R3i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R3i.x; -backupReg0i = R3i.x; -R3i.x = backupReg0i + int(1); -PV0i.w = R3i.z + backupReg0i; -// 1 -R6i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.y = R6i.x << R0i.x; -// 1 -PV1i.z = int(uint(PV0i.y) >> uint(R2i.w)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.w = floatBitsToInt(uf_blockPS11[0].x) + PV0i.x; -// 4 -PS0i = PV1i.w * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000005; -R6i.z = PS0i + 0x00000004; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R6i.xy = floatBitsToInt(uf_blockPS11[R6i.x].xy); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.z].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.x) + -(intBitsToFloat(R6i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.y)),intBitsToFloat(R126i.x)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -backupReg0i = R13i.x; -backupReg1i = R13i.z; -backupReg2i = R13i.y; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg2i))); -PS0i = R13i.y; -// 11 -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R9i.z << R0i.x; -// 1 -PV1i.y = int(uint(PV0i.z) >> uint(R2i.w)); -// 2 -R3i.x = PV1i.y & 0x0000ffff; -// 3 -predResult = (R3i.x > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R6i.y = (R3i.x > R1i.w)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R6i.y != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R1i.w; -PV0i.z = R3i.z + R1i.w; -R1i.w = backupReg0i + int(1); -// 1 -R6i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R6i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = R6i.y << backupReg0i; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R2i.w)); -// 2 -PV0i.z = PV1i.w & 0x0000ffff; -// 3 -PV1i.y = R4i.w + PV0i.z; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R6i.x = PS0i + 0x00000003; -R6i.y = PS0i + 0x00000004; -R6i.z = PS0i + 0x00000005; -R6i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R6i.w].xyz); -R8i.xyz = floatBitsToInt(uf_blockPS11[R6i.x].xyz); -R9i.xyzw = floatBitsToInt(uf_blockPS11[R6i.z].xyzw); -R6i.xyz = floatBitsToInt(uf_blockPS11[R6i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R2i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R2i.z))) + vec3(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(intBitsToFloat(R9i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.w = floatBitsToInt(-(intBitsToFloat(R9i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.y))); -R126i.w = clampFI32(R126i.w); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R127i.x; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R10i.x)) + -(intBitsToFloat(R126i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R11i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),-(intBitsToFloat(R126i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -// 9 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(PV0i.x))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R127i.x))); -PV1i.w = clampFI32(PV1i.w); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -// 11 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.y))); -PV1i.x = R126i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R6i.z))); -PV1i.w = R126i.w; -R125i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R125i.x; -// 12 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -backupReg2i = R13i.z; -backupReg3i = R12i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.x)) + intBitsToFloat(backupReg1i))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg3i))); -PS0i = R12i.x; -// 13 -backupReg0i = R12i.y; -backupReg1i = R12i.z; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R6i.xyzw = floatBitsToInt(texture(textureUnitPS10, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -R7i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R13i.y))); -R7i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R13i.z))); -R7i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R13i.x))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.x)) + intBitsToFloat(R5i.w))); -tempResultf = log2(intBitsToFloat(R6i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 1 -R127i.xyz = floatBitsToInt(vec3(-(uf_blockPS2[1].x),-(uf_blockPS2[1].y),-(uf_blockPS2[1].z)) + vec3(1.0,1.0,1.0)); -PV1i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS2[1].w, intBitsToFloat(PS0i))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R6i.y)) + intBitsToFloat(R5i.w))); -PS1i = R8i.z; -// 2 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R1i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -R3i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -PS0i = R3i.z; -// 3 -backupReg0i = R5i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(PS0i)) + uf_blockPS2[1].z)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PS0i)) + uf_blockPS2[1].x)); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z)) + intBitsToFloat(R5i.w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PS0i)) + uf_blockPS2[1].y)); -PS1i = ((0.0 >= intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 4 -R6i.z = ((PS1i == 0)?(0):(0)); -R2i.w = ((PS1i == 0)?(0):(0x3f800000)); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS10[1].y)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS10[1].y)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS10[1].y)); -// 1 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R5i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.x))); -// 2 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),uf_blockPS10[0].w) + intBitsToFloat(PV1i.z))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.y))); -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),uf_blockPS10[0].w) + intBitsToFloat(PV1i.w))); -// 3 -predResult = (R2i.w == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = R1i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 4.0); -PV0i.x = clampFI32(PV0i.x); -R127i.w = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.w = R127i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.x) + intBitsToFloat(0x40400000))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.z))); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.y))); -// 4 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R3i.w))); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[2].x,uf_blockPS8[2].y,uf_blockPS8[2].z,uf_blockPS8[2].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i)); -PS0i = clampFI32(PS0i); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -R1i.w = PS0i; -R5i.w = PS0i; -PS1i = R5i.w; -// 6 -backupReg0i = R3i.w; -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -R5i.z = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R3i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.y)); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -} -if( activeMaskStackC[3] == true ) { -R1i.w = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R5i.z = floatBitsToInt(texture(textureUnitPS13, vec3(intBitsToFloat(R5i.zy), intBitsToFloat(R5i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R4i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(R5i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -// 1 -predResult = (intBitsToFloat(R3i.w) > 0.0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R127i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PS1i))); -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -PS0i = R1i.x; -// 5 -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.z)); -PV1i.z = clampFI32(PV1i.z); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -PS1i = R1i.y; -// 6 -R2i.w = PV1i.z; -R1i.w = PV1i.z; -PS0i = R1i.w; -} -if( activeMaskStackC[4] == true ) { -R2i.y = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -PS0i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS0i))); -// 2 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[6].x,uf_blockPS8[6].y,uf_blockPS8[6].z,uf_blockPS8[6].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R1i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(PS1i)); -R126i.y = clampFI32(R126i.y); -PS0i = R126i.y; -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(R127i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -R2i.w = PS0i; -PS1i = R2i.w; -// 6 -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(PV1i.x))); -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -R1i.w = R126i.y; -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PV1i.x))); -PS0i = R1i.x; -// 7 -R3i.x = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R127i.z))); -R5i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.z)); -PS1i = R5i.w; -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R2i.z = floatBitsToInt(texture(textureUnitPS14, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R3i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R2i.w) + intBitsToFloat(R2i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PV0i.y = R126i.y; -// 1 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R5i.w))); -// 2 -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R6i.z = floatBitsToInt(min(intBitsToFloat(R1i.z), intBitsToFloat(R4i.w))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R4i.xy)).xyz); -R4i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R3i.y),intBitsToFloat(R10i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.z = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R123i.w = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R6i.z))) + uf_blockPS10[1].z)); -PV1i.w = R123i.w; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(R1i.x))); -PS1i = R126i.w; -// 2 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R6i.z)) + uf_blockPS3[19].w)); -PV0i.y = R123i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(PV1i.w)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(R1i.y))); -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R127i.x; -// 3 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R1i.z))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(R127i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS3[21].x)); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), uf_blockPS10[5].x)); -PS1i = R5i.w; -// 4 -R6i.y = 0; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.x))); -PV0i.w = clampFI32(PV0i.w); -// 5 -R123i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV0i.w) + intBitsToFloat(0x40400000))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.y))); -// 7 -R3i.xyz = ivec3(floatBitsToInt(uf_blockPS10[2].x),floatBitsToInt(uf_blockPS10[2].y),floatBitsToInt(uf_blockPS10[2].z)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(PS1i))); -// 9 -R1i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(PS1i))); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.x))); -// 12 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.x))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -// 1 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.w = R123i.w; -// 2 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.y)) + intBitsToFloat(backupReg0i))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R0i.y))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PV1i.w))); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R4i.z)) + intBitsToFloat(R0i.w))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R1i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R1i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -// 4 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R3i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R3i.y))); -PS0i = R5i.y; -// 5 -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R3i.z))); -PV1i.z = R5i.z; -// 6 -R0i.xyz = ivec3(R5i.x,R5i.y,PV1i.z); -R0i.w = R5i.w; -// 7 -R1i.xyz = ivec3(R6i.z,R6i.y,R6i.y); -R1i.w = R6i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Source/TokyoMirage/fdb5a87dd0368c6b_000000000000f249_ps.txt b/Source/TokyoMirage/fdb5a87dd0368c6b_000000000000f249_ps.txt deleted file mode 100644 index d46f0ef2..00000000 --- a/Source/TokyoMirage/fdb5a87dd0368c6b_000000000000f249_ps.txt +++ /dev/null @@ -1,477 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //shadows -// shader fdb5a87dd0368c6b -uniform ivec4 uf_remappedPS[23]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4386000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) uniform sampler2DShadow textureUnitPS1;// Tex1 addr 0xf551a000 res 1024x1024x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 2) uniform sampler2DShadow textureUnitPS2;// Tex2 addr 0xf571a000 res 1024x1024x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 3) uniform sampler2DShadow textureUnitPS3;// Tex3 addr 0xf591a000 res 512x512x1 dim 1 tm: 4 format 0005 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 6 6 6 border: 2 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem1); -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(uf_remappedPS[0].z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.w = tempi.x; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(PS0i)); -R6i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].y) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].y) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].x) * 1.0); -R4i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].x) * 1.0); -PS1i = R4i.x; -// 2 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PV1i.x))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(PV1i.x))); -R5i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[1].z) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[2].z) * 1.0); -// 3 -backupReg0i = R127i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[3].x)) + intBitsToFloat(R127i.w))); -PV1i.x = R123i.x; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[3].z)) + intBitsToFloat(PV0i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[3].y)) + intBitsToFloat(backupReg0i))); -PV1i.w = R123i.w; -// 4 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(PV1i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(R4i.x))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(R6i.y))); -// 5 -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R5i.z))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(R127i.z))); -// 6 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(R126i.z))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[7].y)) + intBitsToFloat(backupReg0i))); -PV0i.y = R127i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[7].x)) + intBitsToFloat(backupReg1i))); -PV0i.z = R126i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(backupReg2i))); -// 7 -backupReg0i = R126i.y; -backupReg1i = R126i.w; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + -(0.5)); -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + -(0.5)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(backupReg0i))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[7].z)) + intBitsToFloat(backupReg1i))); -// 8 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[8].x)) + intBitsToFloat(R127i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[8].y)) + intBitsToFloat(R127i.w))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[8].z)) + intBitsToFloat(PV1i.z))); -R2i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PS0i = R2i.x; -// 9 -R127i.x = ((0.5 > intBitsToFloat(PS0i))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(uf_remappedPS[9].z)); -PV1i.z = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(uf_remappedPS[10].z)); -R0i.y = floatBitsToInt(max(intBitsToFloat(R126i.y), -(intBitsToFloat(R126i.y)))); -PS1i = R0i.y; -// 10 -R126i.x = ((0.5 > intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(uf_remappedPS[11].z)); -PV0i.z = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(uf_remappedPS[12].z)); -R0i.w = PV1i.y; -R0i.w = clampFI32(R0i.w); -R1i.w = PV1i.z; -R1i.w = clampFI32(R1i.w); -PS0i = R1i.w; -// 11 -R0i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(uf_remappedPS[9].x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(uf_remappedPS[13].z)); -R0i.z = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(uf_remappedPS[9].y)); -R2i.w = PV0i.z; -R2i.w = clampFI32(R2i.w); -R3i.w = PV0i.y; -R3i.w = clampFI32(R3i.w); -PS1i = R3i.w; -// 12 -R1i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(uf_remappedPS[10].x)); -R1i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(uf_remappedPS[10].y)); -R2i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(uf_remappedPS[12].x)); -R4i.w = PV1i.y; -R4i.w = clampFI32(R4i.w); -R2i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(uf_remappedPS[12].y)); -PS0i = R2i.y; -// 13 -R3i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(uf_remappedPS[11].x)); -R3i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(uf_remappedPS[11].y)); -R4i.z = floatBitsToInt(intBitsToFloat(R6i.x) + intBitsToFloat(uf_remappedPS[13].x)); -R6i.w = ((R127i.x == 0)?(0):(R126i.x)); -R4i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(uf_remappedPS[13].y)); -PS1i = R4i.y; -} -if( activeMaskStackC[1] == true ) { -R8i.x = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R0i.xz), intBitsToFloat(R0i.w)))); -R0i.x = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R1i.xy), intBitsToFloat(R1i.w)))); -R9i.x = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R2i.zy), intBitsToFloat(R2i.w)))); -R10i.x = floatBitsToInt(texture(textureUnitPS1, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS3, vec3(intBitsToFloat(R4i.zy), intBitsToFloat(R4i.w)))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R7i.x = floatBitsToInt(intBitsToFloat(uf_remappedPS[14].x) * 1.0); -PV0i.x = R7i.x; -R1i.y = floatBitsToInt(intBitsToFloat(uf_remappedPS[14].y) * 1.0); -PV0i.y = R1i.y; -R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedPS[14].z) * 1.0); -PV0i.z = R2i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[15].z)) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[15].y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[15].x)) + intBitsToFloat(PV0i.x))); -PV1i.w = R123i.w; -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[16].x)) + intBitsToFloat(PV1i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[16].z)) + intBitsToFloat(PV1i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -// 3 -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[17].x)) + intBitsToFloat(PV0i.y))); -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[17].y)) + intBitsToFloat(PV0i.w))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[17].z)) + intBitsToFloat(PV0i.z))); -// 4 -predResult = (R6i.w != 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.x) + intBitsToFloat(R0i.x)); -R5i.w = floatBitsToInt(max(intBitsToFloat(R2i.x), intBitsToFloat(R0i.y))); -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R9i.x)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R10i.x)); -// 3 -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * 0.25); -// 4 -predResult = (intBitsToFloat(R5i.w) > intBitsToFloat(0x3eae147b)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(uf_remappedPS[18].x)); -R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(uf_remappedPS[18].y)); -R1i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(uf_remappedPS[18].z)); -PV0i.z = R1i.z; -// 1 -R8i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(uf_remappedPS[19].x)); -R8i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(uf_remappedPS[19].y)); -R1i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(uf_remappedPS[19].z)); -PV1i.z = R1i.z; -R0i.w = PV0i.z; -R0i.w = clampFI32(R0i.w); -// 2 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(uf_remappedPS[20].x)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(uf_remappedPS[20].y)); -R1i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(uf_remappedPS[20].z)); -PV0i.z = R1i.z; -R8i.w = PV1i.z; -R8i.w = clampFI32(R8i.w); -// 3 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -R3i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(uf_remappedPS[21].x)); -R3i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(uf_remappedPS[21].y)); -R1i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(uf_remappedPS[21].z)); -PV1i.z = R1i.z; -R2i.w = PV0i.z; -R2i.w = clampFI32(R2i.w); -// 4 -R3i.w = PV1i.z; -R3i.w = clampFI32(R3i.w); -} -if( activeMaskStackC[3] == true ) { -R1i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R0i.xy), intBitsToFloat(R0i.w)))); -R0i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R8i.xy), intBitsToFloat(R8i.w)))); -R2i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R3i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R3i.xy), intBitsToFloat(R3i.w)))); -} -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.y = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(R1i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.w) + -(intBitsToFloat(0x3eae147b))); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R2i.x)); -R127i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x40c80000)); -// 2 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R3i.x)); -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * 0.25 + -(intBitsToFloat(R1i.w)))); -PV1i.x = R123i.x; -// 4 -backupReg0i = R1i.w; -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[15].z)) + intBitsToFloat(R2i.z))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[15].y)) + intBitsToFloat(R1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[15].x)) + intBitsToFloat(R7i.x))); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[16].x)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[16].z)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[16].y)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -// 2 -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[17].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[17].y)) + intBitsToFloat(PV1i.w))); -PV0i.y = R3i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[17].z)) + intBitsToFloat(PV1i.z))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + -(0.5)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + -(0.5)); -// 4 -R0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w)))); -PV0i.x = R0i.x; -R0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), -(intBitsToFloat(PV1i.z)))); -PV0i.y = R0i.y; -// 5 -PV1i.x = ((0.5 > intBitsToFloat(PV0i.y))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((0.5 > intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0)); -// 6 -R0i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 7 -predResult = (R0i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(uf_remappedPS[18].z)); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(uf_remappedPS[19].z)); -R6i.w = floatBitsToInt(max(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y))); -// 1 -R0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(uf_remappedPS[19].x)); -R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(uf_remappedPS[19].y)); -R1i.z = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(uf_remappedPS[18].x)); -R0i.w = PV0i.z; -R0i.w = clampFI32(R0i.w); -R1i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(uf_remappedPS[18].y)); -PS1i = R1i.y; -// 2 -backupReg0i = R0i.z; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(uf_remappedPS[20].x)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(uf_remappedPS[20].y)); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(uf_remappedPS[20].z)); -R1i.w = R127i.x; -R1i.w = clampFI32(R1i.w); -// 3 -backupReg0i = R3i.x; -R3i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(uf_remappedPS[21].x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(uf_remappedPS[21].z)); -R3i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(uf_remappedPS[21].y)); -R2i.w = PV0i.z; -R2i.w = clampFI32(R2i.w); -// 4 -R3i.w = PV1i.y; -R3i.w = clampFI32(R3i.w); -} -if( activeMaskStackC[3] == true ) { -R0i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R0i.xy), intBitsToFloat(R0i.w)))); -R1i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R1i.zy), intBitsToFloat(R1i.w)))); -R2i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R2i.xy), intBitsToFloat(R2i.w)))); -R3i.x = floatBitsToInt(texture(textureUnitPS2, vec3(intBitsToFloat(R3i.xz), intBitsToFloat(R3i.w)))); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.y = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(R1i.x)); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R2i.x)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R3i.x)); -// 3 -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * 0.25); -// 4 -predResult = (intBitsToFloat(R6i.w) > intBitsToFloat(0x3eae147b)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R4i.x; -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[5].x)) + intBitsToFloat(backupReg0i))); -PV0i.x = R4i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[5].y)) + intBitsToFloat(R6i.y))); -PV0i.y = R1i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[5].z)) + intBitsToFloat(R5i.z))); -PV0i.z = R0i.z; -// 1 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R4i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(PV0i.y))); -PV1i.y = R1i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(PV0i.z))); -PV1i.z = R0i.z; -// 2 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[8].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R4i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[8].y)) + intBitsToFloat(PV1i.y))); -PV0i.y = R1i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedPS[8].z)) + intBitsToFloat(PV1i.z))); -PV0i.z = R0i.z; -// 3 -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedPS[13].x)); -R4i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(uf_remappedPS[13].y)); -R0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(uf_remappedPS[13].z)); -PV1i.z = R0i.z; -// 4 -R4i.w = PV1i.z; -R4i.w = clampFI32(R4i.w); -} -if( activeMaskStackC[4] == true ) { -R0i.x = floatBitsToInt(texture(textureUnitPS3, vec3(intBitsToFloat(R4i.xy), intBitsToFloat(R4i.w)))); -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(R1i.w)) + intBitsToFloat(R0i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.w) + -(intBitsToFloat(0x3eae147b))); -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x40c80000)); -// 2 -backupReg0i = R1i.w; -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.y) + -(0.5)); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.x) + -(0.5)); -// 1 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); -// 2 -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(0x3ecccccd))); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x41200000)); -PV0i.y = clampFI32(PV0i.y); -// 5 -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R1i.x))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(uf_remappedPS[22].x)) + intBitsToFloat(uf_remappedPS[22].y))); -R0i.w = 0; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.x), intBitsToFloat(R0i.x), intBitsToFloat(R0i.w)); -} diff --git a/Source/TokyoMirage/fdea68787e2969ab_0000787879249249_ps.txt b/Source/TokyoMirage/fdea68787e2969ab_0000787879249249_ps.txt deleted file mode 100644 index 36be88bc..00000000 --- a/Source/TokyoMirage/fdea68787e2969ab_0000787879249249_ps.txt +++ /dev/null @@ -1,1752 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -const float resScale = ; //self shading -// shader fdea68787e2969ab -layout(binding = 33, std140) uniform uniformBlockPS1 -{ -vec4 uf_blockPS1[1024]; -}; - -layout(binding = 34, std140) uniform uniformBlockPS2 -{ -vec4 uf_blockPS2[1024]; -}; - -layout(binding = 35, std140) uniform uniformBlockPS3 -{ -vec4 uf_blockPS3[1024]; -}; - -layout(binding = 36, std140) uniform uniformBlockPS4 -{ -vec4 uf_blockPS4[1024]; -}; - -layout(binding = 40, std140) uniform uniformBlockPS8 -{ -vec4 uf_blockPS8[1024]; -}; - -layout(binding = 42, std140) uniform uniformBlockPS10 -{ -vec4 uf_blockPS10[1024]; -}; - -layout(binding = 43, std140) uniform uniformBlockPS11 -{ -vec4 uf_blockPS11[1024]; -}; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x348b4000 res 1024x1024x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x35020000 res 512x512x1 dim 1 tm: 4 format 0431 compSel: 0 1 2 5 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x34b64000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0xa) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x34a0c000 res 1024x1024x1 dim 1 tm: 4 format 0235 compSel: 0 1 4 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0x34f74000 res 1024x1024x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 5 mipView: 0x0 (num 0xb) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 0 0 2 border: 0 -layout(binding = 8) uniform sampler2D textureUnitPS8;// Tex8 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler8 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 13) uniform sampler2D textureUnitPS13;// Tex13 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler13 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 14) uniform sampler2D textureUnitPS14;// Tex14 addr 0x27fb9000 res 1024x1024x1 dim 1 tm: 4 format 0011 compSel: 0 0 0 0 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler14 ClampX/Y/Z: 6 6 6 border: 2 -layout(binding = 15) uniform sampler2D textureUnitPS15;// Tex15 addr 0x277b8800 res 1024x2048x1 dim 1 tm: 4 format 001a compSel: 3 3 3 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler15 ClampX/Y/Z: 6 6 6 border: 1 -layout(location = 1) in vec4 passParameterSem143; -layout(location = 2) in vec4 passParameterSem130; -layout(location = 3) in vec4 passParameterSem128; -layout(location = 4) in vec4 passParameterSem144; -layout(location = 5) in vec4 passParameterSem142; -layout(location = 6) in vec4 passParameterSem136; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 4) out vec4 passPixelColor4; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R30i = ivec4(0); -ivec4 R48i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[4]; -bool activeMaskStackC[5]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem143); -R2i = floatBitsToInt(passParameterSem130); -R3i = floatBitsToInt(passParameterSem128); -R4i = floatBitsToInt(passParameterSem144); -R5i = floatBitsToInt(passParameterSem142); -R6i = floatBitsToInt(passParameterSem136); -if( activeMaskStackC[1] == true ) { -R8i.xy = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R6i.xy)).xy); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3d800000)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R8i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(0x3d800000)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R5i.w))); -PS0i = R126i.w; -// 1 -backupReg0i = R5i.w; -R127i.x = floatBitsToInt(floor(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(floor(intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(backupReg0i))); -R5i.y = R1i.x; -PS1i = R5i.y; -// 2 -R7i.x = R127i.w; -R7i.y = R1i.y; -R127i.z = R2i.x; -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R126i.z = R2i.y; -PS0i = R126i.z; -// 3 -R5i.x = R126i.w; -R1i.y = R1i.z; -R7i.z = R2i.z; -R7i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + uf_blockPS1[2].x); -R9i.y = floatBitsToInt(-(intBitsToFloat(R3i.y)) + uf_blockPS1[2].y); -PS1i = R9i.y; -// 4 -R9i.x = floatBitsToInt(uf_blockPS10[6].x) & 0x0000ffff; -R12i.y = 0; -R8i.z = floatBitsToInt(-(intBitsToFloat(R3i.z)) + uf_blockPS1[2].z); -PV0i.z = R8i.z; -R2i.w = int(floatBitsToUint(uf_blockPS10[6].x) >> uint(0x00000010)); -R12i.x = 0; -PS0i = R12i.x; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(R7i.w),intBitsToFloat(R9i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R12i.z = 0; -PS1i = R12i.z; -// 6 -R11i.xyz = ivec3(0,0,0); -R14i.y = 0; -PS0i = R14i.y; -// 7 -PS1i = int(uint(intBitsToFloat(R127i.y))); -// 8 -R126i.x = int(uint(PS1i) * uint(0x00000050)); -PS0i = R126i.x; -// 9 -PS1i = int(uint(intBitsToFloat(R127i.x))); -// 10 -PV0i.z = R126i.x + PS1i; -R5i.z = floatBitsToInt(sqrt(intBitsToFloat(R127i.w))); -PS0i = R5i.z; -// 11 -R1i.x = PV0i.z << 0x00000002; -R10i.y = PV0i.z << 0x00000005; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R127i.z))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.x)); -R8i.w = floatBitsToInt(tempResultf); -PS1i = R8i.w; -} -if( activeMaskStackC[1] == true ) { -R13i.xyz = floatBitsToInt(vec3(0.0,0.0,0.0)); -} -if( activeMaskStackC[1] == true ) { -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(R1i.w))); -PS0i = R122i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.y; -// 2 -PV0i.x = R13i.x << R2i.w; -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R8i.w))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R8i.w))); -R3i.w = R10i.y + 0x00000e10; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R8i.w))); -PS0i = R0i.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = int(uint(PV0i.x) >> uint(R9i.x)); -// 4 -R9i.z = floatBitsToInt(uf_blockPS11[0].x) + floatBitsToInt(uf_blockPS11[0].y); -R1i.w = PS1i & 0x0000ffff; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -} -while( activeMaskStackC[1] == true ) -{ -if( activeMaskStackC[1] == true ) { -// 0 -R1i.z = (R1i.w > R14i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.z != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R14i.y; -backupReg0i = R14i.y; -R5i.x = 0; -R14i.y = backupReg0i + int(1); -PV0i.w = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.w << 0x00000002; -} -if( activeMaskStackC[1] == true ) { -R1i.z = floatBitsToInt(vec3(0.0,0.0,0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.z = R1i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.x & 0x0000ffff; -// 3 -PS1i = PV0i.y * 0x00000005; -// 4 -R1i.x = PS1i + 0x00000004; -R1i.z = PS1i + 0x00000003; -} -if( activeMaskStackC[1] == true ) { -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.x].xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), -(intBitsToFloat(R5i.x)))); -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R4i.x)) + intBitsToFloat(R7i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R0i.y)) + intBitsToFloat(R7i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R6i.z)) + intBitsToFloat(R7i.z))); -PV1i.z = R123i.z; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),-(intBitsToFloat(R7i.z))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),-(intBitsToFloat(R7i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 3 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),-(intBitsToFloat(R7i.x))) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) / 2.0); -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -// 6 -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 7 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R11i.x; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(PS0i)) + intBitsToFloat(backupReg3i))); -PS1i = R11i.x; -// 8 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.z = R13i.y << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.z) >> uint(R9i.x)); -// 2 -R8i.y = PV1i.x & 0x0000ffff; -// 3 -predResult = (R8i.y > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R8i.x = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R8i.y > R8i.x)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R8i.x; -backupReg0i = R8i.x; -R8i.x = backupReg0i + int(1); -PV0i.z = R3i.w + backupReg0i; -// 1 -R1i.x = PV0i.z << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.x = floatBitsToInt(0.0); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = R1i.x << R2i.w; -// 1 -PV1i.w = int(uint(PV0i.x) >> uint(R9i.x)); -// 2 -PV0i.y = PV1i.w & 0x0000ffff; -// 3 -PV1i.z = floatBitsToInt(uf_blockPS11[0].x) + PV0i.y; -// 4 -PS0i = PV1i.z * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.w = PS0i + int(1); -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R7i.xy = floatBitsToInt(uf_blockPS11[R1i.x].xy); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R7i.y))); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R126i.y)) + 1.0)); -R127i.w = clampFI32(R127i.w); -PV0i.w = R127i.w; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R127i.w))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -// 7 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PS1i))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R127i.w))); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -tempResultf = log2(intBitsToFloat(PV0i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 11 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -backupReg3i = R11i.x; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(backupReg2i))); -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PS1i)) + intBitsToFloat(backupReg3i))); -PS0i = R11i.x; -// 13 -backupReg0i = R11i.y; -backupReg1i = R11i.z; -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.y = R13i.z << R2i.w; -// 1 -PV1i.x = int(uint(PV0i.y) >> uint(R9i.x)); -// 2 -R10i.z = PV1i.x & 0x0000ffff; -// 3 -predResult = (R10i.z > 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R9i.y = 0; -} -while( activeMaskStackC[2] == true ) -{ -if( activeMaskStackC[2] == true ) { -// 0 -R1i.w = (R10i.z > R9i.y)?int(0xFFFFFFFF):int(0x0); -// 1 -predResult = (R1i.w != 0); -if( predResult == false ) break; -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R9i.y; -PV0i.y = R3i.w + R9i.y; -R9i.y = backupReg0i + int(1); -PS0i = R9i.y; -// 1 -R1i.x = PV0i.y << 0x00000002; -} -if( activeMaskStackC[2] == true ) { -R1i.y = floatBitsToInt(vec2(0.0,0.0).x); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.w = R1i.y << R2i.w; -// 1 -PV1i.z = int(uint(PV0i.w) >> uint(R9i.x)); -// 2 -PV0i.x = PV1i.z & 0x0000ffff; -// 3 -PV1i.y = R9i.z + PV0i.x; -// 4 -PS0i = PV1i.y * 0x00000005; -// 5 -R1i.x = PS0i + 0x00000005; -R1i.y = PS0i + 0x00000004; -R1i.z = PS0i + int(1); -R1i.w = PS0i + 0x00000003; -} -if( activeMaskStackC[2] == true ) { -R5i.xyz = floatBitsToInt(uf_blockPS11[R1i.z].xyz); -R7i.xyz = floatBitsToInt(uf_blockPS11[R1i.w].xyz); -R8i.xyzw = floatBitsToInt(uf_blockPS11[R1i.x].xyzw); -R1i.xyz = floatBitsToInt(uf_blockPS11[R1i.y].xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = floatBitsToInt(vec3(-(intBitsToFloat(R3i.x)),-(intBitsToFloat(R3i.y)),-(intBitsToFloat(R3i.z))) + vec3(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z))); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.x) + -(intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.w)); -PS0i = R126i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R125i.y; -// 2 -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.y)) + intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.y))); -R125i.w = clampFI32(R125i.w); -R126i.z = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R126i.z; -// 5 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),-0.0),vec4(-(intBitsToFloat(PV0i.x)),-(intBitsToFloat(PV0i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), -(intBitsToFloat(PV0i.z)))); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R4i.x)) + -(intBitsToFloat(R127i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R0i.y)) + -(intBitsToFloat(R127i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV1i.x)),intBitsToFloat(R6i.z)) + -(intBitsToFloat(R127i.z)))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),-(intBitsToFloat(R127i.y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 7 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),-(intBitsToFloat(R127i.x))) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R8i.z)) + intBitsToFloat(PS1i)); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(R126i.z))); -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(max(intBitsToFloat(R126i.w), 0.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -// 10 -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].x, intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.x))); -PV1i.y = R127i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.y))); -PV1i.z = R126i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R1i.z))); -PV1i.w = R125i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -// 12 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -backupReg2i = R12i.z; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(backupReg0i))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(backupReg1i))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(backupReg2i))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -// 13 -backupReg0i = R11i.x; -backupReg1i = R11i.y; -backupReg2i = R11i.z; -R11i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R127i.y)) + intBitsToFloat(backupReg0i))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R126i.z)) + intBitsToFloat(backupReg1i))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg2i))); -} -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R7i.xyzw = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyzw); -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R6i.xy)).xyz); -R8i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R6i.xy)).xyzw); -R9i.xyz = floatBitsToInt(texture(textureUnitPS5, intBitsToFloat(R6i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(uf_blockPS3[9].x + -(uf_blockPS3[9].y)); -PS0i = R127i.x; -// 1 -R126i.x = ((intBitsToFloat(R7i.x) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[1].x, intBitsToFloat(PV0i.x))); -PV1i.y = R127i.y; -R127i.z = ((intBitsToFloat(R7i.z) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R127i.w = ((intBitsToFloat(R7i.y) > 0.5)?int(0xFFFFFFFF):int(0x0)); -R126i.y = floatBitsToInt(-(uf_blockPS3[15].z) + 1.0); -PS1i = R126i.y; -// 2 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(backupReg1i),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(uf_blockPS3[9].y) + intBitsToFloat(PV1i.y)); -// 3 -R125i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[9].w) + intBitsToFloat(R127i.y)); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R126i.w = floatBitsToInt(-(uf_blockPS3[21].z) + 1.0); -R124i.x = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -PS1i = R124i.x; -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.z))); -R126i.z = floatBitsToInt(uf_blockPS3[9].z + -(uf_blockPS3[9].w)); -R1i.w = ((R126i.x == 0)?(0):(0x3f800000)); -R5i.z = ((R127i.w == 0)?(0):(0x3f800000)); -PS0i = R5i.z; -// 5 -R126i.x = ((R127i.z == 0)?(0):(0x3f800000)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R124i.x))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R126i.y)) + 1.0); -R0i.x = floatBitsToInt(-(intBitsToFloat(R125i.x)) + 1.0); -PS1i = R0i.x; -// 6 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R5i.z) + 1.0)); -R125i.y = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R1i.w) + 1.0)); -R127i.z = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(PV1i.x) + 1.0)); -PV0i.w = floatBitsToInt(min(intBitsToFloat(R126i.z), intBitsToFloat(backupReg0i))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R126i.z)); -// 7 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R127i.w; -PV1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R126i.y))); -R124i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.w)),intBitsToFloat(PS0i)) + 1.0)); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R126i.w))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R6i.z)) + 1.0); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -// 8 -backupReg0i = R127i.y; -R125i.x = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.z)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -R127i.y = clampFI32(R127i.y); -R125i.z = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.y)); -R126i.w = floatBitsToInt(-(0.5) + intBitsToFloat(R7i.x)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 9 -backupReg0i = R125i.y; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R7i.y))); -PV1i.x = R124i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS0i))); -R125i.y = clampFI32(R125i.y); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R7i.x))); -PV1i.z = R124i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R7i.z))); -R124i.w = floatBitsToInt(-(intBitsToFloat(R124i.y)) + intBitsToFloat(R127i.w)); -PS1i = R124i.w; -// 10 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R126i.y = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R1i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -R127i.z = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(R1i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R1i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.x))); -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -PS0i = R126i.z; -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R125i.w))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R125i.y))); -R123i.w = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R127i.y) + intBitsToFloat(0x40400000))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(0xc0000000) * intBitsToFloat(R125i.y) + intBitsToFloat(0x40400000))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.x; -backupReg1i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(PV1i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(backupReg1i)) + intBitsToFloat(R126i.z))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PS1i))); -PS0i = R2i.w; -// 13 -backupReg0i = R125i.z; -PV1i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R8i.x)); -PV1i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 2.0); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(R124i.z))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R8i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R125i.z) * 2.0); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R8i.y)); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R124i.x))); -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS1i = R125i.x; -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.x))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.z))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R7i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R125i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.y))); -PS0i = R124i.z; -// 15 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R126i.w)) + intBitsToFloat(R125i.x))); -PV1i.y = R123i.y; -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), uf_blockPS3[8].y)); -PS1i = R127i.w; -// 16 -backupReg0i = R127i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), uf_blockPS3[8].x)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), uf_blockPS3[8].z)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.y))); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w))); -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R126i.y = floatBitsToInt(tempResultf); -PS0i = R126i.y; -// 17 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS3[8].w)); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R124i.z)) + intBitsToFloat(R125i.z))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[5].x)); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.z))); -tempResultf = log2(intBitsToFloat(R2i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R124i.y = floatBitsToInt(tempResultf); -PS1i = R124i.y; -// 18 -backupReg0i = R127i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].w, intBitsToFloat(R126i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), uf_blockPS10[5].x)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), uf_blockPS10[5].x)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), uf_blockPS10[5].x)); -// 19 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), uf_blockPS10[2].x)); -PV1i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].w, intBitsToFloat(R124i.y))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), uf_blockPS10[2].y)); -R124i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R124i.w; -// 20 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), uf_blockPS10[0].x)); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), uf_blockPS10[0].x)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), uf_blockPS10[2].z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), uf_blockPS10[0].x)); -R126i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.z))); -PS0i = R126i.x; -// 21 -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.x))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.w))); -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.z))); -R9i.w = 0; -R4i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS3[15].y, intBitsToFloat(R124i.w))); -PS1i = R4i.z; -// 22 -R6i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS3[21].y, intBitsToFloat(R126i.x))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].z,uf_blockPS2[0].w) + intBitsToFloat(R12i.z))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].y,uf_blockPS2[0].w) + intBitsToFloat(R12i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockPS2[0].x,uf_blockPS2[0].w) + intBitsToFloat(R12i.x))); -PV0i.z = R123i.z; -// 1 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), uf_blockPS10[1].y)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), uf_blockPS10[1].y)); -PV1i.y = R127i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), uf_blockPS10[1].y)); -PV1i.z = R124i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e991687),intBitsToFloat(0x3f1645a2),intBitsToFloat(0x3de978d5),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x2edbe6ff))); -// 4 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -// 6 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV1i.x))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(PV1i.w))); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(-(uf_blockPS8[12].x),-(uf_blockPS8[12].y),-(uf_blockPS8[12].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R127i.w; -// 2 -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 3 -R123i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -// 4 -R0i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.x))); -// 5 -predResult = (uf_blockPS8[13].x >= -(intBitsToFloat(R4i.w))); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[16].y) + uf_blockPS8[16].x)); -R3i.w = 0x3f800000; -PV0i.w = R3i.w; -R11i.w = floatBitsToInt(uf_blockPS4[2].x); -R11i.w = floatBitsToInt(intBitsToFloat(R11i.w) * 4.0); -PS0i = R11i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[3].x,uf_blockPS8[3].y,uf_blockPS8[3].z,uf_blockPS8[3].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[0].x,uf_blockPS8[0].y,uf_blockPS8[0].z,uf_blockPS8[0].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[1].x,uf_blockPS8[1].y,uf_blockPS8[1].z,uf_blockPS8[1].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R7i.x; -// 4 -R5i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.z))); -PV0i.y = R7i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[2].w)); -R4i.x = floatBitsToInt(uf_blockPS8[23].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS0i = R4i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[2].z) + intBitsToFloat(PV0i.z))); -R5i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R6i.y = floatBitsToInt(uf_blockPS8[23].y); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS1i = R6i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R5i.xy)).xyzw); -R10i.xyzw = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R5i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[2].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[2].x) + intBitsToFloat(PS0i))); -PV1i.y = R123i.y; -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.w)); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R1i.z))); -PS0i = R8i.z; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.z) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R11i.w) != intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[23].x) /resScale * 0.5 + intBitsToFloat(R5i.x))); -R12i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R6i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[23].y) /resScale * 0.5 + intBitsToFloat(R5i.y))); -PS0i = R1i.y; -// 1 -backupReg0i = R5i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R5i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R5i.y))); -R5i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(backupReg0i)); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R12i.y) + intBitsToFloat(backupReg0i)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R5i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R7i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.w))?1.0:0.0); -R7i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R8i.z)); -PS0i = R7i.x; -} -if( activeMaskStackC[2] == true ) { -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS15, intBitsToFloat(R1i.xy)).xyzw); -R12i.xyz = floatBitsToInt(textureGather(textureUnitPS13, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R10i.w) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(R5i.w)); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R7i.x))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PS0i)); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.z = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(PV1i.z)); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R127i.w; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R11i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.w)); -R1i.w = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -R7i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -// 6 -predResult = (R1i.w != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R2i.x = floatBitsToInt((uf_blockPS8[23].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R5i.y = floatBitsToInt(-(intBitsToFloat(R6i.y))); -PV0i.y = R5i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R6i.y; -R2i.y = floatBitsToInt((uf_blockPS8[23].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R5i.x = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.xy)).x); -R5i.y = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R2i.xy)).x); -R5i.z = floatBitsToInt(texture(textureUnitPS15, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R12i.x) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R12i.y) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.x))?1.0:0.0); -R127i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R5i.z))?1.0:0.0); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.y = floatBitsToInt((intBitsToFloat(R12i.z) >= intBitsToFloat(R7i.x))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[21].x); -// 2 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.y)); -R6i.y = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.w)); -PS0i = R6i.y; -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -// 4 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.y)); -// 6 -R4i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e124922)); -// 7 -predResult = (intBitsToFloat(R6i.y) > 0.0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(PS1i))); -PS0i = R10i.x; -// 3 -R7i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS0i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -PV1i.y = R10i.y; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -PS1i = R12i.y; -// 4 -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -R7i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV1i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), uf_blockPS8[6].w)); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS0i = R0i.y; -} -if( activeMaskStackC[3] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R7i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(R1i.z))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R11i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R1i.w))); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R7i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R7i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R7i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R7i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R7i.y)); -} -if( activeMaskStackC[4] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[3] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R10i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R11i.w) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R5i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[4] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -R127i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.w; -// 1 -PV1i.x = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(1.0 / uf_blockPS8[21].x); -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.x)); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(PV1i.y)); -// 5 -PV1i.w = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.x)); -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e124922) + -(intBitsToFloat(R4i.w)))); -PV0i.x = R123i.x; -// 7 -backupReg0i = R4i.w; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),uf_blockPS8[17].y) + uf_blockPS8[17].x)); -R8i.z = floatBitsToInt(uf_blockPS4[2].x); -R8i.z = floatBitsToInt(intBitsToFloat(R8i.z) * 4.0); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(uf_blockPS8[7].x,uf_blockPS8[7].y,uf_blockPS8[7].z,uf_blockPS8[7].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[4].x,uf_blockPS8[4].y,uf_blockPS8[4].z,uf_blockPS8[4].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R1i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R2i.w)),vec4(uf_blockPS8[5].x,uf_blockPS8[5].y,uf_blockPS8[5].z,uf_blockPS8[5].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -PS1i = R10i.x; -// 4 -R7i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(PS1i))); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.y = R10i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), uf_blockPS8[6].w)); -R4i.x = floatBitsToInt(uf_blockPS8[24].x); -R4i.x = floatBitsToInt(intBitsToFloat(R4i.x) / 2.0); -PS0i = R4i.x; -// 5 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),uf_blockPS8[6].z) + intBitsToFloat(PV0i.z))); -R7i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt(uf_blockPS8[24].y); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) / 2.0); -PS1i = R0i.y; -} -if( activeMaskStackC[2] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R7i.xy)).xyzw); -R5i.xyzw = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R7i.xy)).xyzw); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R2i.w)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),uf_blockPS8[6].y) + intBitsToFloat(R1i.x))); -PS0i = R122i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),uf_blockPS8[6].x) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -// 2 -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R1i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 4 -R1i.z = ((PV1i.y == 0)?(0):(PV1i.x)); -// 5 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt((-(uf_blockPS8[24].x) /resScale * 0.5 + intBitsToFloat(R7i.x))); -R3i.y = floatBitsToInt(-(intBitsToFloat(R0i.y))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = R0i.y; -R1i.y = floatBitsToInt((-(uf_blockPS8[24].y) /resScale * 0.5 + intBitsToFloat(R7i.y))); -PS0i = R1i.y; -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.w)); -R1i.z = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R7i.x))); -R1i.w = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R7i.y))); -R3i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R7i.x)); -PS1i = R3i.x; -// 2 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R7i.y)); -} -if( activeMaskStackC[3] == true ) { -R2i.w = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R2i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R2i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -R2i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R3i.xy)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R2i.w; -R1i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R10i.x))); -R1i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R10i.y))); -R1i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.x))?1.0:0.0); -R2i.w = floatBitsToInt(-(intBitsToFloat(R6i.y)) + intBitsToFloat(R3i.z)); -R1i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(backupReg0i))?1.0:0.0); -PS0i = R1i.w; -} -if( activeMaskStackC[2] == true ) { -R3i.xyzw = floatBitsToInt(textureGather(textureUnitPS8, intBitsToFloat(R1i.xy)).xyzw); -R10i.xyz = floatBitsToInt(textureGather(textureUnitPS14, intBitsToFloat(R1i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R3i.w)); -PV0i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.y))?1.0:0.0); -PV0i.z = floatBitsToInt((intBitsToFloat(R5i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.w = floatBitsToInt((intBitsToFloat(R5i.w) >= intBitsToFloat(R2i.w))?1.0:0.0); -PS0i = floatBitsToInt((intBitsToFloat(R5i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV0i.w)); -R127i.x = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R2i.z))?1.0:0.0); -PS1i = R127i.x; -// 2 -PV0i.x = floatBitsToInt((intBitsToFloat(R5i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.x)); -R127i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PS0i = R127i.y; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.x)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = ((intBitsToFloat(R8i.z) != intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = ((intBitsToFloat(PV0i.w) != 0.0)?int(0xFFFFFFFF):int(0x0)); -// 4 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -R1i.z = ((PV1i.z == 0)?(0):(PV1i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y)); -// 5 -R5i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -// 6 -predResult = (R1i.z != 0); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R2i.x = floatBitsToInt((uf_blockPS8[24].x /resScale * 0.5 + intBitsToFloat(R1i.x))); -R0i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PV0i.y = R0i.y; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R4i.x))); -PV0i.w = backupReg0i; -R2i.y = floatBitsToInt((uf_blockPS8[24].y /resScale * 0.5 + intBitsToFloat(R1i.y))); -PS0i = R2i.y; -// 1 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + vec3(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg0i))); -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg1i)); -} -if( activeMaskStackC[3] == true ) { -R3i.x = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.xy)).x); -R3i.y = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R2i.xy)).x); -R3i.z = floatBitsToInt(texture(textureUnitPS8, intBitsToFloat(R1i.zw)).x); -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt((intBitsToFloat(R10i.x) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.y = floatBitsToInt((intBitsToFloat(R10i.y) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV0i.z = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.y))?1.0:0.0); -PV0i.w = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.x))?1.0:0.0); -R127i.y = floatBitsToInt((uf_blockPS4[2].x == intBitsToFloat(R3i.z))?1.0:0.0); -PS0i = R127i.y; -// 1 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(PV0i.x)); -PV1i.z = floatBitsToInt((intBitsToFloat(R10i.z) >= intBitsToFloat(R2i.w))?1.0:0.0); -PV1i.w = floatBitsToInt(-(uf_blockPS8[13].x) + uf_blockPS8[14].x); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3dcccccd)); -PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), 1.0)); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.y), 1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.z)); -// 3 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), 1.0)); -PV1i.y = floatBitsToInt(-(uf_blockPS8[14].x) + intBitsToFloat(PV0i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.y)); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.x)); -PS1i = R127i.w; -// 4 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(PV1i.w)); -// 5 -PV1i.y = floatBitsToInt(intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.w))); -// 6 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e124922)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 7 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -// 8 -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(R9i.x))); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockPS10[1].z,-(intBitsToFloat(R4i.w))) + uf_blockPS10[1].z)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R9i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R9i.y))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), uf_blockPS3[21].x)); -// 1 -R1i.x = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(-(uf_blockPS3[19].w) + 1.0); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PS0i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PS0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PS0i))); -PS1i = R126i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.w)) + uf_blockPS3[19].w)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS3[18].x) + 1.0); -R125i.z = floatBitsToInt(max(uf_blockPS3[18].x, intBitsToFloat(0x33d6bf95))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(R6i.w))); -R7i.y = 0; -PS0i = R7i.y; -// 3 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV0i.y))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.x))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.x))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[13].w)); -// 4 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].x)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].z)); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), uf_blockPS3[10].y)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R125i.z)); -// 5 -backupReg0i = R0i.z; -R0i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].y)); -R0i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].x)); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.y)),intBitsToFloat(PS0i)) + 1.0)); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -// 6 -PV0i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].w)); -R0i.w = floatBitsToInt(mul_nonIEEE(uf_blockPS10[0].y, uf_blockPS3[17].z)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.w), intBitsToFloat(PV0i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS3[18].y, intBitsToFloat(PS0i))); -R6i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), uf_blockPS10[5].x)); -// 8 -R5i.xyz = ivec3(floatBitsToInt(uf_blockPS3[20].x),floatBitsToInt(uf_blockPS3[20].y),floatBitsToInt(uf_blockPS3[20].z)); -R4i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R4i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].y) + uf_blockPS8[19].y)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].x) + uf_blockPS8[19].x)); -PV0i.w = R123i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV0i.w)) + intBitsToFloat(R1i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),uf_blockPS8[20].z) + uf_blockPS8[19].z)); -PV1i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R1i.z))); -PV1i.w = R123i.w; -// 2 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(R2i.x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R127i.x; -PV0i.y = floatBitsToInt(-(uf_blockPS1[0].z) + uf_blockPS1[0].w); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R1i.y))); -PV0i.z = R123i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(R2i.w)) + intBitsToFloat(PV1i.w))); -PV0i.w = R127i.w; -// 3 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(backupReg0i)); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(R2i.z)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R0i.y)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(R0i.w)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R127i.w))); -PV0i.w = R123i.w; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R3i.x)) + intBitsToFloat(R125i.z))); -PV1i.z = R123i.z; -// 6 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(R127i.x))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R125i.z)) + intBitsToFloat(PV1i.z)); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R4i.x)) + intBitsToFloat(R125i.z))); -PV1i.x = R123i.x; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R5i.y))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R5i.x))); -// 8 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R5i.z))); -} -if( activeMaskStackC[1] == true ) { -// 0 -R6i.x = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].x, intBitsToFloat(R0i.w))); -R6i.y = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].y, intBitsToFloat(R0i.z))); -R6i.z = floatBitsToInt(mul_nonIEEE(uf_blockPS10[2].z, intBitsToFloat(R5i.y))); -// 1 -R2i.xyz = ivec3(R8i.x,R8i.y,R7i.z); -R2i.w = R9i.w; -// 2 -R0i.xyz = ivec3(R6i.x,R6i.y,R6i.z); -R0i.w = R6i.w; -// 3 -R1i.xyz = ivec3(R7i.x,R7i.y,R7i.y); -R1i.w = R7i.y; -} -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor4 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Source/TokyoMirage/patches.txt b/Source/TokyoMirage/patches.txt deleted file mode 100644 index 36150177..00000000 --- a/Source/TokyoMirage/patches.txt +++ /dev/null @@ -1,20 +0,0 @@ - - -[TMS_219_EUv16] -moduleMatches = 0x2249A57A - -0x10006C18 = .float -0x10014400 = .float -0x10067140 = .float - -_ \ No newline at end of file diff --git a/Source/TokyoMirage/rules.txt b/Source/TokyoMirage/rules.txt index 9339f90b..ed456307 100644 --- a/Source/TokyoMirage/rules.txt +++ b/Source/TokyoMirage/rules.txt @@ -1,145 +1,231 @@ - [Definition] titleIds = 00050000101ED700,00050000101ED800,0005000010131D00 -name = "Tokyo Mirage Sessions FE - " -version = 2 +name = Resolution +path = "Tokyo Mirage Sessions FE/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 -[TextureRedefine] #lod override, shimmer and sharper textures -formats = 0x011,0x235,0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435,0x01a -overwriteRelativeLodBias = -4 # +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 [TextureRedefine] width = 1280 height = 720 -formats = 0x816 -overwriteFormat = 0x820 +#formats = 0x816,0x80e,0x01a,0x001 tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 1280 -height = 720 -formatsExcluded = 0x816 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 [TextureRedefine] width = 1280 height = 340 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +#formats = +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 340 -[TextureRedefine] -width = 1147 -height = 720 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +#[TextureRedefine] # Shadows cemu scaling broken? +#width = 1024 +#height = 2048 +#formats = 0x011,0x811 +#overwriteWidth = ($height/$gameHeight) * 1024 +#overwriteHeight = ($height/$gameHeight) * 2048 -[TextureRedefine] # shadows 0x011 -width = 1024 -height = 2048 -formats = 0x011,0x811 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Scale dyn shadows 0x011 -width = 1024 -height = 1024 -formats = 0x011,0x811 -overwriteWidth = -overwriteHeight = +#[TextureRedefine] #Shadows, cemu scaling broken? +#width = 1024 +#height = 1024 +#formats = 0x011,0x811 +#overwriteWidth = ($height/$gameHeight) * 1024 +#overwriteHeight = ($height/$gameHeight) * 1024 [TextureRedefine] width = 1014 height = 720 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +#formats = +overwriteWidth = ($width/$gameWidth) * 1014 +overwriteHeight = ($height/$gameHeight) * 720 -[TextureRedefine] -width = 881 -height = 720 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +[TextureRedefine] # Pad +width = 864 +height = 480 +#formats = +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 -[TextureRedefine] +[TextureRedefine] # Pad width = 854 height = 480 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +#formats = +overwriteWidth = ($width/$gameWidth) * 854 +overwriteHeight = ($height/$gameHeight) * 480 -[TextureRedefine] -width = 854 -height = 342 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +[TextureRedefine] # Pad +width = 674 +height = 574 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 674 +overwriteHeight = ($height/$gameHeight) * 574 -[TextureRedefine] -width = 853 -height = 232 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +[TextureRedefine] # Pad +width = 657 +height = 574 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 657 +overwriteHeight = ($height/$gameHeight) * 574 [TextureRedefine] width = 640 height = 720 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +#formats = +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] +width = 640 +height = 368 +#formats = 0x816,0x001 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 [TextureRedefine] width = 640 height = 360 +#formats = 0x816,0x001 tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 -[TextureRedefine] #Bloom +[TextureRedefine] +width = 320 +height = 192 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + +[TextureRedefine] width = 320 height = 180 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 [TextureRedefine] -width = 300 -height = 480 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 266 -height = 480 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 254 -height = 480 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +width = 160 +height = 128 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 128 [TextureRedefine] width = 160 height = 120 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 120 \ No newline at end of file diff --git a/Source/TropicalFreeze/patches.txt b/Source/TropicalFreeze/patches.txt index e3f9731c..7221263d 100644 --- a/Source/TropicalFreeze/patches.txt +++ b/Source/TropicalFreeze/patches.txt @@ -1,20 +1,9 @@ - [TropicalFreeze2] moduleMatches = 0x4FF15DD2 -0x10018498 = .float -0x10094758 = .float +0x10018498 = .float $width/$height +0x10094758 = .float $width/$height [TropicalFreeze16] moduleMatches = 0xA37C99E1 -0x100184A8 = .float -0x100946F8 = .float \ No newline at end of file +0x100184A8 = .float $width/$height +0x100946F8 = .float $width/$height \ No newline at end of file diff --git a/Source/TropicalFreeze/rules.txt b/Source/TropicalFreeze/rules.txt index b7b90a51..98ed4d42 100644 --- a/Source/TropicalFreeze/rules.txt +++ b/Source/TropicalFreeze/rules.txt @@ -1,21 +1,276 @@ - [Definition] titleIds = 0005000010137F00,0005000010138300,0005000010144800 -name = "Donkey Kong Country: Tropical Freeze - " -version = 2 +name = Resolution +path = "Donkey Kong Country: Tropical Freeze/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 -[TextureRedefine] # game rendering resolution +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Multiples of 320x180 for aspect ratio +// Performance + +[Preset] +name = 320x180 +$width = 320 +$height = 180 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +// For [21:9] resolutions that are multiples of 420x180 +// Performance + +[Preset] +name = (21:9) 1260x540 +$width = 1260 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 1680x720 +$width = 1680 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 2100x900 +$width = 2100 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = (21:9) 2520x1080 +$width = 2520 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 3360x1440 +$width = 3360 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 5040x2160 +$width = 5040 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 6720x2880 +$width = 6720 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiats + +[Preset] +name = (21:9) 10080x4320 +$width = 10080 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = (21:9) 13440x5760 +$width = 13440 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +# Format Textures: +# - 0x001=Color-Red8 +# - 0x011=Depth24_Stencil8 +# - 0x01a=Color-RGBA8 +# - 0x80e=Depth32 + +# Main Game Renderer +[TextureRedefine] width = 1280 height = 720 -tileModesExcluded = 0x1 -formatsExcluded = 0x31 # exclude the intro background texture -overwriteWidth = -overwriteHeight = +formats = 0x001,0x011,0x01a,0x80e +tileModesExcluded = 0x001 # For Video Playback +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 + +# Loading Screen Dk Running +[TextureRedefine] +width = 1280 +height = 256 +formats = 0x01a,0x80e +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 256 + +# GamePad +[TextureRedefine] +width = 864 +height = 480 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 + +# GamePad +[TextureRedefine] +width = 854 +height = 480 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 854 +overwriteHeight = ($height/$gameHeight) * 480 + +# Half-Res +[TextureRedefine] +width = 640 +height = 368 +formats = 0x01a,0x80e +formatsExcluded = 0x007 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 + +# Half-Res +[TextureRedefine] +width = 640 +height = 360 +formats = 0x01a,0x80e +tileModesExcluded = 0x001 # 0x007 half res hold color data and is used for video playback +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 + +# 1/4 Res +[TextureRedefine] +width = 320 +height = 192 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + +# 1/4 Res +[TextureRedefine] +width = 320 +height = 180 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 + +# In-game UI Top left screen +[TextureRedefine] +width = 320 +height = 128 +formats = 0x01a,0x011 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 128 + +# 1/4 Res +[TextureRedefine] +width = 160 +height = 96 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 96 + +# 1/4 Res +[TextureRedefine] +width = 160 +height = 90 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 90 + + +# Additonal Textures GUI + +# DonkeyKongs Face in GUI +[TextureRedefine] +width = 96 +height = 108 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 96 +overwriteHeight = ($height/$gameHeight) * 108 + +# Menu Button Backgrounds GUI +[TextureRedefine] +width = 64 +height = 64 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 64 \ No newline at end of file diff --git a/Source/TurboSuperStuntSquad/rules.txt b/Source/TurboSuperStuntSquad/rules.txt deleted file mode 100644 index 52ecf70d..00000000 --- a/Source/TurboSuperStuntSquad/rules.txt +++ /dev/null @@ -1,37 +0,0 @@ - -[Definition] -titleIds = 0005000010133900,0005000010136700 -name = "Turbo Super Stunt Squad - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -formatsExcluded = 0x031 #exclude intro/menu background -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine]# q-res -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/TwilightPrincessHD/patches.txt b/Source/TwilightPrincessHD/patches.txt deleted file mode 100644 index b41b7d3b..00000000 --- a/Source/TwilightPrincessHD/patches.txt +++ /dev/null @@ -1,24 +0,0 @@ - -[TPHDv81] -moduleMatches = 0x1A03E108 - -#rodata constants -0x1005AAD8 = .float -_aspectAddr = 0x1006AAD8 - - -#code changes -0x028D75B8 = lis r11, _aspectAddr@h -0x028D75C0 = lfs f0, _aspectAddr@l(r11) ; Main 3d Aspect -0x029BB184 = lis r12, _aspectAddr@h -0x029BB188 = lfs f2, _aspectAddr@l(r12) ; may just be the intro zelda graphic diff --git a/Source/TwilightPrincessHD/rules.txt b/Source/TwilightPrincessHD/rules.txt deleted file mode 100644 index 44bf2716..00000000 --- a/Source/TwilightPrincessHD/rules.txt +++ /dev/null @@ -1,47 +0,0 @@ - -[Definition] -titleIds = 000500001019C800,000500001019E600,000500001019E500 -name = "The Legend of Zelda: Twilight Princess HD - " -version = 2 - -[TextureRedefine] # game rendering resolution -width = 1920 -height = 1080 -formatsExcluded = 0x41A # exclude the intro background texture -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Blur, bloom -width = 960 -height = 540 -formatsExcluded = 0x8 # exclude the menu background textures -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #colour grading -width = 480 -height = 270 -formats = 0x01a -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] # shadows -width = 384 -height = 384 -#formats = 0x5 # find the format -overwriteWidth = -overwriteHeight = diff --git a/Source/WarriorsOrochi3/rules.txt b/Source/WarriorsOrochi3/rules.txt deleted file mode 100644 index 8f023d1d..00000000 --- a/Source/WarriorsOrochi3/rules.txt +++ /dev/null @@ -1,87 +0,0 @@ - -[Definition] -titleIds = 0005000010110200,0005000010112B00,000500001010EA00 -name = "Warriors Orochi 3 - " -version = 2 - -[TextureRedefine] #Game Resolution -width = 1280 -height = 720 -formatsExcluded = 0x431,0x433 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Only saw depth in Nsight -width = 640 -height = 360 -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Lighting? -width = 322 -height = 182 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Dupe of Main Game -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Lighting Blur? -width = 162 -height = 92 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] #Lighting Blur? -width = 160 -height = 90 -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #Shadows? -#width = 1024 -#height = 2048 -#formats = 0x005 -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #Dupe of Main Game? -#width = 64 -#height = 64 -#formats = 0x005 -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #Dupe of Main Game? -#width = 16 -#height = 16 -#formats = 0x005 -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #Dupe of Main Game? -#width = 4 -#height = 4 -#formats = 0x005 -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #Dupe of Main Game? -#width = 1 -#height = 1 -#formats = 0x005 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/WiiUBIOS/rules.txt b/Source/WiiUBIOS/rules.txt deleted file mode 100644 index 5bbebd30..00000000 --- a/Source/WiiUBIOS/rules.txt +++ /dev/null @@ -1,133 +0,0 @@ - -[Definition] -titleIds = 000500101004b100,000500301006d10a,000500101004c100,000500301001810a,000500301001510a,000500301001210a,000500101004a100,000500301001610a,000500301001910a,000500301001410a,000500301001310a,000500101004d100,0005001010048100,0005001010047100,0005001010062100,0005001010045100,0005001010049100,000500101005a100,000500301001710a,0005001010040100 -name = "Wii U BIOS - " -version = 2 - -[TextureRedefine] # tv 1080p -width = 1920 -height = 1080 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # tv full -width = 1280 -height = 720 -formatsExcluded = 0x31,0x1a -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 1280 -height = 504 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # tv half -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 640 -height = 252 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # tv quarter -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 256 -#height = 256 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] -width = 160 -height = 90 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 106 -height = 60 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 80 -height = 45 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 48 -#height = 48 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 32 -#height = 32 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 24 -#height = 24 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 16 -#height = 16 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -#[TextureRedefine] #May unintentionally scale textures, check formatsExcluded -#width = 8 -#height = 8 -#formatsExcluded = -#overwriteWidth = -#overwriteHeight = - -[TextureRedefine] # gamepad full -width = 854 -height = 480 -formatsExcluded = 0x33 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad half -width = 427 -height = 240 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # browser -width = 2176 -height = 1248 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/WindWakerHD/1f83c0d47b1c4c34_0000000000000000_vs.txt b/Source/WindWakerHD/1f83c0d47b1c4c34_0000000000000000_vs.txt deleted file mode 100644 index b9124233..00000000 --- a/Source/WindWakerHD/1f83c0d47b1c4c34_0000000000000000_vs.txt +++ /dev/null @@ -1,84 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 1f83c0d47b1c4c34 // half res blur. Horizon, detail shadows, bloom base - -const float resScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -R1f.x = backupReg0f; -R1f.x *= 2.0; -R1f.y = backupReg1f; -R1f.y *= 2.0; -R1f.z = intBitsToFloat(0xbf800000); -R1f.w = 1.0; -PS0f = R2f.x + -(intBitsToFloat(uf_remappedVS[0].x)/resScale); -// 1 -backupReg0f = R2f.y; -backupReg1f = R2f.x; -PV1f.x = R2f.y + -(intBitsToFloat(uf_remappedVS[0].y) / resScale); -R2f.y = backupReg0f + intBitsToFloat(uf_remappedVS[0].y) / resScale; -R2f.z = PS0f; -R2f.x = backupReg1f + intBitsToFloat(uf_remappedVS[0].x) / resScale; -PS1f = R2f.x; -// 2 -R2f.w = PV1f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem3 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// 0 -} diff --git a/Source/WindWakerHD/4c426260188ace42_0000000000000000_vs.txt b/Source/WindWakerHD/4c426260188ace42_0000000000000000_vs.txt deleted file mode 100644 index 054f88e1..00000000 --- a/Source/WindWakerHD/4c426260188ace42_0000000000000000_vs.txt +++ /dev/null @@ -1,113 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 4c426260188ace42 -// shadows pyramid blend 2nd downscale -const float resScale = ; -uniform ivec4 uf_remappedVS[5]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = -(R1f.y); -PV0f.x = R127f.x; -R127f.y = (R1f.x > 0.0)?1.0:0.0; -R127f.y /= 2.0; -R126f.z = (0.0 > R1f.x)?1.0:0.0; -R126f.z /= 2.0; -R127f.w = 1.0; -PV0f.w = R127f.w; -R126f.x = intBitsToFloat(uf_remappedVS[0].w) * intBitsToFloat(0x3fae8a72)/ resScale; -PS0f = R126f.x; -// 1 -R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = R0f.x; -PV1f.y = R0f.x; -PV1f.z = R0f.x; -PV1f.w = R0f.x; -R127f.z = (PV0f.x > 0.0)?1.0:0.0; -R127f.z /= 2.0; -PS1f = R127f.z; -// 2 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -PS0f = (0.0 > R127f.x)?1.0:0.0; -PS0f /= 2.0; -// 3 -backupReg0f = R127f.z; -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.z = tempf.x; -R127f.z = backupReg0f + -(PS0f); -PS1f = R127f.z; -// 4 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.w = tempf.x; -PS0f = R127f.y + -(R126f.z); -// 5 -R1f.x = PS0f + 0.5; -PV1f.y = R127f.z + 0.5; -// 6 -R1f.y = PV1f.y + -(R126f.x); -R1f.z = PV1f.y + R126f.x; -R1f.w = PV1f.y; -// export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// 0 -} diff --git a/Source/WindWakerHD/842a19b509f8b91a_0000000000000000_vs.txt b/Source/WindWakerHD/842a19b509f8b91a_0000000000000000_vs.txt deleted file mode 100644 index 4f39c642..00000000 --- a/Source/WindWakerHD/842a19b509f8b91a_0000000000000000_vs.txt +++ /dev/null @@ -1,107 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 842a19b509f8b91a //vert scale bloom -const float resScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -R1f.x = backupReg0f; -R1f.x *= 2.0; -R1f.y = backupReg1f; -R1f.y *= 2.0; -R1f.z = 0.0; -R1f.w = 1.0; -PS0f = intBitsToFloat(uf_remappedVS[0].y) * intBitsToFloat(0x3fb13a93)/ resScale; -// 1 -PV1f.x = intBitsToFloat(uf_remappedVS[0].y) * intBitsToFloat(0x404ec4f0) / resScale; -R127f.y = intBitsToFloat(uf_remappedVS[0].y) * intBitsToFloat(0x40a275f7); -R2f.z = R2f.y + PS0f; -PV1f.z = R2f.z; -R2f.w = R2f.y; -PV1f.w = R2f.w; -R0f.y = R2f.y + -(PS0f); -PS1f = R0f.y; -// 2 -R0f.x = R2f.x; -R3f.y = R2f.y + -(PV1f.x); -R0f.z = PV1f.z; -R0f.w = PV1f.w; -R2f.z = R2f.y + PV1f.x; -PS0f = R2f.z; -// 3 -R3f.x = R2f.x; -R4f.y = R2f.y + -(R127f.y); -R3f.z = PS0f; -R3f.w = R2f.y; -R2f.z = R2f.y + R127f.y; -PS1f = R2f.z; -// 4 -R4f.xzw = vec3(R2f.x,PS1f,R2f.y); -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// export -passParameterSem2 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -// 0 -} diff --git a/Source/WindWakerHD/8d68a0e3561ff525_0000000000000000_vs.txt b/Source/WindWakerHD/8d68a0e3561ff525_0000000000000000_vs.txt deleted file mode 100644 index 30dd4ff3..00000000 --- a/Source/WindWakerHD/8d68a0e3561ff525_0000000000000000_vs.txt +++ /dev/null @@ -1,105 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 8d68a0e3561ff525 //scale bloom to res -const float resScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -R1f.x = backupReg0f; -R1f.x *= 2.0; -R1f.y = backupReg1f; -R1f.y *= 2.0; -R1f.z = 0.0; -R1f.w = 1.0; -R127f.y = intBitsToFloat(uf_remappedVS[0].x) * intBitsToFloat(0x3fb13a93) / resScale; -PS0f = R127f.y; -// 1 -PV1f.x = intBitsToFloat(uf_remappedVS[0].x) * intBitsToFloat(0x404ec4f0) / resScale; -R126f.y = intBitsToFloat(uf_remappedVS[0].x) * intBitsToFloat(0x40a275f7); -R3f.z = R2f.x + PS0f; -R3f.w = R2f.x; -R3f.x = R2f.y; -PS1f = R3f.x; -// 2 -R0f.x = PS1f; -R3f.y = R2f.x + -(R127f.y); -R0f.z = R2f.x + PV1f.x; -R0f.w = R2f.x; -R0f.y = R2f.x + -(PV1f.x); -PS0f = R0f.y; -// 3 -backupReg0f = R2f.x; -backupReg0f = R2f.x; -backupReg0f = R2f.x; -R2f.x = R3f.x; -R2f.y = backupReg0f + -(R126f.y); -R2f.z = backupReg0f + R126f.y; -R2f.w = backupReg0f; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem1 = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem2 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// export -passParameterSem0 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// 0 -} diff --git a/Source/WindWakerHD/d283b9338c6b10c5_0000000000000000_vs.txt b/Source/WindWakerHD/d283b9338c6b10c5_0000000000000000_vs.txt deleted file mode 100644 index 3dd15633..00000000 --- a/Source/WindWakerHD/d283b9338c6b10c5_0000000000000000_vs.txt +++ /dev/null @@ -1,84 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader d283b9338c6b10c5 //AO noise/de-banding scaling -const float resScale = ; -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -backupReg0f = R1f.x; -backupReg1f = R1f.y; -R1f.x = backupReg0f; -R1f.x *= 2.0; -R1f.y = backupReg1f; -R1f.y *= 2.0; -R1f.z = 0.0; -R1f.w = 1.0; -PS0f = 1.0 / intBitsToFloat(uf_remappedVS[0].x)*resScale; -// 1 -PV1f.w = mul_nonIEEE(R2f.x, PS0f); -PS1f = 1.0 / intBitsToFloat(uf_remappedVS[0].y)*resScale; -// 2 -PV0f.y = mul_nonIEEE(PV1f.w, intBitsToFloat(uf_remappedVS[0].w)); -PV0f.z = mul_nonIEEE(R2f.y, PS1f); -// 3 -PV1f.x = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedVS[0].w)); -R2f.z = PV0f.y; -// 4 -R2f.w = PV1f.x; -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -// 0 -} diff --git a/Source/WindWakerHD/d9c81460d6984bb2_0000000000000000_vs.txt b/Source/WindWakerHD/d9c81460d6984bb2_0000000000000000_vs.txt deleted file mode 100644 index 9397b8bd..00000000 --- a/Source/WindWakerHD/d9c81460d6984bb2_0000000000000000_vs.txt +++ /dev/null @@ -1,116 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader d9c81460d6984bb2 -//blur shadows step 1 -const float resScale = ; -uniform ivec4 uf_remappedVS[5]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -R127f.x = (R1f.x > 0.0)?1.0:0.0; -R127f.x /= 2.0; -R127f.y = -(R1f.y); -PV0f.y = R127f.y; -R127f.z = (0.0 > R1f.x)?1.0:0.0; -R127f.z /= 2.0; -R127f.w = 1.0; -PV0f.w = R127f.w; -R126f.x = intBitsToFloat(uf_remappedVS[0].z) * intBitsToFloat(0x3fae8a72)/ resScale;// fix all... -PS0f = R126f.x; -// 1 -R0f.x = dot(vec4(R1f.x,R1f.y,R1f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV1f.x = R0f.x; -PV1f.y = R0f.x; -PV1f.z = R0f.x; -PV1f.w = R0f.x; -R126f.w = (PV0f.y > 0.0)?1.0:0.0; -R126f.w /= 2.0; -PS1f = R126f.w; -// 2 -backupReg0f = R127f.y; -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -R127f.y = (0.0 > backupReg0f)?1.0:0.0; -R127f.y /= 2.0; -PS0f = R127f.y; -// 3 -backupReg0f = R127f.x; -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.z = tempf.x; -R127f.x = backupReg0f + -(R127f.z); -PS1f = R127f.x; -// 4 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.w = tempf.x; -PS0f = R126f.w + -(R127f.y); -// 5 -PV1f.y = PS0f + 0.5; -PV1f.z = R127f.x + 0.5; -// 6 -R1f.x = PV1f.y; -R1f.y = PV1f.z + -(R126f.x); -R1f.z = PV1f.z + R126f.x; -R1f.w = PV1f.z; -// export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.w); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// 0 -} diff --git a/Source/WindWakerHD/ff71dcd2ad4defdc_00000000000003c9_ps.txt b/Source/WindWakerHD/ff71dcd2ad4defdc_00000000000003c9_ps.txt deleted file mode 100644 index 01370fd6..00000000 --- a/Source/WindWakerHD/ff71dcd2ad4defdc_00000000000003c9_ps.txt +++ /dev/null @@ -1,197 +0,0 @@ - -#version 420 -#extension GL_ARB_texture_gather : enable -// shader ff71dcd2ad4defdc -//AA ps -const float resScale = ; -uniform ivec4 uf_remappedPS[4]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5807800 res 1920x1080x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4000800 res 1920x1080x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 0) in vec4 passParameterSem2; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem2; -if( activeMaskStackC[1] == true ) { -R1f.xyzw = (textureGather(textureUnitPS1, R0f.xy).wzxy); -R2f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0f.x = R1f.y + R1f.x; -R127f.y = intBitsToFloat(uf_remappedPS[0].z) * 0.25; -PV0f.z = R1f.w + -(R1f.x); -PV0f.w = R1f.z + -(R1f.y); -R127f.z = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedPS[1].x)); -PS0f = R127f.z; -// 1 -R127f.x = PV0f.w + -(PV0f.z); -PV1f.x = R127f.x; -R126f.y = PV0f.w + PV0f.z; -PV1f.y = R126f.y; -PV1f.z = R1f.z + PV0f.x; -R127f.w = min(R1f.z, R1f.x); -R126f.w = min(R1f.w, R1f.y); -PS1f = R126f.w; -// 2 -PV0f.x = R1f.w + PV1f.z; -PV0f.y = max(PV1f.x, -(PV1f.x)); -PV0f.z = max(PV1f.y, -(PV1f.y)); -PV0f.w = max(R1f.z, R1f.x); -PS0f = max(R1f.w, R1f.y); -// 3 -PV1f.x = min(PV0f.z, PV0f.y); -R123f.y = (mul_nonIEEE(R2f.y,intBitsToFloat(uf_remappedPS[1].y)) + R127f.z); -PV1f.y = R123f.y; -R127f.z = min(R127f.w, R126f.w); -PV1f.z = R127f.z; -R123f.w = (mul_nonIEEE(R127f.y,PV0f.x) + intBitsToFloat(uf_remappedPS[0].w)); -PV1f.w = R123f.w; -R127f.w = max(PV0f.w, PS0f); -PS1f = R127f.w; -// 4 -PV0f.x = mul_nonIEEE(PS1f, intBitsToFloat(uf_remappedPS[2].x)); -PV0f.y = max(PV1f.y, PS1f); -PV0f.z = min(PV1f.y, PV1f.z); -PV0f.w = max(PV1f.w, PV1f.x); -R4f.z = -(PV1f.z) + PS1f; -PS0f = R4f.z; -// 5 -R3f.x = max(PV0f.x, intBitsToFloat(uf_remappedPS[2].y)); -R3f.y = -(PV0f.z) + PV0f.y; -R4f.w = R127f.z + R127f.w; -PS1f = 1.0 / PV0f.w; -// 6 -PV0f.x = mul_nonIEEE(R127f.x, PS1f); //p -PV0f.y = mul_nonIEEE(R126f.y, PS1f); -// 7 -PV1f.z = max(PV0f.x, -(intBitsToFloat(uf_remappedPS[0].y))); //p -PV1f.w = max(PV0f.y, -(intBitsToFloat(uf_remappedPS[0].y))); -// 8 -R1f.x = min(PV1f.w, intBitsToFloat(uf_remappedPS[0].y)); -R1f.y = min(PV1f.z, intBitsToFloat(uf_remappedPS[0].y)); -// 9 -predResult = (R3f.y > R3f.x); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R3f.x = (mul_nonIEEE(R1f.x,-(intBitsToFloat(uf_remappedPS[3].z) / resScale)) + R0f.x); -R3f.y = (mul_nonIEEE(R1f.y,-(intBitsToFloat(uf_remappedPS[3].w) / resScale)) + R0f.y); -R0f.z = (mul_nonIEEE(R1f.x,intBitsToFloat(uf_remappedPS[3].z)) + R0f.x); //leave out, looks better on avg -R0f.w = (mul_nonIEEE(R1f.y,intBitsToFloat(uf_remappedPS[3].w)) + R0f.y);//leave out, looks better on avg -R4f.x = (mul_nonIEEE(R1f.x,-(intBitsToFloat(uf_remappedPS[3].x) / resScale)) + R0f.x); -PS0f = R4f.x; -// 1 -R4f.y = (mul_nonIEEE(R1f.y,-(intBitsToFloat(uf_remappedPS[3].y)/resScale)) + R0f.y); -R3f.z = (mul_nonIEEE(R1f.x,intBitsToFloat(uf_remappedPS[3].x) / resScale) + R0f.x); -R3f.w = (mul_nonIEEE(R1f.y,intBitsToFloat(uf_remappedPS[3].y) / resScale) + R0f.y); -} -if( activeMaskStackC[2] == true ) { -R1f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw); -R0f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw); -R2f.xyzw = (texture(textureUnitPS0, R4f.xy).xyzw); -R3f.xyzw = (texture(textureUnitPS0, R3f.zw).xyzw); -} -if( activeMaskStackC[2] == true ) { -// 0 -R127f.xyz = vec3(R0f.x,R0f.w,R0f.z) + vec3(R1f.x,R1f.w,R1f.z); -PV0f.x = R127f.x; -PV0f.y = R127f.y; -PV0f.z = R127f.z; -R127f.w = R0f.y + R1f.y; -PV0f.w = R127f.w; -// 1 -PV1f.x = R2f.x + PV0f.x; -PV1f.y = R2f.w + PV0f.y; -PV1f.z = R2f.z + PV0f.z; -PV1f.w = R2f.y + PV0f.w; -// 2 -R126f.x = R3f.x + PV1f.x; -R126f.x /= 2.0; -PV0f.x = R126f.x; -R126f.y = R3f.w + PV1f.y; -R126f.y /= 2.0; -PV0f.y = R126f.y; -R126f.z = R3f.z + PV1f.z; -R126f.z /= 2.0; -PV0f.z = R126f.z; -R126f.w = R3f.y + PV1f.w; -R126f.w /= 2.0; -PV0f.w = R126f.w; -// 3 -backupReg0f = R127f.y; -R123f.x = (mul_nonIEEE(PV0f.x,intBitsToFloat(uf_remappedPS[1].x)) + -(R4f.w)); -PV1f.x = R123f.x; -R127f.yzw = vec3(R127f.z,R127f.w,R127f.x) + vec3(-(PV0f.z),-(PV0f.w),-(PV0f.x)); -R127f.x = backupReg0f + -(PV0f.y); -PS1f = R127f.x; -// 4 -R123f.w = (mul_nonIEEE(R126f.w,intBitsToFloat(uf_remappedPS[1].y)) + PV1f.x); -PV0f.w = R123f.w; -// 5 -PV1f.z = max(PV0f.w, -(PV0f.w)); -// 6 -PV0f.y = -(R4f.z) + PV1f.z; -// 7 -R123f.x = intBitsToFloat(((PV0f.y >= 0.0)?(floatBitsToInt(1.0)):(0))); -PV1f.x = R123f.x; -// 8 -R2f.x = (mul_nonIEEE(R127f.w,PV1f.x) + R126f.x)/2.0; -R2f.y = (mul_nonIEEE(R127f.z,PV1f.x) + R126f.w)/2.0; -R2f.z = (mul_nonIEEE(R127f.y,PV1f.x) + R126f.z)/2.0; -R2f.w = (mul_nonIEEE(R127f.x,PV1f.x) + R126f.y)/2.0; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -// export -passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); -} diff --git a/Source/WindWakerHD/patches.txt b/Source/WindWakerHD/patches.txt deleted file mode 100644 index fd5a4dff..00000000 --- a/Source/WindWakerHD/patches.txt +++ /dev/null @@ -1,28 +0,0 @@ - -[WWHDAspectEUR] -moduleMatches = 0xB7E748DE -0x1004AAF0 = .float -0x101417E0 = .float -0x101658A8 = .float - -[WWHDAspectJAP] -moduleMatches = 0x74BD3F6A -0x1004AAF0 = .float -0x101417F8 = .float -0x101658C0 = .float - -[WWHDAspectUSA] -moduleMatches = 0x475BD29F -0x1004AAF0 = .float -0x101417D0 = .float -0x10165898 = .float diff --git a/Source/WindWakerHD/rules.txt b/Source/WindWakerHD/rules.txt index 725af760..4a97ac67 100644 --- a/Source/WindWakerHD/rules.txt +++ b/Source/WindWakerHD/rules.txt @@ -1,75 +1,281 @@ - [Definition] titleIds = 0005000010143400,0005000010143600,0005000010143500 -name = "The Legend of Zelda: The Wind Waker HD - " -version = 2 +name = Resolution +path = "The Legend of Zelda: The Wind Waker HD/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 -[TextureRedefine] #0x01a, super sampling -formats = 0x01a -overwriteRelativeLodBias = -16 # +[Preset] +name = 1920x1080 (Default) +$width = 1920 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1080 +// Performance -[TextureRedefine] # game rendering resolution +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 1280x720 +$width = 1280 +$height = 720 +$gameWidth = 1920 +$gameHeight = 1080 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1920 +$gameHeight = 1080 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1920 +$gameHeight = 1080 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1920 +$gameHeight = 1080 + +[TextureRedefine] +width = 1920 +height = 1088 +#formats = 0x80e,0x019,0x001 +overwriteWidth = ($width/$gameWidth) * 1920 +overwriteHeight = ($height/$gameHeight) * 1088 + +[TextureRedefine] width = 1920 height = 1080 -formatsExcluded = 0x41A # exclude the intro background texture -overwriteWidth = -overwriteHeight = +#formatsExcluded = 0x41A +overwriteWidth = ($width/$gameWidth) * 1920 +overwriteHeight = ($height/$gameHeight) * 1080 -[TextureRedefine] # Shadow projection -width = 960 -height = 540 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # shadow blur, Bloom pyarmid start -width = 480 -height = 270 -#formatsExcluded = 0x816 # uncomment for original large bloom -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad rendering resolution -width = 854 -height = 480 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # last shadow blur. Bloom pyramid 2 -width = 240 -height = 135 -#formatsExcluded = 0x816 # uncomment for original large bloom -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # Bloom pyramid 3 -width = 120 -height = 67 -#formatsExcluded = 0x816 # uncomment for original large bloom -overwriteWidth = -overwriteHeight = - - -[TextureRedefine] # Bloom pyramid 4 last step -width = 60 -height = 33 -#formatsExcluded = 0x816 # uncomment for original large bloom -overwriteWidth = -overwriteHeight = - [TextureRedefine] #Shadows width = 1024 height = 1024 -formats = 0x005 -overwriteWidth = -overwriteHeight = \ No newline at end of file +formats = 0x005 #,0x034,0x431,0x034 +overwriteWidth = ($height/$gameHeight) * 1024 +overwriteHeight = ($height/$gameHeight) * 1024 + +[TextureRedefine] #Shadows +width = 1024 +height = 544 +#formats = 0x005,0x80e,0x019,0x001 #,0x034,0x431,0x034 +overwriteWidth = ($width/$gameWidth) * 1024 +overwriteHeight = ($height/$gameHeight) * 544 + + + +[TextureRedefine] +width = 960 +height = 540 +#formats = 0x816,0x806,0x019,0x01a +overwriteWidth = ($width/$gameWidth) * 960 +overwriteHeight = ($height/$gameHeight) * 540 + + +[TextureRedefine] +width = 960 +height = 544 +#formats = 0x816,0x806,0x019,0x01a +overwriteWidth = ($width/$gameWidth) * 960 +overwriteHeight = ($height/$gameHeight) * 544 + +[TextureRedefine] +width = 864 +height = 480 +#formats = +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 + + +[TextureRedefine] +width = 854 +height = 480 +#formats = +overwriteWidth = ($width/$gameWidth) * 854 +overwriteHeight = ($height/$gameHeight) * 480 + + + +[TextureRedefine] +width = 512 +height = 512 +formats = 0x806,0x019,0x01a +overwriteWidth = ($height/$gameHeight) * 512 +overwriteHeight = ($height/$gameHeight) * 512 + +[TextureRedefine] +width = 480 +height = 272 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 480 +overwriteHeight = ($height/$gameHeight) * 272 + +[TextureRedefine] +width = 480 +height = 270 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 480 +overwriteHeight = ($height/$gameHeight) * 270 + +#[TextureRedefine] +#width = 360 +#height = 346 +##formats = +#overwriteWidth = ($width/$gameWidth) * 360 +#overwriteHeight = ($height/$gameHeight) * 346 + +[TextureRedefine] +width = 256 +height = 144 +#formats = 0x816 +#formatsExcluded = 0x01a +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 144 + +[TextureRedefine] +width = 256 +height = 256 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 256 + +[TextureRedefine] +width = 256 +height = 144 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 144 + + +[TextureRedefine] +width = 240 +height = 135 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 240 +overwriteHeight = ($height/$gameHeight) * 135 + +[TextureRedefine] +width = 128 +height = 128 +formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 128 + +[TextureRedefine] +width = 128 +height = 80 +#formats = 0x816 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 80 + +[TextureRedefine] +width = 120 +height = 67 +#formats = +overwriteWidth = ($width/$gameWidth) * 120 +overwriteHeight = ($height/$gameHeight) * 67 + +[TextureRedefine] +width = 64 +height = 64 +formats = 0x816 +overwriteWidth = ($height/$gameHeight) * 64 +overwriteHeight = ($height/$gameHeight) * 64 + +[TextureRedefine] +width = 64 +height = 48 +#formats = +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 48 + +[TextureRedefine] +width = 60 +height = 33 +#formats = +overwriteWidth = ($width/$gameWidth) * 60 +overwriteHeight = ($height/$gameHeight) * 33 \ No newline at end of file diff --git a/Source/Wipeout3/rules.txt b/Source/Wipeout3/rules.txt deleted file mode 100644 index e2426864..00000000 --- a/Source/Wipeout3/rules.txt +++ /dev/null @@ -1,38 +0,0 @@ - -[Definition] -titleIds = 000500001010E800 -name = "Wipeout 3 - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -tileModesExcluded = 0x001 # fix for the green intro video (with cemu hook installed) -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 640 -height = 360 -tileModesExcluded = 0x001 # fix for the green intro video (with cemu hook installed) -overwriteWidth = -overwriteHeight = - -[TextureRedefine]# q-res -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/WipeoutCreate/rules.txt b/Source/WipeoutCreate/rules.txt deleted file mode 100644 index e9478cbc..00000000 --- a/Source/WipeoutCreate/rules.txt +++ /dev/null @@ -1,36 +0,0 @@ - -[Definition] -titleIds = 0005000010145500 -name = "Wipeout Create & Crash - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half-res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = - -[TextureRedefine]# q-res -width = 320 -height = 180 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # gamepad -width = 854 -height = 480 -#overwriteWidth = -#overwriteHeight = diff --git a/Source/Wonderful101/rules.txt b/Source/Wonderful101/rules.txt index a105baea..9d9937a5 100644 --- a/Source/Wonderful101/rules.txt +++ b/Source/Wonderful101/rules.txt @@ -1,57 +1,192 @@ - [Definition] titleIds = 0005000010116300,000500001012DC00,0005000010135300 -name = "The Wonderful 101 - " -version = 2 +name = Resolution +path = "The Wonderful 101/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 -[TextureRedefine] +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] # Game Resolution width = 1280 height = 720 tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 1280 +overwriteHeight = ($height / $gameHeight) * 720 -[TextureRedefine] +[TextureRedefine] # Depth of Field Pass? Bloom Pass? +width = 640 +height = 368 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 368 + +[TextureRedefine] # Depth of Field Pass? Bloom Pass? width = 640 height = 360 tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 360 -[TextureRedefine] +[TextureRedefine] # Bloom Pass +width = 320 +height = 192 +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 192 + +[TextureRedefine] # Bloom Pass width = 320 height = 180 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 320 +overwriteHeight = ($height / $gameHeight) * 180 -[TextureRedefine] +[TextureRedefine] # Bloom Pass Mip +width = 160 +height = 96 +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 96 + +[TextureRedefine] # Bloom Pass Mip width = 160 height = 90 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 160 +overwriteHeight = ($height / $gameHeight) * 90 -[TextureRedefine] +[TextureRedefine] # Bloom Pass Mip +width = 96 +height = 48 +overwriteWidth = ($width / $gameWidth) * 96 +overwriteHeight = ($height / $gameHeight) * 48 + +[TextureRedefine] # Bloom Pass Mip width = 80 -height = 22 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 40 height = 45 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 80 +overwriteHeight = ($height / $gameHeight) * 45 -[TextureRedefine] # gamepad -width = 854 +[TextureRedefine] # Bloom Pass Mip +width = 64 +height = 32 +formats = 0x1a +overwriteWidth = ($width / $gameWidth) * 64 +overwriteHeight = ($height / $gameHeight) * 32 + +[TextureRedefine] # Bloom Pass Mip +width = 40 +height = 22 +overwriteWidth = ($width / $gameWidth) * 40 +overwriteHeight = ($height / $gameHeight) * 22 + +[TextureRedefine] # Gamepad Resolution +width = 864 height = 480 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 864 +overwriteHeight = ($height / $gameHeight) * 480 diff --git a/Source/WoollyWorld/patches.txt b/Source/WoollyWorld/patches.txt deleted file mode 100644 index 1264dc0e..00000000 --- a/Source/WoollyWorld/patches.txt +++ /dev/null @@ -1,15 +0,0 @@ - -[WoollyUW] -moduleMatches = 0x363CA665 -0x10274058 = .float -0x10001A44 = .float diff --git a/Source/WoollyWorld/rules.txt b/Source/WoollyWorld/rules.txt deleted file mode 100644 index b679e35e..00000000 --- a/Source/WoollyWorld/rules.txt +++ /dev/null @@ -1,26 +0,0 @@ - -[Definition] -titleIds = 0005000010131F00,0005000010184E00,0005000010184D00 -name = "Yoshi's Woolly World - " -version = 2 - -[TextureRedefine] # tv -width = 1280 -height = 720 -formatsExcluded = 0x033 -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # half res -width = 640 -height = 360 -overwriteWidth = -overwriteHeight = diff --git a/Source/WorldOfKeflings/rules.txt b/Source/WorldOfKeflings/rules.txt index 2b2b8a69..01190b76 100644 --- a/Source/WorldOfKeflings/rules.txt +++ b/Source/WorldOfKeflings/rules.txt @@ -1,18 +1,123 @@ - [Definition] titleIds = 000500001017b300 -name = "A World Of Keflings - " -version = 2 +name = Resolution +path = "A World of Keflings/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 + +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 [TextureRedefine] width = 1280 height = 720 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width / $gameWidth) * 1280 +overwriteHeight = ($height / $gameHeight) * 720 diff --git a/Source/XenobladeX/007148d1db7f78e7_0000000000000000_vs.txt b/Source/XenobladeX/007148d1db7f78e7_0000000000000000_vs.txt deleted file mode 100644 index bac10148..00000000 --- a/Source/XenobladeX/007148d1db7f78e7_0000000000000000_vs.txt +++ /dev/null @@ -1,1428 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 007148d1db7f78e7 -//fog clouds -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 4) out vec4 passParameterSem4; -layout(location = 5) out vec4 passParameterSem5; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -ivec4 R16i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem9; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem11.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R12i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(max(intBitsToFloat(R5i.x), -(intBitsToFloat(R5i.x)))); -PV0i.x = R126i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(max(intBitsToFloat(R5i.y), -(intBitsToFloat(R5i.y)))); -PV0i.z = R126i.z; -R126i.w = R5i.z; -R127i.z = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV0i.z))); -PS1i = R127i.x; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R126i.w))); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.w)); -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R127i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -R125i.x = R6i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 5 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R8i.x))); -R126i.z = R6i.z; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = R6i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R8i.z))); -PS1i = R125i.w; -// 6 -PV0i.x = R8i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R8i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R124i.y; -// 7 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R11i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.x)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R125i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.w))); -PS1i = R127i.x; -// 8 -R126i.x = R6i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = R6i.z; -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = R6i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R126i.z))); -R125i.x = R6i.w; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 9 -backupReg0i = R124i.x; -backupReg1i = R126i.y; -R124i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(backupReg0i)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg1i)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV0i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.y))); -PS1i = R127i.z; -// 10 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R11i.z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R125i.x))); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R125i.x))); -PS1i = R124i.x; -// 12 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R125i.x))); -PV0i.z = R125i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(backupReg0i)); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R8i.x))); -PV1i.x = R5i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R8i.y))); -PV1i.y = R0i.y; -R15i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(PV0i.z))); -R6i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R14i.x = 0; -PS1i = R14i.x; -// 14 -R5i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R13i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.z)); -R13i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R126i.y)); -R8i.w = floatBitsToInt(intBitsToFloat(R126i.x) + -(intBitsToFloat(R124i.x))); -R8i.y = 0; -PS0i = R8i.y; -// 15 -R8i.x = 0x3f800000; -R6i.y = 0x3f800000; -R8i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R12i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R124i.x)); -PS1i = R12i.w; -// 16 -R7i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R125i.z)); -R4i.w = floatBitsToInt(-(intBitsToFloat(R127i.x)) + 1.0); -R13i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -PS0i = R13i.w; -// 17 -R0i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R6i.z = 0; -PS1i = R6i.z; -// 18 -R14i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R5i.w))/0.1591549367)); -// 19 -R127i.x = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R5i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R125i.y))/0.1591549367)); -// 22 -R14i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 23 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); -R5i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R124i.y))/0.1591549367)); -PS1i = R127i.w; -// 24 -R15i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R124i.y))/0.1591549367)); -// 25 -R7i.x = PS0i; -R5i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R7i.y = PS0i; -PS1i = R7i.y; -// 26 -R12i.z = floatBitsToInt(sqrt(intBitsToFloat(R0i.x))); -PS0i = R12i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R7i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R1i.z,R0i.w,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R8i.x = uf_remappedVS[1].z; -PS0i = R8i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.y = uf_remappedVS[4].z; -PS1i = R8i.y; -// 4 -R8i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), -(intBitsToFloat(PV1i.x)))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R13i.y)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R13i.y)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R5i.x = PV1i.x; -PS0i = R5i.x; -// 9 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -R5i.y = R127i.y; -PS1i = R5i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.z = tempi.x; -// 12 -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R7i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -R0i.x = uf_remappedVS[1].x; -PS0i = R0i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R15i.x),intBitsToFloat(R7i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.z), intBitsToFloat(R8i.z))); -R0i.y = uf_remappedVS[1].y; -R0i.z = uf_remappedVS[1].z; -// 3 -backupReg0i = R5i.y; -R5i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R14i.z; -R14i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.z))); -R16i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(PS1i))); -PS0i = R16i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R15i.x),intBitsToFloat(R7i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R15i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[1].y))); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R0i.z; -// 2 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[1].y))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[4].y))); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[4].y))); -// 5 -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[5].y))); -// 6 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[5].y))); -// 7 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R14i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.y))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.w))); -R14i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R14i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R126i.x))); -PS0i = R14i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R7i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R0i.y = 0; -R0i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R5i.y = 0x3f800000; -PS0i = R5i.y; -// 1 -R14i.y = 0; -R5i.z = 0; -R14i.z = uf_remappedVS[1].x; -PS1i = R14i.z; -// 2 -R11i.z = 0; -// 3 -R6i.z = R12i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -R8i.x = backupReg1i; -PS0i = R8i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -R8i.y = R5i.z; -PS1i = R8i.y; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R14i.x),intBitsToFloat(R14i.y),intBitsToFloat(R14i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.z = tempi.x; -R8i.z = R14i.z; -PS0i = R8i.z; -// 3 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R16i.x),intBitsToFloat(R15i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = R13i.x; -PV1i.y = R13i.x; -PV1i.z = R13i.x; -PV1i.w = R13i.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.z))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R16i.x),intBitsToFloat(R15i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R14i.z))); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R16i.x),intBitsToFloat(R15i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R14i.x),intBitsToFloat(R14i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R13i.x = R13i.z; -R13i.z = R5i.x; -R6i.x = R14i.z; -PS0i = R6i.x; -// 1 -R6i.y = R1i.y; -R6i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R13i.y):(R5i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R13i.z):(R13i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R5i.x):(R13i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R13i.y; -R13i.x = ((R127i.y == 0)?(PV1i.x):(R5i.x)); -R13i.y = ((R127i.y == 0)?(PV1i.w):(R13i.z)); -R13i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R14i.z):(R14i.z)); -PV0i.w = R123i.w; -R6i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R6i.x; -// 3 -backupReg0i = R6i.y; -R8i.x = ((R127i.y == 0)?(0):(R14i.x)); -R6i.y = ((R127i.y == 0)?(R127i.z):(R14i.z)); -R6i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R8i.y = ((R127i.y == 0)?(0):(backupReg0i)); -PS1i = R8i.y; -// 4 -backupReg0i = R8i.z; -R8i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(R15i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R15i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R7i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(R7i.y))); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R1i.z) * 1.0); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R7i.x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R5i.y)) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R15i.x))); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R7i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.z))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.x))); -PS0i = R126i.x; -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R7i.x)) + intBitsToFloat(R127i.x))); -R125i.y = floatBitsToInt((intBitsToFloat(R5i.w) * 0.0 + intBitsToFloat(R127i.y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R5i.y)) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.z), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.z), intBitsToFloat(R126i.w))); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.z), intBitsToFloat(R125i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R125i.x))); -PS0i = R124i.z; -// 5 -backupReg0i = R127i.z; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(PV0i.y))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R11i.z = 0; -PS1i = R11i.z; -// 6 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(R125i.w))); -// 7 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(R126i.z))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R127i.w))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -PV1i.z = R126i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(R125i.x))); -// 8 -backupReg0i = R127i.z; -backupReg1i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(R124i.z))); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(R127i.x))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R125i.y; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R126i.w))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R126i.z))); -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(PS0i))); -PS1i = R127i.x; -// 10 -backupReg0i = R126i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R127i.w))); -PS0i = R124i.y; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R127i.y),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[6].x))); -PS1i = R127i.w; -// 12 -backupReg0i = R126i.z; -backupReg1i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(R126i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(uf_remappedVS[6].z))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].y))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg1i))); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R127i.z))); -PS0i = R0i.x; -// 13 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R124i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R127i.w))); -PS1i = R124i.x; -// 14 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R124i.y))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(backupReg1i))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R126i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.z))); -// 15 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R124i.x))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.w))); -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(R0i.x))); -PS1i = R122i.x; -// 16 -backupReg0i = R127i.y; -backupReg1i = R126i.w; -backupReg1i = R126i.w; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(uf_remappedVS[6].y))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedVS[6].x))); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedVS[6].z))); -PS0i = R124i.x; -// 17 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg1i = R124i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R124i.z))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].z))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].y))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(backupReg1i)) + intBitsToFloat(R126i.y))); -PS1i = R122i.x; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R124i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PS1i))); -PS0i = R124i.y; -// 19 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R124i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R126i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R127i.z))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R124i.w))); -PS1i = R127i.x; -// 20 -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV1i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV1i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R124i.z))); -PV0i.w = R123i.w; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV1i.x))); -PS0i = R13i.x; -// 21 -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(R127i.x))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(R126i.y))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.w))); -PS1i = R13i.z; -// 22 -R6i.z = R12i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -R0i.x = 0; -PS0i = R0i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R5i.z = R3i.w; -R5i.z = floatBitsToInt(intBitsToFloat(R5i.z) * 2.0); -PS1i = R5i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].w)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R6i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R6i.x; -// 3 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV0i.w))); -PV1i.x = R126i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.z))); -PV1i.y = R126i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.y))); -PV1i.z = R126i.z; -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].w)) + intBitsToFloat(PV0i.x))); -PV1i.w = R0i.w; -R127i.w = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.x; -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R6i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.y)); -R127i.y = ((intBitsToFloat(PV1i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(PV1i.w))); -R126i.w = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R125i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R125i.w; -// 7 -R5i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.x))); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R127i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.w))); -R123i.w = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R126i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R126i.w; -// 9 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983)); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.y; -// 10 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + -(0.0)); -R0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R126i.w = floatBitsToInt(sin((intBitsToFloat(PV1i.z))/0.1591549367)); -PS0i = R126i.w; -// 11 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -R5i.y = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R127i.y = floatBitsToInt(cos((intBitsToFloat(R127i.z))/0.1591549367)); -PS1i = R127i.y; -// 12 -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV1i.w))); -PV0i.x = R12i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV1i.w))); -PV0i.y = R124i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PV1i.w))); -PV0i.z = R125i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R125i.x = floatBitsToInt(sin((intBitsToFloat(R127i.x))/0.1591549367)); -PS0i = R125i.x; -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R125i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R125i.w))); -R127i.z = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -PS1i = R127i.z; -// 14 -R2i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV1i.z)); -PV0i.x = R2i.x; -R12i.y = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R12i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = R2i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R126i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.w))); -PS0i = R126i.y; -// 15 -backupReg0i = R0i.w; -R14i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R14i.x; -PV1i.y = R14i.x; -PV1i.z = R14i.x; -PV1i.w = R14i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.x)),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.w))); -PS1i = R125i.y; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R12i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(R124i.x))); -PS0i = R126i.z; -// 17 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R12i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.x))); -PS1i = R122i.x; -// 18 -backupReg0i = R126i.z; -backupReg1i = R9i.y; -R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(PS1i)) + intBitsToFloat(R10i.y))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(R9i.x))); -R2i.y = floatBitsToInt(intBitsToFloat(R1i.x) + 0.5); -PS0i = R2i.y; -// 19 -backupReg0i = R10i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -PS1i = R10i.x; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R124i.x; -// 21 -backupReg0i = R1i.y; -R1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R1i.y = floatBitsToInt(intBitsToFloat(R126i.z) + 0.5); -R9i.z = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 0.5); -R10i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_remappedVS[12].w))); -PV1i.w = R10i.w; -R7i.x = floatBitsToInt(intBitsToFloat(R127i.w) + 0.5); -PS1i = R7i.x; -// 22 -backupReg0i = R0i.w; -R12i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R12i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = R12i.x; -PV0i.y = R12i.x; -PV0i.z = R12i.x; -PV0i.w = R12i.x; -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R124i.x))); -PS0i = R10i.z; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R12i.y),intBitsToFloat(R2i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(R1i.x))); -PS0i = R124i.y; -// 1 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R12i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(R12i.x) + intBitsToFloat(R10i.z)); -PS1i = R127i.x; -// 2 -backupReg0i = R9i.y; -backupReg1i = R10i.x; -R124i.x = ((R5i.x == 0)?(PS1i):(PS1i)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedVS[0].z))); -R126i.w = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R124i.y)); -R10i.x = floatBitsToInt(intBitsToFloat(backupReg1i) + 0.5); -PS0i = R10i.x; -// 3 -backupReg0i = R0i.w; -backupReg1i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R12i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -R124i.y = ((R5i.x == 0)?(PV0i.z):(backupReg1i)); -PS1i = R124i.y; -// 4 -R123i.x = ((R5i.x == 0)?(PV1i.x):(PV1i.x)); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt(-(intBitsToFloat(R6i.z))); -R127i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((R5i.x == 0)?(R126i.w):(R126i.w)); -PV0i.w = R123i.w; -R1i.x = ((R6i.x == 0)?(R124i.x):(0x3f800000)); -PS0i = R1i.x; -// 5 -R0i.x = 0; -R14i.y = ((R6i.x == 0)?(PV0i.w):(0x3f800000)); -R2i.z = ((R6i.x == 0)?(R124i.y):(0x3f800000)); -R0i.w = ((R6i.x == 0)?(PV0i.x):(0x3f800000)); -R7i.y = floatBitsToInt(intBitsToFloat(R12i.y) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS1i = R7i.y; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R7i.z = 0; -PS0i = R7i.z; -// 7 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R124i.x; -PV1i.y = R124i.x; -PV1i.z = R124i.x; -PV1i.w = R124i.x; -R2i.w = 0; -PS1i = R2i.w; -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.y = tempi.x; -R12i.x = ((R127i.z == 0)?(backupReg0i):(R127i.x)); -PS0i = R12i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R126i.z = floatBitsToInt(tempResultf); -PS1i = R126i.z; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.x), intBitsToFloat(PS1i))); -PS0i = R124i.x; -// 11 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(R126i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(R126i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PS1i))); -// 13 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -R12i.z = ((R127i.z == 0)?(R7i.z):(R125i.y)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PS0i), -(intBitsToFloat(PS0i)))); -R12i.y = ((R127i.z == 0)?(R7i.y):(R126i.w)); -PS1i = R12i.y; -// 14 -backupReg0i = R126i.y; -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -R126i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(uf_remappedVS[14].y))); -R7i.z = R2i.y; -R12i.w = ((R127i.z == 0)?(R2i.w):(backupReg0i)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + 1.0); -PS0i = R7i.y; -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[20].y)) + intBitsToFloat(R1i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[20].x)) + intBitsToFloat(R0i.z))); -PV1i.y = R123i.y; -R10i.z = floatBitsToInt(intBitsToFloat(R11i.x) * intBitsToFloat(0x3c800000)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[20].z)) + intBitsToFloat(R1i.z))); -PV1i.w = R123i.w; -R10i.y = floatBitsToInt(-(intBitsToFloat(R9i.y)) + 1.0); -PS1i = R10i.y; -// 16 -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -R7i.w = R9i.z; -PS0i = R7i.w; -// 17 -backupReg0i = R0i.y; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.x = R0i.x; -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.z = R0i.z; -R10i.w = R11i.y; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 18 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(PS1i)); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.z))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV1i.y))); -PS0i = R1i.y; -// 19 -R123i.x = ((R5i.y == 0)?(PV0i.y):(0x3f800000)); -PV1i.x = R123i.x; -// 20 -R3i.z = PV1i.x; -R3i.z = clampFI32(R3i.z); -// 21 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R6i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(R6i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R0i.y))); -PV0i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R0i.z))); -PS0i = R127i.w; -// 1 -R4i.x = ((PV0i.w == 0)?(R1i.x):(0x3f800000)); -R4i.y = ((PV0i.w == 0)?(R14i.y):(0x3f800000)); -R4i.z = ((PV0i.w == 0)?(R2i.z):(0x3f800000)); -R4i.w = ((PV0i.w == 0)?(R0i.w):(0x3f800000)); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[21].y))); -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R14i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PS1i), 0.0)); -PS0i = R127i.z; -// 3 -R0i.x = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -R0i.y = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R5i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.x), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.z = floatBitsToInt(max(intBitsToFloat(R1i.z), 0.0)); -PS1i = R0i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedVS[21].z))); -R2i.y = floatBitsToInt(max(intBitsToFloat(R126i.z), 0.0)); -R2i.z = floatBitsToInt(max(intBitsToFloat(R127i.w), 0.0)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R2i.x = floatBitsToInt(max(intBitsToFloat(R126i.y), 0.0)); -PS0i = R2i.x; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].z), intBitsToFloat(R127i.z))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),1.0,0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedVS[24].w))); -PV1i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), 1.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedVS[21].w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedVS[25].w))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 11 -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].y)) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].x)) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R126i.w; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedVS[24].z)) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.x = R123i.x; -// 13 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].x)) + intBitsToFloat(R127i.z))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].y)) + intBitsToFloat(R125i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].z)) + intBitsToFloat(PV0i.x))); -// 14 -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_remappedVS[19].w))); -} -// export - -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R12i.x)*(origRatio / newRatio), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.w)); -// export -passParameterSem5 = vec4(intBitsToFloat(R10i.x), intBitsToFloat(R10i.y), intBitsToFloat(R10i.z), intBitsToFloat(R10i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/0b8b33c2f133a514_0000000000000000_vs.txt b/Source/XenobladeX/0b8b33c2f133a514_0000000000000000_vs.txt deleted file mode 100644 index bbe9c93f..00000000 --- a/Source/XenobladeX/0b8b33c2f133a514_0000000000000000_vs.txt +++ /dev/null @@ -1,1396 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 0b8b33c2f133a514 -//transport flame 3 *dumped* -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 4) out vec4 passParameterSem4; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem4; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem6.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem3.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem7; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem9.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(max(intBitsToFloat(R4i.x), -(intBitsToFloat(R4i.x)))); -PV0i.x = R126i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(max(intBitsToFloat(R4i.y), -(intBitsToFloat(R4i.y)))); -PV0i.z = R126i.z; -R126i.w = R4i.z; -R127i.z = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -R127i.w = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(PV0i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(PV0i.z)); -PS1i = R127i.x; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R126i.w)); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.w)); -R4i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R127i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R124i.w) + intBitsToFloat(R126i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R126i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -R125i.x = R5i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 5 -R124i.x = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R7i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R7i.x)); -R126i.z = R5i.z; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = R5i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(R7i.z)); -PS1i = R125i.w; -// 6 -PV0i.x = R7i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R7i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R124i.y; -// 7 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R10i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R125i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R127i.w)); -PS1i = R127i.x; -// 8 -R126i.x = R5i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = R5i.z; -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = R5i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R126i.z)); -R125i.x = R5i.w; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 9 -backupReg0i = R124i.x; -backupReg1i = R126i.y; -R124i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(backupReg0i)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(backupReg1i)); -R0i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PV0i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PV0i.y)); -PS1i = R127i.z; -// 10 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R10i.z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R125i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(backupReg0i)); -R126i.y = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R125i.x)); -R124i.x = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R125i.x)); -PS1i = R124i.x; -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R125i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.x)); -R1i.z = 0; -PS0i = R1i.z; -// 13 -R4i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R7i.x)); -PV1i.x = R4i.x; -R0i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R7i.y)); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -R7i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R14i.x = 0; -PS1i = R14i.x; -// 14 -R4i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R13i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.z)); -R14i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R126i.y)); -R10i.w = floatBitsToInt(intBitsToFloat(R126i.x) + -(intBitsToFloat(R124i.x))); -R12i.y = 0; -PS0i = R12i.y; -// 15 -R12i.x = 0x3f800000; -R7i.y = 0x3f800000; -R12i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R12i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R124i.x)); -PS1i = R12i.w; -// 16 -R1i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R125i.z)); -R5i.w = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R125i.z))); -R13i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -PS0i = R13i.w; -// 17 -R4i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R13i.z = 0; -PS1i = R13i.z; -// 18 -R7i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R4i.w))/0.1591549367)); -// 19 -R126i.x = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R4i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R125i.y))/0.1591549367)); -// 22 -R6i.y = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS1i)); -R5i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 23 -R0i.y = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS0i)); -R6i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -R4i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R124i.y))/0.1591549367)); -PS1i = R127i.w; -// 24 -R6i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R124i.y))/0.1591549367)); -// 25 -R5i.x = PS0i; -R4i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R5i.y = PS0i; -PS1i = R5i.y; -// 26 -R11i.z = floatBitsToInt(sqrt(intBitsToFloat(R0i.x))); -PS0i = R11i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R6i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R5i.z,R0i.w,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R6i.x = uf_remappedVS[1].z; -PS0i = R6i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = uf_remappedVS[4].z; -PS1i = R6i.y; -// 4 -R6i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * -(intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.x) * -(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R4i.x = PV1i.x; -PS0i = R4i.x; -// 9 -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R5i.x; -PV1i.y = R5i.x; -PV1i.z = R5i.x; -PV1i.w = R5i.x; -R4i.y = R127i.y; -PS1i = R4i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.z = tempi.x; -// 12 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 14 -backupReg0i = R7i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R6i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R4i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R13i.y),intBitsToFloat(R14i.z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -R0i.x = uf_remappedVS[1].x; -PS0i = R0i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R13i.y),intBitsToFloat(R14i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R12i.z)); -R0i.y = uf_remappedVS[1].y; -R0i.z = uf_remappedVS[1].z; -// 3 -backupReg0i = R4i.y; -R4i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R12i.z; -R12i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(backupReg0i)); -R13i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(R5i.x) + intBitsToFloat(PS1i))); -PS0i = R13i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[1].y)); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R0i.z; -// 2 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[1].y)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[4].y)); -R4i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R4i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[4].y)); -// 5 -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 7 -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R12i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.y))); -R4i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w))); -R12i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R12i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R126i.x))); -PS0i = R12i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R6i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R0i.y = 0; -R0i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R4i.y = 0x3f800000; -PS0i = R4i.y; -// 1 -R12i.y = 0; -R4i.z = 0; -R12i.z = uf_remappedVS[1].x; -PS1i = R12i.z; -// 2 -R10i.z = 0; -// 3 -R13i.z = R11i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R5i.x; -PV0i.y = R5i.x; -PV0i.z = R5i.x; -PV0i.w = R5i.x; -R6i.x = backupReg1i; -PS0i = R6i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.y = tempi.x; -R6i.y = R4i.z; -PS1i = R6i.y; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.z = tempi.x; -R6i.z = R12i.z; -PS0i = R6i.z; -// 3 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R10i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -PS1i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R4i.z)); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R12i.z)); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R13i.x = R14i.z; -R13i.z = R4i.x; -R7i.x = R7i.z; -PS0i = R7i.x; -// 1 -R7i.y = R1i.y; -R7i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R13i.y):(R4i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R14i.z):(R14i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R4i.x):(R13i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R13i.y; -R13i.x = ((R127i.y == 0)?(PV1i.x):(R4i.x)); -R13i.y = ((R127i.y == 0)?(PV1i.w):(R14i.z)); -R13i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R7i.z):(R7i.z)); -PV0i.w = R123i.w; -R7i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R7i.x; -// 3 -backupReg0i = R7i.y; -R12i.x = ((R127i.y == 0)?(0):(R14i.x)); -R7i.y = ((R127i.y == 0)?(R127i.z):(R7i.z)); -R7i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R12i.y = ((R127i.y == 0)?(0):(backupReg0i)); -PS1i = R12i.y; -// 4 -backupReg0i = R12i.z; -R12i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R6i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(R6i.z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R6i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R5i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R5i.y)); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -R125i.z = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R6i.x)); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R5i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.z)); -R126i.x = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.x)); -PS0i = R126i.x; -// 3 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R5i.x) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(R4i.w) * 0.0 + intBitsToFloat(R127i.y))); -R124i.z = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R4i.y) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(intBitsToFloat(R5i.w) * intBitsToFloat(R125i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R5i.w) * intBitsToFloat(R126i.w)); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -R126i.x = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.w) * intBitsToFloat(R125i.x)); -R126i.z = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R10i.z = 0; -PS0i = R10i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R126i.w)); -R127i.y = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R125i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(backupReg0i)); -R126i.w = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R124i.x) + intBitsToFloat(PV0i.y))); -PS1i = R125i.z; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i))); -// 7 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R127i.w))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R125i.z; -backupReg1i = R127i.y; -R124i.x = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(PV1i.y)); -R125i.z = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R126i.z)); -// 9 -backupReg0i = R124i.z; -backupReg1i = R125i.y; -R0i.x = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R126i.w))); -R124i.z = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.x))); -R0i.w = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(backupReg1i) + intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R124i.y),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R124i.y) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.w = tempi.x; -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].x)); -PS1i = R126i.w; -// 12 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(R126i.z) + intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[6].z)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].y)); -R125i.w = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].x)); -R126i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].y)); -PS0i = R126i.y; -// 13 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R125i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R126i.w))); -PS1i = R125i.x; -// 14 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(R124i.y) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(R124i.x)); -R123i.z = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R127i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R125i.z)); -// 15 -R5i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R125i.x))); -R5i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.w))); -R5i.z = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 16 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w))); -PV0i.x = R124i.x; -R125i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(R125i.z) + intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R125i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].z)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[6].x)); -PS0i = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[6].y)); -// 17 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV0i.w))); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].z)); -R125i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R126i.y))); -R126i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PS0i))); -PS1i = R126i.x; -// 18 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R125i.z))); -PS0i = R127i.y; -// 19 -backupReg0i = R0i.x; -backupReg1i = R127i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(backupReg1i))); -PS1i = R127i.w; -// 20 -R6i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R127i.x))); -R6i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R125i.w))); -R6i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R127i.y))); -R7i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R124i.y))); -PS0i = R7i.x; -// 21 -R7i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R126i.x))); -R7i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R127i.w))); -// 22 -R13i.z = R11i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -R1i.w = 0; -PS0i = R1i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R4i.z = R3i.w; -R4i.z = floatBitsToInt(intBitsToFloat(R4i.z) * 2.0); -PS1i = R4i.z; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R4i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R4i.x; -// 3 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV0i.w))); -PV1i.x = R125i.x; -R125i.y = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.z))); -PV1i.y = R125i.y; -R124i.z = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.y))); -PV1i.z = R124i.z; -R0i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].w) + intBitsToFloat(PV0i.x))); -PV1i.w = R0i.w; -R127i.y = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.y; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.w; -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R13i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R10i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(intBitsToFloat(R13i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.y)); -R126i.y = ((intBitsToFloat(PV1i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(PV1i.w))); -R126i.w = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R125i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R125i.z; -// 7 -R0i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(R126i.y)); -R123i.y = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R126i.w)); -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R127i.z; -// 9 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.z = R126i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R127i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.x; -// 10 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + -(0.0)); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R0i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R2i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R126i.y = floatBitsToInt(sin((intBitsToFloat(PV1i.z))/0.1591549367)); -PS0i = R126i.y; -// 11 -R124i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -R2i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R1i.z = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.x; -// 12 -R11i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PV1i.w)); -PV0i.x = R11i.x; -R124i.y = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(PV1i.w)); -PV0i.y = R124i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PV1i.w)); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.x))/0.1591549367)); -PS0i = R127i.w; -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(R125i.z)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R125i.z)); -R126i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(R125i.z)); -R125i.z = floatBitsToInt(cos((intBitsToFloat(R126i.x))/0.1591549367)); -PS1i = R125i.z; -// 14 -R2i.x = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(PV1i.y)); -PV0i.x = R2i.x; -R11i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(PV1i.x)); -PV0i.y = R11i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R124i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = R2i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R125i.x = floatBitsToInt((-(intBitsToFloat(R126i.y)) * intBitsToFloat(R1i.y) + intBitsToFloat(R126i.w))); -PS0i = R125i.x; -// 15 -backupReg0i = R0i.w; -R12i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R12i.x; -PV1i.y = R12i.x; -PV1i.z = R12i.x; -PV1i.w = R12i.x; -R126i.x = floatBitsToInt((-(intBitsToFloat(R127i.w)) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.y = tempi.x; -R4i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS0i = R4i.w; -// 17 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.z = tempi.x; -R122i.x = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(R124i.x))); -PS1i = R122i.x; -// 18 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg2i = R126i.z; -backupReg1i = R1i.y; -R1i.x = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(PS1i) + intBitsToFloat(R8i.y))); -R1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -R126i.z = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R5i.x = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + 0.5); -PS0i = R5i.x; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(R125i.x) + intBitsToFloat(R8i.x))); -PS1i = R126i.w; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R125i.w; -// 21 -backupReg0i = R9i.x; -R9i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R8i.y = floatBitsToInt((intBitsToFloat(R9i.z) * intBitsToFloat(R126i.x) + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[12].w)); -PV1i.z = R9i.z; -R8i.w = floatBitsToInt((intBitsToFloat(R9i.w) * intBitsToFloat(R126i.z) + intBitsToFloat(R9i.y))); -R8i.x = floatBitsToInt(intBitsToFloat(R126i.w) + 0.5); -PS1i = R8i.x; -// 22 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.w = tempi.x; -R9i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(R125i.w)); -PS0i = R9i.y; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R126i.x = floatBitsToInt(intBitsToFloat(R9i.z) * intBitsToFloat(R9i.x)); -PS0i = R126i.x; -// 1 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(intBitsToFloat(R9i.w) + intBitsToFloat(R9i.y)); -PS1i = R127i.w; -// 2 -backupReg0i = R126i.x; -R126i.x = ((R0i.x == 0)?(PS1i):(PS1i)); -R0i.y = floatBitsToInt(intBitsToFloat(R1i.x) + 0.5); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[0].z)); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(backupReg0i)); -R9i.x = floatBitsToInt(intBitsToFloat(R8i.y) + 0.5); -PS0i = R9i.x; -// 3 -backupReg0i = R0i.w; -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = R124i.x; -PV1i.y = R124i.x; -PV1i.z = R124i.x; -PV1i.w = R124i.x; -R125i.x = ((R0i.x == 0)?(PV0i.z):(R1i.w)); -PS1i = R125i.x; -// 4 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -R0i.x = ((R4i.x == 0)?(R126i.x):(0x3f800000)); -R123i.y = ((backupReg0i == 0)?(R126i.w):(R126i.w)); -PV0i.y = R123i.y; -R127i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((backupReg0i == 0)?(PV1i.x):(PV1i.x)); -PV0i.w = R123i.w; -R9i.y = floatBitsToInt(intBitsToFloat(R8i.w) + 0.5); -PS0i = R9i.y; -// 5 -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.z))); -R5i.y = ((R4i.x == 0)?(PV0i.y):(0x3f800000)); -R10i.z = ((R4i.x == 0)?(R125i.x):(0x3f800000)); -R0i.w = ((R4i.x == 0)?(PV0i.w):(0x3f800000)); -R1i.x = 0; -PS1i = R1i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.y = floatBitsToInt(intBitsToFloat(R11i.y) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS0i = R8i.y; -// 7 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R125i.w = floatBitsToInt(tempResultf); -PS1i = R125i.w; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.y = tempi.x; -R126i.x = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(PS1i)); -PS0i = R126i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = tempi.x; -R127i.y = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(R125i.w)); -PS1i = R127i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R125i.w)); -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(PS0i),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(PS1i)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); -R2i.z = 0; -PV0i.z = R2i.z; -R1i.w = 0; -PV0i.w = R1i.w; -R6i.x = ((R127i.z == 0)?(R1i.x):(R127i.w)); -PS0i = R6i.x; -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -PV1i.x = R127i.x; -R6i.y = ((R127i.z == 0)?(R8i.y):(R126i.w)); -R6i.z = ((R127i.z == 0)?(PV0i.z):(backupReg0i)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); -R6i.w = ((R127i.z == 0)?(PV0i.w):(R124i.x)); -PS1i = R6i.w; -// 14 -backupReg0i = R0i.y; -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[20].x) + intBitsToFloat(R2i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(uf_remappedVS[14].y))); -R8i.z = R1i.y; -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[20].y) + intBitsToFloat(R0i.z))); -PV0i.w = R123i.w; -R8i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PS0i = R8i.y; -// 15 -backupReg0i = R9i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(R4i.w)); -R123i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[20].z) + intBitsToFloat(R2i.y))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); -R9i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PS1i = R9i.y; -// 16 -R123i.x = ((R1i.z == 0)?(PV1i.y):(0x3f800000)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R8i.w = R5i.x; -PS0i = R8i.w; -// 17 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(PV0i.y)); -R0i.z = PV0i.x; -R0i.z = clampFI32(R0i.z); -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.w = R123i.w; -R9i.z = floatBitsToInt(intBitsToFloat(R10i.x) * intBitsToFloat(0x3c800000)); -PS1i = R9i.z; -// 18 -R2i.z = floatBitsToInt(intBitsToFloat(R3i.z) * intBitsToFloat(PV1i.w)); -R9i.w = 0x3f800000; -// 19 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R5i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R4i.z; -R4i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R4i.z; -R4i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R5i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R2i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R4i.z)); -PS0i = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R5i.z)); -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.w; -R0i.x = ((PV0i.x == 0)?(backupReg0i):(0x3f800000)); -R0i.y = ((PV0i.x == 0)?(R5i.y):(0x3f800000)); -R0i.z = ((PV0i.x == 0)?(R10i.z):(0x3f800000)); -R0i.w = ((PV0i.x == 0)?(backupReg1i):(0x3f800000)); -R122i.x = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(R4i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -R123i.z = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R12i.x) + intBitsToFloat(PS1i))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].y)); -// 3 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(tempResultf); -// 4 -R127i.x = floatBitsToInt(intBitsToFloat(R12i.x) * intBitsToFloat(PS1i)); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(PS1i)); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PS1i)); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].z)); -PS0i = floatBitsToInt(intBitsToFloat(uf_remappedVS[23].z) * intBitsToFloat(R127i.z)); -// 7 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[23].y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[23].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R123i.x = clampFI32(R123i.x); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(min(intBitsToFloat(PS1i), 1.0)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[21].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].w)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[25].w)); -R1i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[19].w)); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 11 -R127i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].y) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].x) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R126i.y; -// 12 -R123i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[24].z) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.y = R123i.y; -// 13 -R1i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].x) + intBitsToFloat(R127i.w))); -R1i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].y) + intBitsToFloat(R127i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].z) + intBitsToFloat(PV0i.y))); -} -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R8i.x), intBitsToFloat(R8i.y), intBitsToFloat(R8i.z), intBitsToFloat(R8i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/0dbac1e3ebdc5c02_0000000000000000_vs.txt b/Source/XenobladeX/0dbac1e3ebdc5c02_0000000000000000_vs.txt deleted file mode 100644 index f2692e43..00000000 --- a/Source/XenobladeX/0dbac1e3ebdc5c02_0000000000000000_vs.txt +++ /dev/null @@ -1,1377 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 0dbac1e3ebdc5c02 -// float arrow ingame *dumped* -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem4; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem6.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem3.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem7; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem9.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R125i.x = floatBitsToInt(max(intBitsToFloat(R4i.x), -(intBitsToFloat(R4i.x)))); -PV0i.x = R125i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(R4i.y), -(intBitsToFloat(R4i.y)))); -PV0i.z = R127i.z; -R127i.w = R4i.z; -R127i.y = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(PV0i.x)); -R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R126i.x = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(PV0i.z)); -PS1i = R126i.x; -// 2 -PV0i.x = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R127i.w)); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(R127i.x)); -R4i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -R126i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R126i.z; -// 4 -backupReg0i = R127i.y; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R127i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -R126i.y = R5i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 5 -R127i.x = R5i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R7i.x)); -R125i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R7i.y)); -R126i.w = R5i.y; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(R7i.z)); -PS1i = R125i.w; -// 6 -PV0i.x = R7i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R0i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R7i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R126i.z; -// 7 -backupReg0i = R126i.w; -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -R6i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R6i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R125i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R126i.y)); -R124i.y = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(backupReg0i)); -PS1i = R124i.y; -// 8 -PV0i.x = R5i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -R127i.y = R5i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PV0i.z = R5i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R127i.x)); -R126i.y = R5i.w; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 9 -backupReg0i = R125i.y; -R127i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R125i.w)); -R125i.y = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(R125i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(backupReg0i)); -R0i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PV0i.x)); -R125i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PV0i.z)); -PS1i = R125i.x; -// 10 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R125i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R126i.y)); -PV1i.x = R127i.x; -R125i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.z))); -R125i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R126i.y)); -R4i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PS1i = R4i.y; -// 12 -R126i.x = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R126i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R127i.y)); -R11i.w = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(PV1i.x))); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R7i.x)); -PV1i.x = R0i.x; -R5i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R7i.y)); -PV1i.y = R5i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R127i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R124i.y)); -R7i.x = 0; -PS1i = R7i.x; -// 14 -R0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R13i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.z)); -R13i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R125i.y)); -R12i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R11i.y = 0; -PS0i = R11i.y; -// 15 -R4i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R127i.x)); -R7i.y = 0x3f800000; -R11i.z = 0; -R5i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -R7i.w = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x)); -PS1i = R7i.w; -// 16 -R11i.x = 0x3f800000; -R0i.z = floatBitsToInt(-(intBitsToFloat(R4i.y)) + 1.0); -R10i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R13i.w = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(R126i.x))); -PS0i = R13i.w; -// 17 -R1i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R7i.z = 0; -PS1i = R7i.z; -// 18 -R12i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R4i.w))/0.1591549367)); -// 19 -R127i.z = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R4i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R0i.y))/0.1591549367)); -// 22 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -R4i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 23 -R4i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -R5i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -R4i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.w; -// 24 -R5i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -// 25 -R6i.x = PS0i; -R6i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R5i.y = PS0i; -PS1i = R5i.y; -// 26 -R10i.z = floatBitsToInt(sqrt(intBitsToFloat(R124i.x))); -PS0i = R10i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R6i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R4i.z,R0i.w,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R11i.x = uf_remappedVS[1].z; -PS0i = R11i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.y = uf_remappedVS[4].z; -PS1i = R11i.y; -// 4 -R11i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.y = R127i.y; -// 6 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * -(intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * -(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R4i.x = PV1i.x; -PS0i = R4i.x; -// 9 -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R13i.x; -PV1i.y = R13i.x; -PV1i.z = R13i.x; -PV1i.w = R13i.x; -R4i.y = R127i.y; -PS1i = R4i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R13i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.z = tempi.x; -// 12 -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R5i.x; -PV0i.y = R5i.x; -PV0i.z = R5i.x; -PV0i.w = R5i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R6i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -R4i.x = uf_remappedVS[1].x; -PS0i = R4i.x; -// 1 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R11i.z)); -R4i.y = uf_remappedVS[1].y; -R4i.z = uf_remappedVS[1].z; -// 3 -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R12i.z; -backupReg1i = R6i.x; -R12i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R11i.z)); -R6i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(backupReg1i) + intBitsToFloat(PS1i))); -PS0i = R6i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[1].y)); -R4i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R4i.z; -// 2 -R4i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[1].y)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[4].y)); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[4].y)); -// 5 -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 7 -R4i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R12i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w))); -R12i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R12i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R126i.x))); -PS0i = R12i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R6i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R4i.y = 0; -R4i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R12i.y = 0; -R0i.z = 0; -R12i.z = uf_remappedVS[1].x; -PS1i = R12i.z; -// 2 -R6i.z = 0; -// 3 -R7i.z = R10i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -R11i.x = R4i.z; -PS0i = R11i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -R11i.y = backupReg1i; -PS1i = R11i.y; -// 2 -backupReg0i = R13i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -R11i.z = R12i.z; -PS0i = R11i.z; -// 3 -backupReg0i = R0i.z; -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = R5i.x; -PV1i.y = R5i.x; -PV1i.z = R5i.x; -PV1i.w = R5i.x; -PS1i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(backupReg0i)); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R12i.z)); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R13i.x = R13i.z; -R13i.z = R0i.x; -R12i.x = R12i.z; -PS0i = R12i.x; -// 1 -R12i.y = R1i.y; -R12i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R13i.y):(R0i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R13i.z):(R13i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R0i.x):(R13i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R13i.y; -R13i.x = ((R127i.y == 0)?(PV1i.x):(R0i.x)); -R13i.y = ((R127i.y == 0)?(PV1i.w):(R13i.z)); -R13i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R12i.z):(R12i.z)); -PV0i.w = R123i.w; -R12i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R12i.x; -// 3 -R11i.x = ((R127i.y == 0)?(0):(R7i.x)); -R12i.y = ((R127i.y == 0)?(R127i.z):(R12i.z)); -R12i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R11i.y = ((R127i.y == 0)?(0):(R7i.y)); -PS1i = R11i.y; -// 4 -backupReg0i = R11i.z; -R11i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R5i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R5i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R5i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R5i.y)); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R4i.z) * 1.0); -R125i.z = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R125i.w = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R5i.x)); -PS1i = R125i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R5i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.z)); -R126i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.x)); -PS0i = R126i.x; -// 3 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R0i.x = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R6i.x) + intBitsToFloat(R127i.x))); -R127i.y = floatBitsToInt((intBitsToFloat(R4i.w) * 0.0 + intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R6i.y) + intBitsToFloat(backupReg1i))); -PV1i.w = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R125i.z)); -PS1i = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R126i.w)); -// 4 -backupReg0i = R126i.z; -R127i.x = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R125i.w) + intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R125i.x)); -R126i.z = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(R125i.w) + intBitsToFloat(R127i.w))); -R123i.w = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg0i))); -PV0i.w = R123i.w; -R127i.w = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R126i.y) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 5 -backupReg0i = R126i.x; -backupReg1i = R0i.z; -R126i.x = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(R125i.z)); -R123i.y = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(R126i.w)); -R126i.w = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.x) + intBitsToFloat(PV0i.y))); -R125i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.w))); -PS1i = R125i.y; -// 6 -backupReg0i = R126i.y; -R5i.x = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R0i.x) + intBitsToFloat(R126i.z))); -R126i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y))); -PV0i.y = R126i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(R125i.x)); -R123i.w = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -R6i.z = 0; -PS0i = R6i.z; -// 7 -backupReg0i = R125i.w; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R124i.x) + intBitsToFloat(PV0i.z))); -R0i.y = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.w))); -R126i.z = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(PV0i.y)); -R125i.w = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(backupReg1i))); -PS1i = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(PV0i.y)); -// 8 -R6i.x = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R0i.x) + intBitsToFloat(R127i.x))); -R124i.y = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R127i.z) + intBitsToFloat(R127i.w))); -R127i.z = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R127i.y) + intBitsToFloat(R126i.w))); -R4i.x = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PS1i))); -PS0i = R4i.x; -// 9 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.y),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.w))); -PS1i = R7i.x; -// 10 -backupReg0i = R127i.y; -backupReg1i = R126i.x; -backupReg2i = R126i.z; -R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[6].y)); -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[6].z)); -R126i.z = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(backupReg1i))); -R125i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[6].x)); -R0i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg2i))); -PS0i = R0i.x; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(R127i.z)); -PS1i = R127i.x; -// 12 -backupReg0i = R0i.y; -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R126i.z),0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R124i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R125i.w))); -PS0i = R124i.x; -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(R124i.y) + intBitsToFloat(backupReg0i))); -PV1i.y = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R126i.z)); -R123i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R126i.x))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R127i.z)); -// 14 -R13i.x = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R124i.x))); -R13i.y = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV1i.w))); -R13i.z = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV1i.z))); -R126i.w = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R0i.y) + intBitsToFloat(PV1i.y))); -R125i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R124i.y) + intBitsToFloat(PS1i))); -PS0i = R125i.x; -// 15 -PV1i.x = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(R126i.z)); -R123i.w = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(R5i.x) + intBitsToFloat(R4i.x))); -PV1i.w = R123i.w; -// 16 -R123i.x = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R5i.x) + intBitsToFloat(R0i.x))); -PV0i.x = R123i.x; -R124i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[6].y)); -R126i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[6].z)); -R127i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[6].x)); -R124i.x = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(R0i.y) + intBitsToFloat(PV1i.x))); -PS0i = R124i.x; -// 17 -R123i.x = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].x)); -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].z)); -R125i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].y)); -// 18 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R126i.z))); -R123i.y = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(backupReg0i))); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R124i.y))); -// 19 -backupReg0i = R124i.x; -backupReg1i = R127i.z; -R124i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R127i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(R7i.x) + intBitsToFloat(backupReg0i))); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R125i.w))); -R125i.w = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(backupReg1i))); -// 20 -R11i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R126i.z))); -R11i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R127i.w))); -R123i.z = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R7i.x) + intBitsToFloat(R126i.w))); -PV0i.z = R123i.z; -R11i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R125i.x))); -PS0i = R11i.z; -// 21 -R5i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R124i.x))); -R5i.y = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R127i.z))); -R5i.z = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R125i.w))); -// 22 -R7i.z = R10i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -R1i.w = 0; -PS0i = R1i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].x) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].z) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].y) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R10i.z = R3i.w; -R10i.z = floatBitsToInt(intBitsToFloat(R10i.z) * 2.0); -PS1i = R10i.z; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R4i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R4i.x; -// 3 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R124i.y = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.w))); -PV1i.y = R124i.y; -R126i.z = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.z))); -PV1i.z = R126i.z; -R0i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].w) + intBitsToFloat(PV0i.x))); -PV1i.w = R0i.w; -R127i.w = floatBitsToInt((intBitsToFloat(R10i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R10i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R7i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R6i.z)) + -(intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.z)); -R126i.y = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R127i.z = ((intBitsToFloat(PV1i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(PV1i.y))); -R125i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R125i.y; -// 7 -R0i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.y = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -R123i.z = ((intBitsToFloat(PV0i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R127i.z)); -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(R126i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R127i.z; -// 9 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983)); -PV1i.x = R126i.x; -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R127i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.x; -// 10 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + -(0.0)); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R0i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R2i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R127i.w = floatBitsToInt(sin((intBitsToFloat(PV1i.x))/0.1591549367)); -PS0i = R127i.w; -// 11 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -R0i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R4i.z = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R10i.y = floatBitsToInt(sin((intBitsToFloat(R126i.y))/0.1591549367)); -PS1i = R10i.y; -// 12 -backupReg0i = R126i.y; -R10i.x = floatBitsToInt(intBitsToFloat(R13i.x) * intBitsToFloat(PV1i.w)); -PV0i.x = R10i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R13i.y) * intBitsToFloat(PV1i.w)); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R13i.z) * intBitsToFloat(PV1i.w)); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R124i.x = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -PS0i = R124i.x; -// 13 -backupReg0i = R125i.y; -backupReg0i = R125i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(R125i.y)); -R125i.y = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(backupReg0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(backupReg0i)); -PS1i = floatBitsToInt(cos((intBitsToFloat(R126i.x))/0.1591549367)); -// 14 -R2i.xyz = floatBitsToInt(vec3(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(R126i.z)) + vec3(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.w))); -PV0i.x = R2i.x; -PV0i.y = R2i.y; -PV0i.z = R2i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R122i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(R1i.y) + intBitsToFloat(R127i.x))); -PS0i = R122i.x; -// 15 -backupReg0i = R0i.w; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R1i.x; -PV1i.y = R1i.x; -PV1i.z = R1i.x; -PV1i.w = R1i.x; -R125i.x = floatBitsToInt((intBitsToFloat(R9i.w) * intBitsToFloat(PS0i) + intBitsToFloat(R9i.y))); -PS1i = R125i.x; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -R127i.x = floatBitsToInt((-(intBitsToFloat(R127i.w)) * intBitsToFloat(R1i.y) + intBitsToFloat(R126i.w))); -PS0i = R127i.x; -// 17 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -R4i.y = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS1i = R4i.y; -// 18 -backupReg0i = R1i.y; -R123i.x = floatBitsToInt((-(intBitsToFloat(R10i.y)) * intBitsToFloat(R1i.y) + intBitsToFloat(R125i.y))); -PV0i.x = R123i.x; -R1i.y = floatBitsToInt((intBitsToFloat(R9i.z) * intBitsToFloat(R127i.x) + intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.w))); -R125i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R1i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -PS0i = R1i.z; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(PV0i.x) + intBitsToFloat(R8i.x))); -PS1i = R125i.y; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R127i.w; -// 21 -backupReg0i = R8i.y; -R8i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R8i.y = floatBitsToInt(intBitsToFloat(R125i.w) * intBitsToFloat(uf_remappedVS[12].w)); -PV1i.y = R8i.y; -R9i.z = floatBitsToInt(intBitsToFloat(R125i.x) + 0.5); -R9i.w = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R126i.z) + intBitsToFloat(backupReg0i))); -R7i.x = floatBitsToInt(intBitsToFloat(R125i.y) + 0.5); -PS1i = R7i.x; -// 22 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.w = tempi.x; -R8i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R127i.w)); -PS0i = R8i.z; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.y = tempi.x; -R125i.x = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(R8i.x)); -PS0i = R125i.x; -// 1 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.w = floatBitsToInt(intBitsToFloat(R8i.w) + intBitsToFloat(R8i.z)); -PS1i = R125i.w; -// 2 -backupReg0i = R125i.x; -R125i.x = ((R0i.x == 0)?(PS1i):(PS1i)); -R127i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[0].z)); -R126i.w = floatBitsToInt(intBitsToFloat(R1i.y) + 0.5); -R1i.y = floatBitsToInt(intBitsToFloat(R9i.w) + 0.5); -PS0i = R1i.y; -// 3 -backupReg0i = R0i.w; -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = R124i.x; -PV1i.y = R124i.x; -PV1i.z = R124i.x; -PV1i.w = R124i.x; -R127i.x = ((R0i.x == 0)?(PV0i.z):(R1i.w)); -PS1i = R127i.x; -// 4 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -R0i.x = ((R4i.x == 0)?(R125i.x):(0x3f800000)); -R123i.y = ((backupReg0i == 0)?(R127i.y):(R127i.y)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + 1.0); -R123i.w = ((backupReg0i == 0)?(PV1i.x):(PV1i.x)); -PV0i.w = R123i.w; -R124i.y = floatBitsToInt(-(intBitsToFloat(R6i.z))); -PS0i = R124i.y; -// 5 -backupReg0i = R2i.y; -R2i.x = 0; -R8i.y = ((R4i.x == 0)?(PV0i.y):(0x3f800000)); -R8i.z = ((R4i.x == 0)?(R127i.x):(0x3f800000)); -R0i.w = ((R4i.x == 0)?(PV0i.w):(0x3f800000)); -R2i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS1i = R2i.y; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.z = 0; -PS0i = R2i.z; -// 7 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R127i.w = floatBitsToInt(tempResultf); -PS1i = R127i.w; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.y = tempi.x; -R125i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PS1i)); -PS0i = R125i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = tempi.x; -R126i.y = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R127i.w)); -PS1i = R126i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R127i.w)); -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(PS0i),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -backupReg0i = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(PS1i)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); -R1i.w = 0; -R2i.x = ((R1i.z == 0)?(backupReg0i):(R125i.w)); -PS0i = R2i.x; -// 13 -backupReg0i = R2i.z; -backupReg1i = R2i.y; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); -R2i.z = ((R1i.z == 0)?(backupReg0i):(R124i.y)); -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -PV1i.w = R125i.w; -R2i.y = ((R1i.z == 0)?(backupReg1i):(R127i.y)); -PS1i = R2i.y; -// 14 -backupReg0i = R0i.z; -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[20].x) + intBitsToFloat(R2i.w))); -PV0i.x = R123i.x; -R7i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(uf_remappedVS[14].y))); -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[20].y) + intBitsToFloat(backupReg0i))); -PV0i.w = R123i.w; -R2i.w = ((R1i.z == 0)?(R1i.w):(R124i.x)); -PS0i = R2i.w; -// 15 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); -R123i.z = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(uf_remappedVS[20].z) + intBitsToFloat(backupReg0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(R4i.y)); -R7i.z = R126i.w; -PS1i = R7i.z; -// 16 -R123i.x = ((R4i.z == 0)?(PV1i.w):(0x3f800000)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R7i.w = R127i.z; -PS0i = R7i.w; -// 17 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -R3i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.z)); -R3i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(PV0i.y)); -R0i.z = PV0i.x; -R0i.z = clampFI32(R0i.z); -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.w = R123i.w; -// 18 -backupReg0i = R3i.z; -R3i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.w)); -// 19 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R6i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R10i.z; -R10i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R10i.z; -R10i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R6i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R3i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R10i.z)); -PS0i = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R6i.z)); -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.w; -R0i.x = ((PV0i.x == 0)?(backupReg0i):(0x3f800000)); -R0i.y = ((PV0i.x == 0)?(R8i.y):(0x3f800000)); -R0i.z = ((PV0i.x == 0)?(R8i.z):(0x3f800000)); -R0i.w = ((PV0i.x == 0)?(backupReg1i):(0x3f800000)); -R122i.x = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(R6i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -R123i.z = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(R1i.x) + intBitsToFloat(PS1i))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].y)); -// 3 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(tempResultf); -// 4 -R127i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(PS1i)); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PS1i)); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].z)); -PS0i = floatBitsToInt(intBitsToFloat(uf_remappedVS[23].z) * intBitsToFloat(R127i.z)); -// 7 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[23].y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[23].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R123i.x = clampFI32(R123i.x); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(min(intBitsToFloat(PS1i), 1.0)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[21].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].w)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[25].w)); -R1i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[19].w)); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 11 -R127i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].y) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].x) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R126i.y; -// 12 -R123i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[24].z) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.y = R123i.y; -// 13 -R1i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].x) + intBitsToFloat(R127i.w))); -R1i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].y) + intBitsToFloat(R127i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].z) + intBitsToFloat(PV0i.y))); -} -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R0i.x) *(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem3 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.w)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/14f760ff4d6b05f5_0000000000000000_vs.txt b/Source/XenobladeX/14f760ff4d6b05f5_0000000000000000_vs.txt deleted file mode 100644 index 7d6b751d..00000000 --- a/Source/XenobladeX/14f760ff4d6b05f5_0000000000000000_vs.txt +++ /dev/null @@ -1,549 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 14f760ff4d6b05f5 -//muzzle flash -uniform ivec4 uf_remappedVS[24]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem6; -layout(location = 6) in uvec4 attrDataSem7; -layout(location = 7) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 4) out vec4 passParameterSem4; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.w) + -(0.5)); -R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R7i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R7i.y))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R7i.z))); -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PV0i.w)); -PS1i = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(PS0i)); -// 2 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.y)) + intBitsToFloat(R5i.y))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(R5i.z))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R5i.x))); -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -PS0i = 0; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R7i.y))); -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.z = R126i.z; -R126i.w = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.y)); -R5i.z = 0; -PS1i = R5i.z; -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(backupReg0i)); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].y) * 1.0); -PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.z))/0.1591549367)); -// 5 -backupReg0i = R126i.z; -R7i.x = PS0i; -R125i.y = floatBitsToInt(-(intBitsToFloat(PS0i))); -R126i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].z) * 1.0); -R125i.w = R126i.w; -PS1i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 6 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R125i.x = PS1i; -PV0i.x = R125i.x; -R7i.y = PS1i; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].w) * 1.0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].x)) + intBitsToFloat(backupReg0i))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].y)) + intBitsToFloat(backupReg1i))); -PS0i = R124i.w; -// 7 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(R125i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R126i.w),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].z)) + intBitsToFloat(R126i.z))); -PS1i = R126i.y; -// 8 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R126i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].w)) + intBitsToFloat(R127i.z))); -PS0i = R127i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R125i.w),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.y = R3i.w; -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) * 2.0); -PS1i = R0i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.w),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R126i.w; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.w),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * 1.0); -PS1i = R127i.z; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].w)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].z)) + intBitsToFloat(R126i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].x)) + intBitsToFloat(R127i.w))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].y)) + intBitsToFloat(R124i.w))); -PV0i.w = R123i.w; -R127i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R127i.w; -// 13 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.x))); -R126i.z = ((0.0 >= intBitsToFloat(R0i.y))?int(0xFFFFFFFF):int(0x0)); -PS1i = R126i.z; -// 14 -R0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R126i.w)); -PV0i.x = R0i.x; -R5i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R127i.z)); -PV0i.y = R5i.y; -R0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.w)); -PV0i.z = R0i.z; -R127i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[7].w))?int(0xFFFFFFFF):int(0x0)); -R7i.z = 0; -PS0i = R7i.z; -// 15 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = 0; -PS1i = R6i.z; -// 16 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R5i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.0); -PS0i = R10i.x; -// 17 -backupReg0i = R0i.x; -backupReg1i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R5i.y),intBitsToFloat(R0i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R10i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.0); -PS1i = R10i.y; -// 18 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R5i.y),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.w = tempi.x; -R122i.x = ((R126i.z == 0)?(R10i.x):(0x3f800000)); -PS0i = R122i.x; -// 19 -R123i.x = ((R126i.z == 0)?(R10i.y):(0x3f800000)); -PV1i.x = R123i.x; -R123i.y = ((R126i.z == 0)?(PV0i.x):(0x3f800000)); -PV1i.y = R123i.y; -R123i.z = ((R126i.z == 0)?(R127i.z):(0x3f800000)); -PV1i.z = R123i.z; -R1i.w = uf_remappedVS[2].z; -R2i.x = ((R127i.w == 0)?(PS0i):(0x3f800000)); -PS1i = R2i.x; -// 20 -R9i.x = uf_remappedVS[3].z; -R2i.y = ((R127i.w == 0)?(PV1i.x):(0x3f800000)); -R2i.z = ((R127i.w == 0)?(PV1i.z):(0x3f800000)); -R2i.w = ((R127i.w == 0)?(PV1i.y):(0x3f800000)); -R1i.z = uf_remappedVS[4].z; -PS0i = R1i.z; -// 21 -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R5i.x; -PV1i.y = R5i.x; -PV1i.z = R5i.x; -PV1i.w = R5i.x; -R6i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[12].x) + -(1.0)); -PS1i = R6i.x; -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R2i.x)*(origRatio / newRatio), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.y = tempi.x; -R124i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[12].y) + -(1.0)); -PS0i = R124i.w; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R8i.w)) + intBitsToFloat(R8i.y))); -PS1i = R127i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.x))); -PS0i = R127i.w; -// 3 -backupReg0i = R127i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -PS1i = R126i.w; -// 4 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(R5i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w)))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R1i.x = floatBitsToInt(intBitsToFloat(R127i.w) + 0.5); -PS0i = R1i.x; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg2i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R5i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = tempi.x; -R1i.y = floatBitsToInt(-(intBitsToFloat(R126i.w)) + 1.0); -PS1i = R1i.y; -// 6 -backupReg0i = R0i.x; -backupReg1i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R5i.y),intBitsToFloat(R0i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(R127i.z)); -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + -(intBitsToFloat(uf_remappedVS[16].x))); -PS1i = R127i.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 9 -backupReg0i = R126i.y; -backupReg1i = R127i.z; -backupReg2i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(uf_remappedVS[16].y))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 10 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS1i))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS1i))); -R126i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[12].z) + -(1.0)); -PS0i = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[17].x)),-(intBitsToFloat(uf_remappedVS[17].y)),-(intBitsToFloat(uf_remappedVS[17].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PS0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R124i.y = floatBitsToInt(tempResultf); -PS1i = R124i.y; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); -// 13 -backupReg0i = R126i.w; -R126i.x = floatBitsToInt(max(intBitsToFloat(PS0i), 0.0)); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(uf_remappedVS[12].w)) + 1.0)); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[12].w)) + 1.0)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedVS[12].w)) + 1.0)); -PS1i = R126i.w; -// 14 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.w),intBitsToFloat(R9i.x),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),0.0))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -PS0i = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0); -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.w),intBitsToFloat(R9i.x),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -tempResultf = log2(intBitsToFloat(PS0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R5i.y = floatBitsToInt(tempResultf); -PS1i = R5i.y; -// 16 -backupReg0i = R126i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.w),intBitsToFloat(R9i.x),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R10i.z = floatBitsToInt(-(intBitsToFloat(backupReg0i))); -PS0i = R10i.z; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[19].x)) + intBitsToFloat(R125i.y))); -PS1i = R122i.x; -// 18 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedVS[19].z)) + intBitsToFloat(R126i.w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedVS[19].y)) + intBitsToFloat(R127i.z))); -PV0i.y = R123i.y; -R124i.w = floatBitsToInt(intBitsToFloat(PS1i) + -(1.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -R126i.w = floatBitsToInt(tempResultf); -PS0i = R126i.w; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[20].x),intBitsToFloat(uf_remappedVS[20].y),intBitsToFloat(uf_remappedVS[20].z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + -(1.0)); -PS1i = R125i.z; -// 20 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(uf_remappedVS[16].z))); -PV0i.y = floatBitsToInt(intBitsToFloat(R126i.x) + -(1.0)); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(uf_remappedVS[21].w))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R126i.w))); -tempResultf = log2(intBitsToFloat(PV1i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 21 -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[19].w)) + 1.0)); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedVS[22].w))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[19].w)) + 1.0)); -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(uf_remappedVS[19].w)) + 1.0)); -R0i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R0i.z; -// export -passParameterSem3 = vec4(intBitsToFloat(R10i.x), intBitsToFloat(R10i.y), intBitsToFloat(R10i.z), intBitsToFloat(R10i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z)); -// 0 -R126i.x = floatBitsToInt(max(intBitsToFloat(R1i.w), -(intBitsToFloat(R1i.w)))); -R127i.y = floatBitsToInt(min(intBitsToFloat(R0i.z), 1.0)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(R9i.x))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R0i.w))); -R126i.w = floatBitsToInt(exp2(intBitsToFloat(R1i.z))); -PS0i = R126i.w; -// 1 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R9i.x))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R0i.w))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R6i.z))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R6i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[21].x)) + intBitsToFloat(uf_remappedVS[23].x))); -PS1i = R127i.z; -// 2 -R0i.x = floatBitsToInt(max(intBitsToFloat(R125i.z), 0.0)); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[21].y)) + intBitsToFloat(uf_remappedVS[23].y))); -R0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R0i.y))); -R0i.y = floatBitsToInt(max(intBitsToFloat(R124i.w), 0.0)); -PS0i = R0i.y; -// 3 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[21].z)) + intBitsToFloat(uf_remappedVS[23].z))); -R3i.y = floatBitsToInt(max(intBitsToFloat(R124i.y), 0.0)); -R3i.z = floatBitsToInt(max(intBitsToFloat(R126i.z), 0.0)); -R3i.w = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -R126i.w = floatBitsToInt(exp2(intBitsToFloat(R5i.y))); -PS1i = R126i.w; -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedVS[16].w))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(uf_remappedVS[22].y)) + intBitsToFloat(R126i.y))); -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(uf_remappedVS[22].x)) + intBitsToFloat(R127i.z))); -PS0i = R5i.x; -// 5 -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[22].z)) + intBitsToFloat(R125i.x))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[17].w))); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R3i.w), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// 0 -} diff --git a/Source/XenobladeX/1bef7019c97eb2b1_0000000000000079_ps.txt b/Source/XenobladeX/1bef7019c97eb2b1_0000000000000079_ps.txt index 4b1454e4..3b2f3ddf 100644 --- a/Source/XenobladeX/1bef7019c97eb2b1_0000000000000079_ps.txt +++ b/Source/XenobladeX/1bef7019c97eb2b1_0000000000000079_ps.txt @@ -4,8 +4,8 @@ // shader 1bef7019c97eb2b1 //Vertlica line glare (anamorphic lens ) // To-do - As long as brigntess fix is needed, this is disabled. -const float resScale = 4.0; -//const float resScale = 3.0; +const float resScale = ($height/$gameHeight); + uniform ivec4 uf_remappedPS[2]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4f51000 res 80x46x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 6 6 6 border: 0 layout(location = 0) in vec4 passParameterSem0; diff --git a/Source/XenobladeX/1f915b133a255dab_0000000000000000_vs.txt b/Source/XenobladeX/1f915b133a255dab_0000000000000000_vs.txt deleted file mode 100644 index bc588cc8..00000000 --- a/Source/XenobladeX/1f915b133a255dab_0000000000000000_vs.txt +++ /dev/null @@ -1,219 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 1f915b133a255dab -//battle graph, dumped -uniform ivec4 uf_uniformRegisterVS[256]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -// 0 -R127i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].w) * 1.0); -R127i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].y) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].x) * 1.0); -PS0i = int(intBitsToFloat(R1i.z)); -// 1 -R126i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[15].w) * 1.0); -R125i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[15].z) * 1.0); -R125i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[15].y) * 1.0); -R125i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[15].x) * 1.0); -R124i.x = floatBitsToInt(float(PS0i)); -PS1i = R124i.x; -// 2 -tempResultf = intBitsToFloat(PS1i); -tempResultf = floor(tempResultf); -tempResultf = clamp(tempResultf, -256.0, 255.0); -ARi.x = int(tempResultf); -PV0i.x = floatBitsToInt(tempResultf); -R124i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].z) * 1.0); -R124i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].y) * 1.0); -R124i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].x) * 1.0); -R125i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].w) * 1.0); -PS0i = R125i.x; -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].z) * intBitsToFloat(uf_uniformRegisterVS[26].w) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].z) * intBitsToFloat(uf_uniformRegisterVS[26].z) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -// 4 -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].y) * intBitsToFloat(uf_uniformRegisterVS[25].w) + intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].y) * intBitsToFloat(uf_uniformRegisterVS[25].z) + intBitsToFloat(PV1i.y))); -// 5 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].z) * intBitsToFloat(uf_uniformRegisterVS[26].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].z) * intBitsToFloat(uf_uniformRegisterVS[26].x) + intBitsToFloat(backupReg1i))); -// 6 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].x) * intBitsToFloat(uf_uniformRegisterVS[24].w) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].x) * intBitsToFloat(uf_uniformRegisterVS[24].z) + intBitsToFloat(R127i.y))); -// 7 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].y) * intBitsToFloat(uf_uniformRegisterVS[25].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].y) * intBitsToFloat(uf_uniformRegisterVS[25].x) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].w)); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].z)); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].y)); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].x)); -// 9 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].x) * intBitsToFloat(uf_uniformRegisterVS[24].y) + intBitsToFloat(backupReg0i))); -R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].x) * intBitsToFloat(uf_uniformRegisterVS[24].x) + intBitsToFloat(backupReg1i))); -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].w) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].z) + intBitsToFloat(R127i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].y) + intBitsToFloat(R126i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].x) + intBitsToFloat(R126i.w))); -PV0i.w = R123i.w; -// 11 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 12 -backupReg0i = R127i.w; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].z) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].y) + intBitsToFloat(PV1i.z))); -R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[20].x) + intBitsToFloat(PV1i.w))); -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].x)); -// 14 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].z) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].y) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].x) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -// 15 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -// 16 -R1i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].x) + intBitsToFloat(PV1i.w))); -R1i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].y) + intBitsToFloat(PV1i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].z) + intBitsToFloat(PV1i.y))); -R1i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].w) + intBitsToFloat(PV1i.x))); -// 17 -backupReg0i = R125i.z; -backupReg1i = R125i.w; -R125i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[13].y) + intBitsToFloat(backupReg0i))); -R125i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[13].x) + intBitsToFloat(backupReg1i))); -// 18 -backupReg0i = R126i.x; -backupReg1i = R125i.y; -R126i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[13].w) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[13].z) + intBitsToFloat(backupReg1i))); -// 19 -backupReg0i = R124i.z; -backupReg1i = R124i.w; -R124i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].w) * intBitsToFloat(uf_uniformRegisterVS[17].y) + intBitsToFloat(backupReg0i))); -R124i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].w) * intBitsToFloat(uf_uniformRegisterVS[17].x) + intBitsToFloat(backupReg1i))); -// 20 -backupReg0i = R125i.x; -backupReg1i = R124i.y; -R125i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].w) * intBitsToFloat(uf_uniformRegisterVS[17].w) + intBitsToFloat(backupReg0i))); -R124i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].w) * intBitsToFloat(uf_uniformRegisterVS[17].z) + intBitsToFloat(backupReg1i))); -// 21 -R0i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[12].x) + intBitsToFloat(R125i.w))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[12].y) + intBitsToFloat(R125i.z))); -// 22 -R0i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[12].z) + intBitsToFloat(R125i.y))); -R0i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[12].w) + intBitsToFloat(R126i.x))); -// 23 -R2i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[16].x) + intBitsToFloat(R124i.w))); -R2i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[16].y) + intBitsToFloat(R124i.z))); -// 24 -R2i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[16].z) + intBitsToFloat(R124i.y))); -R2i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[16].w) + intBitsToFloat(R125i.x))); -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// 0 -} diff --git a/Source/XenobladeX/20075cc6cf058a84_0000000000000000_vs.txt b/Source/XenobladeX/20075cc6cf058a84_0000000000000000_vs.txt deleted file mode 100644 index 13379ef9..00000000 --- a/Source/XenobladeX/20075cc6cf058a84_0000000000000000_vs.txt +++ /dev/null @@ -1,1299 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 20075cc6cf058a84 -// skell intro smoke -uniform ivec4 uf_remappedVS[26]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 4) out vec4 passParameterSem4; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R125i.x = floatBitsToInt(max(intBitsToFloat(R5i.x), -(intBitsToFloat(R5i.x)))); -PV0i.x = R125i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(R5i.y), -(intBitsToFloat(R5i.y)))); -PV0i.z = R127i.z; -R127i.w = R5i.z; -R127i.y = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(intBitsToFloat(R8i.x) * intBitsToFloat(PV0i.x)); -R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R126i.x = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(PV0i.z)); -PS1i = R126i.x; -// 2 -PV0i.x = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(R127i.w)); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(R127i.x)); -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -R126i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R126i.z; -// 4 -backupReg0i = R127i.y; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R127i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -R126i.y = R6i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 5 -R127i.x = R6i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R8i.x)); -R125i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R8i.y)); -R126i.w = R6i.y; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R8i.z)); -PS1i = R125i.w; -// 6 -PV0i.x = R8i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R0i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R8i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R126i.z; -// 7 -backupReg0i = R126i.w; -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -R7i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R7i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R125i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R126i.y)); -R124i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(backupReg0i)); -PS1i = R124i.y; -// 8 -PV0i.x = R6i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -R127i.y = R6i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PV0i.z = R6i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R127i.x)); -R126i.y = R6i.w; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 9 -backupReg0i = R125i.y; -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R125i.w)); -R125i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(R125i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i)); -R0i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PV0i.x)); -R125i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PV0i.z)); -PS1i = R125i.x; -// 10 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R125i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R126i.y)); -R125i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.z))); -R125i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R126i.y)); -PS1i = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -// 12 -R126i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R126i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R127i.y)); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R5i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R8i.x)); -PV1i.x = R5i.x; -R5i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R8i.y)); -PV1i.y = R5i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R127i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R124i.y)); -R0i.x = 0; -PS1i = R0i.x; -// 14 -R10i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R10i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.z)); -R11i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R125i.y)); -R4i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R12i.y = 0; -PS0i = R12i.y; -// 15 -R6i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R127i.x)); -R5i.y = 0x3f800000; -R12i.z = 0; -R6i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -R8i.w = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x)); -PS1i = R8i.w; -// 16 -R12i.x = 0x3f800000; -R0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R127i.x))); -R9i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R10i.w = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(R126i.x))); -PS0i = R10i.w; -// 17 -R1i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R10i.z = 0; -PS1i = R10i.z; -// 18 -R8i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R5i.w))/0.1591549367)); -// 19 -R127i.z = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R5i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R0i.y))/0.1591549367)); -// 22 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -R5i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R5i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 23 -R6i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -R6i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -R11i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.w; -// 24 -R5i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -// 25 -R7i.x = PS0i; -R8i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R7i.y = PS0i; -PS1i = R7i.y; -// 26 -R9i.z = floatBitsToInt(sqrt(intBitsToFloat(R124i.x))); -PS0i = R9i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R7i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R5i.z,R0i.w,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R13i.x = uf_remappedVS[1].z; -PS0i = R13i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = uf_remappedVS[4].z; -PS1i = R13i.y; -// 4 -R13i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * -(intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R10i.x) * intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(R10i.x) * -(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R1i.x = PV1i.x; -PS0i = R1i.x; -// 9 -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R5i.x; -PV1i.y = R5i.x; -PV1i.z = R5i.x; -PV1i.w = R5i.x; -R1i.y = R127i.y; -PS1i = R1i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.z = tempi.x; -// 12 -R8i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R8i.x; -PV0i.y = R8i.x; -PV0i.z = R8i.x; -PV0i.w = R8i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.y = tempi.x; -// 14 -backupReg0i = R8i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R7i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R8i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = R8i.x; -PV0i.y = R8i.x; -PV0i.z = R8i.x; -PV0i.w = R8i.x; -R6i.x = uf_remappedVS[1].x; -PS0i = R6i.x; -// 1 -backupReg0i = R10i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R7i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R11i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(R12i.z)); -R6i.y = uf_remappedVS[1].y; -R6i.z = uf_remappedVS[1].z; -// 3 -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R12i.z; -backupReg1i = R7i.x; -R12i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(backupReg0i)); -R7i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(backupReg1i) + intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R7i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[1].y)); -R6i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R6i.z; -// 2 -R6i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[1].y)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[4].y)); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[4].y)); -// 5 -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 7 -R6i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R12i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w))); -R12i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R12i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R126i.x))); -PS0i = R12i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R7i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R6i.y = 0; -R6i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R12i.y = 0; -R0i.z = 0; -R12i.z = uf_remappedVS[1].x; -PS1i = R12i.z; -// 2 -R7i.z = 0; -// 3 -R10i.z = R9i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = R5i.x; -PV0i.y = R5i.x; -PV0i.z = R5i.x; -PV0i.w = R5i.x; -R13i.x = R6i.z; -PS0i = R13i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.y = tempi.x; -R13i.y = backupReg1i; -PS1i = R13i.y; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.z = tempi.x; -R13i.z = R12i.z; -PS0i = R13i.z; -// 3 -backupReg0i = R0i.z; -R8i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = R8i.x; -PV1i.y = R8i.x; -PV1i.z = R8i.x; -PV1i.w = R8i.x; -PS1i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(backupReg0i)); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R1i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R12i.z)); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R1i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R10i.x; -R10i.x = R11i.z; -R10i.z = backupReg0i; -R11i.x = R8i.z; -PS0i = R11i.x; -// 1 -R11i.y = R1i.y; -R11i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R10i.y):(R10i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R11i.z):(R11i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R10i.x):(R10i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R10i.x; -backupReg1i = R10i.y; -R10i.x = ((R127i.y == 0)?(PV1i.x):(backupReg0i)); -R10i.y = ((R127i.y == 0)?(PV1i.w):(R11i.z)); -R10i.z = ((R127i.y == 0)?(PV1i.y):(backupReg1i)); -R123i.w = ((R127i.x == 0)?(R8i.z):(R8i.z)); -PV0i.w = R123i.w; -R11i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R11i.x; -// 3 -R12i.x = ((R127i.y == 0)?(0):(R0i.x)); -R11i.y = ((R127i.y == 0)?(R127i.z):(R8i.z)); -R11i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R12i.y = ((R127i.y == 0)?(0):(R5i.y)); -PS1i = R12i.y; -// 4 -backupReg0i = R12i.z; -R12i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R5i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R5i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R7i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(R6i.z) * 1.0); -R126i.x = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R7i.y)); -PS0i = R126i.x; -// 1 -R127i.x = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.x))); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R5i.w) * 0.0 + intBitsToFloat(PV0i.w))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.z))); -PV1i.z = R127i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -R125i.z = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R5i.x)); -PS1i = R125i.z; -// 2 -R125i.x = floatBitsToInt(intBitsToFloat(R8i.w) * intBitsToFloat(PV1i.x)); -R124i.y = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.z = floatBitsToInt(intBitsToFloat(R8i.w) * intBitsToFloat(PV1i.z)); -R125i.w = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R7i.y)); -R124i.x = floatBitsToInt(intBitsToFloat(R8i.w) * intBitsToFloat(PV1i.y)); -PS0i = R124i.x; -// 3 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg1i = R127i.z; -backupReg1i = R127i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(backupReg0i)); -R125i.y = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(backupReg0i)); -R127i.z = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R127i.y)); -R126i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(backupReg1i)); -R124i.w = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(backupReg1i)); -PS1i = R124i.w; -// 4 -backupReg0i = R127i.y; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(R7i.x) + intBitsToFloat(R126i.y))); -R127i.y = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(backupReg0i)); -R0i.z = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(R8i.y) + intBitsToFloat(backupReg1i))); -R0i.w = floatBitsToInt((intBitsToFloat(R11i.w) * 0.0 + intBitsToFloat(R127i.w))); -R124i.z = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R125i.z) + intBitsToFloat(R125i.x))); -PS0i = R124i.z; -// 5 -backupReg0i = R127i.x; -backupReg1i = R127i.z; -backupReg2i = R125i.y; -R127i.x = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R125i.z) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R124i.y) + intBitsToFloat(R124i.x))); -R127i.z = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R124i.y) + intBitsToFloat(backupReg1i))); -R127i.w = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R125i.w) + intBitsToFloat(R126i.z))); -R125i.x = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R125i.z) + intBitsToFloat(backupReg2i))); -PS1i = R125i.x; -// 6 -R124i.x = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R125i.w) + intBitsToFloat(R126i.w))); -R7i.z = 0; -R126i.w = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R124i.y) + intBitsToFloat(R127i.y))); -// 7 -backupReg0i = R125i.w; -R0i.x = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R126i.x) + intBitsToFloat(R124i.z))); -R125i.w = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(backupReg0i) + intBitsToFloat(R124i.w))); -// 8 -backupReg0i = R125i.y; -R125i.y = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R0i.z) + intBitsToFloat(R127i.w))); -PV0i.y = R125i.y; -R124i.z = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R0i.w) + intBitsToFloat(backupReg0i))); -PV0i.z = R124i.z; -// 9 -backupReg0i = R127i.x; -backupReg1i = R127i.z; -R127i.x = floatBitsToInt((intBitsToFloat(R9i.w) * intBitsToFloat(R126i.x) + intBitsToFloat(backupReg0i))); -R124i.y = floatBitsToInt((intBitsToFloat(R9i.w) * intBitsToFloat(R0i.z) + intBitsToFloat(R124i.x))); -R127i.z = floatBitsToInt((intBitsToFloat(R9i.w) * intBitsToFloat(R0i.w) + intBitsToFloat(backupReg1i))); -PV1i.w = floatBitsToInt(intBitsToFloat(R11i.y) * intBitsToFloat(PV0i.y)); -PS1i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(PV0i.z)); -// 10 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R126i.x) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R0i.z) + intBitsToFloat(R125i.w))); -R123i.z = floatBitsToInt((intBitsToFloat(R11i.z) * intBitsToFloat(R124i.z) + intBitsToFloat(PV1i.w))); -PV0i.z = R123i.z; -R122i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 11 -R13i.x = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R0i.x) + intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R127i.z)); -R126i.z = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R0i.w) + intBitsToFloat(R126i.w))); -R126i.w = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(R127i.z)); -R8i.x = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.z))); -PS1i = R8i.x; -// 12 -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),0.0))); -PV0i.x = R5i.x; -PV0i.y = R5i.x; -PV0i.z = R5i.x; -PV0i.w = R5i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.y = tempi.x; -R126i.x = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R127i.x) + intBitsToFloat(R127i.y))); -PS1i = R126i.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.z = tempi.x; -// 15 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(R124i.y) + intBitsToFloat(R126i.w))); -R13i.y = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R124i.y) + intBitsToFloat(backupReg0i))); -PS1i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R126i.z)); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -// 17 -PV1i.x = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(R126i.z)); -R8i.y = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.x))); -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.z = tempi.x; -// 19 -R10i.z = R9i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(R10i.z)) + intBitsToFloat(uf_remappedVS[6].x)); -R127i.y = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(uf_remappedVS[6].w)); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[6].y) + -(intBitsToFloat(0x3dcccccd))); -R4i.w = 0x3f800000; -PV0i.w = R4i.w; -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[6].w) + -(intBitsToFloat(0x3dcccccd))); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS1i = R126i.x; -// 2 -R0i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R126i.y = ((intBitsToFloat(R127i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.z)) + -(intBitsToFloat(PV1i.x))); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[8].w)) + 1.0); -R0i.w = 0; -PS0i = R0i.w; -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[9].w) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[9].z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R127i.x)); -tempResultf = log2(intBitsToFloat(R9i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 4 -R123i.x = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.x = R123i.x; -R123i.y = ((intBitsToFloat(PV1i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(fract(intBitsToFloat(PV1i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[9].x)); -PS0i = R127i.y; -// 5 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R126i.y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(R126i.x)); -R125i.w = floatBitsToInt(intBitsToFloat(R9i.x) + -(0.5)); -PS1i = R125i.w; -// 6 -backupReg0i = R127i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e22f983)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[10].x) + -(1.0)); -R127i.w = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e22f983)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(backupReg0i))); -// 7 -R125i.x = floatBitsToInt(intBitsToFloat(PS0i) + -(0.5)); -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[10].y) + -(1.0)); -R126i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[10].z) + -(1.0)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + -(0.0)); -R127i.x = floatBitsToInt(sin((intBitsToFloat(PV0i.y))/0.1591549367)); -PS1i = R127i.x; -// 8 -R126i.x = floatBitsToInt(intBitsToFloat(R125i.w) * intBitsToFloat(PS1i)); -R123i.y = ((intBitsToFloat(PV1i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.y = R123i.y; -R1i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[10].w) + 1.0)); -R124i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].x) + -(intBitsToFloat(uf_remappedVS[11].y))); -R127i.z = floatBitsToInt(sin((intBitsToFloat(R127i.w))/0.1591549367)); -PS0i = R127i.z; -// 9 -backupReg0i = R127i.w; -R124i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PV0i.y)); -PV1i.x = R124i.x; -R124i.y = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(PV0i.y)); -PV1i.y = R124i.y; -R125i.z = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PV0i.y)); -PV1i.z = R125i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R125i.w) * intBitsToFloat(PS0i)); -R125i.y = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -PS1i = R125i.y; -// 10 -backupReg0i = R127i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R126i.w)); -R127i.y = floatBitsToInt(intBitsToFloat(R125i.w) * intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(R126i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(R126i.w)); -PS0i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 11 -backupReg0i = R125i.w; -R5i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(PV0i.z)); -PV1i.x = R5i.x; -R5i.y = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = R5i.y; -R10i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.z = R10i.z; -R125i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -R126i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x))); -PS1i = R126i.w; -// 12 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -R2i.y = floatBitsToInt((-(intBitsToFloat(R127i.z)) * intBitsToFloat(R125i.x) + intBitsToFloat(R127i.y))); -PS0i = R2i.y; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -R127i.y = floatBitsToInt((-(intBitsToFloat(R127i.x)) * intBitsToFloat(R125i.x) + intBitsToFloat(R125i.w))); -PS1i = R127i.y; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.z = tempi.x; -R9i.y = floatBitsToInt(1.0 / intBitsToFloat(R124i.w)); -PS0i = R9i.y; -// 15 -backupReg0i = R126i.y; -R1i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[10].w) + 1.0)); -R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) * intBitsToFloat(0x42800000)); -R5i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[10].w) + 1.0)); -R1i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(R125i.x) + intBitsToFloat(R127i.w))); -R6i.z = ((intBitsToFloat(uf_remappedVS[11].x) == intBitsToFloat(uf_remappedVS[11].y))?int(0xFFFFFFFF):int(0x0)); -PS1i = R6i.z; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.z = floatBitsToInt(-(intBitsToFloat(R9i.z))); -PS0i = R7i.z; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3a4ccccd)); -PS1i = R124i.y; -// 18 -R124i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3ab60b61)); -R1i.y = ((intBitsToFloat(uf_remappedVS[11].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R126i.z = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(R8i.z)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].w)); -PV0i.w = R127i.w; -R6i.x = 0; -PS0i = R6i.x; -// 19 -backupReg0i = R124i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.y = tempi.x; -R125i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(backupReg0i)); -PS1i = R125i.z; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(R124i.x)); -// 21 -R2i.x = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(R8i.y) + intBitsToFloat(R126i.z))); -R0i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R125i.z)); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[14].w) + intBitsToFloat(uf_remappedVS[14].y))); -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PS0i)); -R9i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[14].z) + intBitsToFloat(uf_remappedVS[14].x))); -PS1i = R9i.x; -// 22 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.z = tempi.x; -R10i.x = ((backupReg0i == 0)?(PV1i.y):(PV1i.y)); -PS0i = R10i.x; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R10i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R10i.y = ((R0i.x == 0)?(R2i.w):(R2i.w)); -PS0i = R10i.y; -// 1 -R124i.x = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(R8i.x) + intBitsToFloat(R2i.x))); -R127i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[17].z) + intBitsToFloat(uf_remappedVS[17].x))); -R10i.z = ((R0i.x == 0)?(R2i.z):(R0i.w)); -R10i.w = ((R0i.x == 0)?(PV0i.x):(PV0i.x)); -R124i.y = floatBitsToInt((intBitsToFloat(R1i.w) * intBitsToFloat(uf_remappedVS[17].w) + intBitsToFloat(uf_remappedVS[17].y))); -PS1i = R124i.y; -// 2 -backupReg0i = R0i.z; -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -PS0i = R127i.x; -// 3 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R5i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -PS1i = R5i.x; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R2i.y = floatBitsToInt(intBitsToFloat(R124i.y) + 0.5); -PS0i = R2i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(R124i.x)); -PS1i = floatBitsToInt(tempResultf); -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.x) * intBitsToFloat(PS1i)); -PV0i.y = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(PS1i)); -R126i.w = floatBitsToInt(intBitsToFloat(R9i.x) + 0.5); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[18].x)),-(intBitsToFloat(uf_remappedVS[18].y)),-(intBitsToFloat(uf_remappedVS[18].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(PS0i)); -// 8 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PS1i), -(intBitsToFloat(PS1i)))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); -R126i.z = floatBitsToInt(-(intBitsToFloat(R127i.x)) + 1.0); -R7i.y = floatBitsToInt(intBitsToFloat(R5i.y) + -(intBitsToFloat(uf_remappedVS[11].w))); -PS0i = R7i.y; -// 9 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(uf_remappedVS[11].y))); -R0i.z = 0; -R0i.w = 0; -R5i.y = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0); -PS1i = R5i.y; -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[19].x) + intBitsToFloat(R1i.z))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R9i.y)); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[19].z) + intBitsToFloat(R1i.x))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[19].y) + intBitsToFloat(R5i.z))); -PV0i.w = R123i.w; -R5i.z = R126i.w; -PS0i = R5i.z; -// 11 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); -R123i.z = ((R6i.z == 0)?(PV0i.y):(0x3f800000)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); -R5i.w = R126i.z; -PS1i = R5i.w; -// 12 -R0i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[19].w) + 1.0)); -PV0i.x = R0i.x; -R2i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[19].w) + 1.0)); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[19].w) + 1.0)); -PV0i.z = R2i.z; -R8i.y = PV1i.z; -R8i.y = clampFI32(R8i.y); -PS0i = R8i.y; -// 13 -backupReg0i = R3i.z; -backupReg1i = R0i.y; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(PV0i.x)); -R0i.y = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(PV0i.y)); -R3i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.z)); -R1i.x = ((R1i.y == 0)?(R6i.x):(backupReg1i)); -PS1i = R1i.x; -// 14 -backupReg0i = R1i.y; -backupReg0i = R1i.y; -backupReg0i = R1i.y; -R1i.y = ((backupReg0i == 0)?(R7i.y):(R2i.w)); -R1i.z = ((backupReg0i == 0)?(R0i.z):(R7i.z)); -R1i.w = ((backupReg0i == 0)?(R0i.w):(R126i.x)); -R3i.y = R3i.w; -R3i.y = floatBitsToInt(intBitsToFloat(R3i.y) * 2.0); -PS0i = R3i.y; -// 15 -predResult = (intBitsToFloat(uf_remappedVS[6].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.y = floatBitsToInt(-(intBitsToFloat(R9i.z)) + -(intBitsToFloat(uf_remappedVS[6].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(uf_remappedVS[6].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[6].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.y = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(uf_remappedVS[6].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(uf_remappedVS[6].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R3i.y; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R6i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R6i.y),intBitsToFloat(R9i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R9i.z)) + -(intBitsToFloat(uf_remappedVS[20].x))); -// 1 -R126i.x = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R2i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(R2i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[20].y)); -R127i.w = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R0i.x)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R127i.x = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(PS1i)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(PS1i)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R9i.z) * intBitsToFloat(PS1i)); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R4i.w = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(R3i.y)); -PS0i = R4i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 4 -R4i.x = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -R4i.y = floatBitsToInt(max(intBitsToFloat(R0i.y), 0.0)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[20].z)); -R4i.z = floatBitsToInt(max(intBitsToFloat(R3i.z), 0.0)); -PS0i = R4i.z; -// 5 -R2i.x = floatBitsToInt(max(intBitsToFloat(R127i.w), 0.0)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[22].z) * intBitsToFloat(R127i.z)); -R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -PV1i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[23].w)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -R127i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[24].w)); -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[20].w)); -R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -PS0i = R127i.z; -// 9 -backupReg0i = R126i.y; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[23].y) + intBitsToFloat(uf_remappedVS[25].y))); -R126i.y = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[23].x) + intBitsToFloat(uf_remappedVS[25].x))); -R2i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -R2i.y = floatBitsToInt(max(intBitsToFloat(backupReg1i), 0.0)); -PS1i = R2i.y; -// 10 -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[23].z) + intBitsToFloat(uf_remappedVS[25].z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(exp2(intBitsToFloat(R127i.x))); -// 11 -R0i.x = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].x) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].y) + intBitsToFloat(R126i.x))); -R0i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].z) + intBitsToFloat(PV0i.w))); -// 12 -R0i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[18].w)); -} -// export -float origRatio = 1.777f; -float newRatio = 5.333f; -// *(origRatio / newRatio) - -gl_Position = vec4(intBitsToFloat(R10i.x)*(origRatio / newRatio), intBitsToFloat(R10i.y), intBitsToFloat(R10i.z), intBitsToFloat(R10i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/21eafb6c514a4b35_0000000000000000_vs.txt b/Source/XenobladeX/21eafb6c514a4b35_0000000000000000_vs.txt deleted file mode 100644 index 10b10a40..00000000 --- a/Source/XenobladeX/21eafb6c514a4b35_0000000000000000_vs.txt +++ /dev/null @@ -1,1415 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 21eafb6c514a4b35 -//flash creature -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 4) out vec4 passParameterSem5; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 3) out vec4 passParameterSem4; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -ivec4 R16i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem9; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem11.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R12i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(max(intBitsToFloat(R5i.x), -(intBitsToFloat(R5i.x)))); -PV0i.x = R126i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(max(intBitsToFloat(R5i.y), -(intBitsToFloat(R5i.y)))); -PV0i.z = R126i.z; -R126i.w = R5i.z; -R127i.z = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV0i.z))); -PS1i = R127i.x; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R126i.w))); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.w)); -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R127i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -R125i.x = R6i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 5 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R8i.x))); -R126i.z = R6i.z; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = R6i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R8i.z))); -PS1i = R125i.w; -// 6 -PV0i.x = R8i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R8i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R124i.y; -// 7 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R11i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.x)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R125i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.w))); -PS1i = R127i.x; -// 8 -R126i.x = R6i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = R6i.z; -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = R6i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R126i.z))); -R125i.x = R6i.w; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 9 -backupReg0i = R124i.x; -backupReg1i = R126i.y; -R124i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(backupReg0i)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg1i)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV0i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.y))); -PS1i = R127i.z; -// 10 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R11i.z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R125i.x))); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R125i.x))); -PS1i = R124i.x; -// 12 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R125i.x))); -PV0i.z = R125i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(backupReg0i)); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R8i.x))); -PV1i.x = R6i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R8i.y))); -PV1i.y = R0i.y; -R15i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(PV0i.z))); -R6i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R5i.x = 0; -PS1i = R5i.x; -// 14 -R7i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R8i.yzw = floatBitsToInt(vec3(intBitsToFloat(PV1i.y),intBitsToFloat(R0i.z),intBitsToFloat(R126i.x)) + vec3(intBitsToFloat(R126i.z),intBitsToFloat(R126i.y),-(intBitsToFloat(R124i.x)))); -R13i.y = 0; -PS0i = R13i.y; -// 15 -R13i.x = 0x3f800000; -R7i.y = 0x3f800000; -R13i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R12i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R124i.x)); -PS1i = R12i.w; -// 16 -R6i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R125i.z)); -R4i.w = floatBitsToInt(-(intBitsToFloat(R127i.x)) + 1.0); -R13i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -PS0i = R13i.w; -// 17 -R0i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R14i.z = 0; -PS1i = R14i.z; -// 18 -R7i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R5i.w))/0.1591549367)); -// 19 -R127i.x = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R5i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R125i.y))/0.1591549367)); -// 22 -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 23 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); -R5i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R124i.y))/0.1591549367)); -PS1i = R127i.w; -// 24 -R14i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R124i.y))/0.1591549367)); -// 25 -R6i.x = PS0i; -R0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R6i.y = PS0i; -PS1i = R6i.y; -// 26 -R12i.z = floatBitsToInt(sqrt(intBitsToFloat(R0i.x))); -PS0i = R12i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R7i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R1i.z,R0i.w,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R13i.x = uf_remappedVS[1].z; -PS0i = R13i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = uf_remappedVS[4].z; -PS1i = R13i.y; -// 4 -R13i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), -(intBitsToFloat(PV1i.x)))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R5i.x = PV1i.x; -PS0i = R5i.x; -// 9 -R8i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R8i.x; -PV1i.y = R8i.x; -PV1i.z = R8i.x; -PV1i.w = R8i.x; -R5i.y = R127i.y; -PS1i = R5i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R8i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.z = tempi.x; -// 12 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R7i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -backupReg0i = R0i.y; -R15i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),0.0))); -PV0i.x = R15i.x; -PV0i.y = R15i.x; -PV0i.z = R15i.x; -PV0i.w = R15i.x; -R5i.x = uf_remappedVS[1].x; -PS0i = R5i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R6i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R13i.z))); -R5i.y = uf_remappedVS[1].y; -R5i.z = uf_remappedVS[1].z; -// 3 -backupReg0i = R0i.y; -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R7i.z; -R7i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R13i.z))); -R16i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R6i.x)) + intBitsToFloat(PS1i))); -PS0i = R16i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R14i.x),intBitsToFloat(R6i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[1].y))); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R5i.z; -// 2 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[1].y))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[4].y))); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[4].y))); -// 5 -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[5].y))); -// 6 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[5].y))); -// 7 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.w))); -R7i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R126i.x))); -PS0i = R7i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R7i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R5i.y = 0; -R5i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R7i.y = 0; -R0i.z = 0; -R7i.z = uf_remappedVS[1].x; -PS1i = R7i.z; -// 2 -R11i.z = 0; -// 3 -R14i.z = R12i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R8i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R15i.x),intBitsToFloat(R11i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = R8i.x; -PV0i.y = R8i.x; -PV0i.z = R8i.x; -PV0i.w = R8i.x; -R13i.x = R5i.z; -PS0i = R13i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R15i.x),intBitsToFloat(R11i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.y = tempi.x; -R13i.y = backupReg1i; -PS1i = R13i.y; -// 2 -backupReg0i = R8i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R15i.x),intBitsToFloat(R11i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.z = tempi.x; -R13i.z = R7i.z; -PS0i = R13i.z; -// 3 -backupReg0i = R0i.z; -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R16i.x),intBitsToFloat(R14i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(backupReg0i))); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R16i.x),intBitsToFloat(R14i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R7i.z))); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R16i.x),intBitsToFloat(R14i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R8i.x = R8i.z; -R8i.z = R7i.x; -R7i.x = R7i.z; -PS0i = R7i.x; -// 1 -R7i.y = R1i.y; -R7i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R8i.y):(R7i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R8i.z):(R8i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R7i.x):(R8i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R8i.y; -R8i.x = ((R127i.y == 0)?(PV1i.x):(R7i.x)); -R8i.y = ((R127i.y == 0)?(PV1i.w):(R8i.z)); -R8i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R7i.z):(R7i.z)); -PV0i.w = R123i.w; -R7i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R7i.x; -// 3 -backupReg0i = R7i.y; -R13i.x = ((R127i.y == 0)?(0):(R5i.x)); -R7i.y = ((R127i.y == 0)?(R127i.z):(R7i.z)); -R7i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R13i.y = ((R127i.y == 0)?(0):(backupReg0i)); -PS1i = R13i.y; -// 4 -backupReg0i = R13i.z; -R13i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R14i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R14i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R6i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R6i.y))); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R1i.z) * 1.0); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R6i.x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R0i.y)) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R14i.x))); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R6i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.z))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.x))); -PS0i = R126i.x; -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R6i.x)) + intBitsToFloat(R127i.x))); -R125i.y = floatBitsToInt((intBitsToFloat(R5i.w) * 0.0 + intBitsToFloat(R127i.y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R0i.y)) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.z), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.z), intBitsToFloat(R126i.w))); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.z), intBitsToFloat(R125i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R125i.x))); -PS0i = R124i.z; -// 5 -backupReg0i = R127i.z; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(PV0i.y))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R11i.z = 0; -PS1i = R11i.z; -// 6 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(R125i.w))); -// 7 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(R126i.z))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R127i.w))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -PV1i.z = R126i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(R125i.x))); -// 8 -backupReg0i = R127i.z; -backupReg1i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(R124i.z))); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(R127i.x))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R125i.y; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R126i.w))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R126i.z))); -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(PS0i))); -PS1i = R127i.x; -// 10 -backupReg0i = R126i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R127i.w))); -PS0i = R124i.y; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R127i.y),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[6].x))); -PS1i = R127i.w; -// 12 -backupReg0i = R126i.z; -backupReg1i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(R126i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(uf_remappedVS[6].z))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].y))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg1i))); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(R127i.z))); -PS0i = R0i.x; -// 13 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R124i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R127i.w))); -PS1i = R124i.x; -// 14 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(R124i.y))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(backupReg1i))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R126i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R127i.z))); -// 15 -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R124i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(R0i.x))); -PS1i = R122i.x; -// 16 -backupReg0i = R127i.y; -backupReg1i = R126i.w; -backupReg1i = R126i.w; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(uf_remappedVS[6].y))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedVS[6].x))); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedVS[6].z))); -PS0i = R124i.x; -// 17 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg1i = R124i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R124i.z))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].z))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].y))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.z),intBitsToFloat(backupReg1i)) + intBitsToFloat(R126i.y))); -PS1i = R122i.x; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R124i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PS1i))); -PS0i = R124i.y; -// 19 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R124i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R126i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R127i.z))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R124i.w))); -PS1i = R127i.x; -// 20 -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV1i.z))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV1i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R124i.z))); -PV0i.w = R123i.w; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV1i.x))); -PS0i = R6i.x; -// 21 -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(R127i.x))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(R126i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.w))); -PS1i = R6i.z; -// 22 -R14i.z = R12i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -R0i.x = 0; -PS0i = R0i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R7i.z = R3i.w; -R7i.z = floatBitsToInt(intBitsToFloat(R7i.z) * 2.0); -PS1i = R7i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].w)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R5i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R5i.x; -// 3 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R126i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.z))); -PV1i.y = R126i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.w))); -PV1i.z = R126i.z; -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].w)) + intBitsToFloat(PV0i.y))); -PV1i.w = R0i.w; -R127i.w = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R14i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R14i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -R127i.x = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(PV1i.x))); -R126i.w = ((intBitsToFloat(PV1i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R125i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R125i.w; -// 7 -R123i.x = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.x = R123i.x; -R12i.y = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -R123i.w = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R126i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R127i.x))); -R123i.w = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R126i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R126i.w; -// 9 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -PV1i.x = R127i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.y; -// 10 -R2i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + -(0.0)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R126i.w = floatBitsToInt(sin((intBitsToFloat(PV1i.x))/0.1591549367)); -PS0i = R126i.w; -// 11 -R123i.x = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.x = R123i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R2i.w = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R125i.z = floatBitsToInt(cos((intBitsToFloat(R127i.x))/0.1591549367)); -PS1i = R125i.z; -// 12 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV1i.x))); -PV0i.x = R124i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV1i.x))); -PV0i.y = R124i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PV1i.x))); -PV0i.z = R124i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R127i.y = floatBitsToInt(sin((intBitsToFloat(R127i.z))/0.1591549367)); -PS0i = R127i.y; -// 13 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R125i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R125i.w))); -R127i.x = floatBitsToInt(cos((intBitsToFloat(R127i.z))/0.1591549367)); -PS1i = R127i.x; -// 14 -R12i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV1i.z)); -PV0i.x = R12i.x; -R2i.y = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = R2i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.w))); -PS0i = R126i.z; -// 15 -backupReg0i = R0i.w; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R1i.x; -PV1i.y = R1i.x; -PV1i.z = R1i.x; -PV1i.w = R1i.x; -R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R125i.y))); -PS0i = R126i.x; -// 17 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.z = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(R125i.x))); -PS1i = R122i.x; -// 18 -backupReg0i = R126i.x; -backupReg1i = R9i.y; -backupReg2i = R126i.z; -R126i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(PS1i)) + intBitsToFloat(R10i.y))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(backupReg2i)) + intBitsToFloat(R9i.x))); -R0i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -PS0i = R0i.z; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(R10i.x))); -PS1i = R9i.w; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R124i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R124i.x; -// 21 -R10i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R0i.y = floatBitsToInt(intBitsToFloat(R126i.z) + 0.5); -R9i.z = floatBitsToInt(-(intBitsToFloat(R11i.z))); -R10i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedVS[12].w))); -PV1i.w = R10i.w; -R7i.x = floatBitsToInt(intBitsToFloat(R127i.w) + 0.5); -PS1i = R7i.x; -// 22 -backupReg0i = R0i.w; -R9i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = R9i.x; -PV0i.y = R9i.x; -PV0i.z = R9i.x; -PV0i.w = R9i.x; -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R124i.x))); -PS0i = R10i.z; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(R10i.x))); -PS0i = R124i.y; -// 1 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R10i.z)); -PS1i = R126i.x; -// 2 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedVS[0].z))); -R1i.y = floatBitsToInt(intBitsToFloat(R9i.y) + 0.5); -R126i.z = ((R12i.y == 0)?(PS1i):(PS1i)); -R127i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R124i.y)); -R8i.x = floatBitsToInt(intBitsToFloat(R9i.w) + 0.5); -PS0i = R8i.x; -// 3 -backupReg0i = R0i.w; -backupReg1i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R124i.y = ((R12i.y == 0)?(PV0i.x):(backupReg1i)); -PS1i = R124i.y; -// 4 -R123i.x = ((R12i.y == 0)?(PV1i.x):(PV1i.x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R6i.z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(uf_remappedVS[2].z))); -R123i.w = ((R12i.y == 0)?(R127i.w):(R127i.w)); -PV0i.w = R123i.w; -R9i.x = ((R5i.x == 0)?(R126i.z):(0x3f800000)); -PS0i = R9i.x; -// 5 -R123i.x = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R9i.y = ((R5i.x == 0)?(PV0i.w):(0x3f800000)); -R2i.z = ((R5i.x == 0)?(R124i.y):(0x3f800000)); -R0i.w = ((R5i.x == 0)?(PV0i.x):(0x3f800000)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.y),intBitsToFloat(uf_remappedVS[2].y)) + intBitsToFloat(PV0i.z))); -PS1i = R122i.x; -// 6 -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.x),intBitsToFloat(uf_remappedVS[2].x)) + intBitsToFloat(PS1i))); -R124i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(uf_remappedVS[3].z))); -R0i.x = 0; -PS0i = R0i.x; -// 7 -backupReg0i = R2i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = tempi.x; -R2i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS1i = R2i.y; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R8i.z = 0; -PS0i = R8i.z; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(R124i.y)); -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R3i.w = 0; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS0i))); -// 12 -backupReg0i = R0i.z; -backupReg1i = R0i.x; -PV0i.x = floatBitsToInt(max(intBitsToFloat(PS1i), -(intBitsToFloat(PS1i)))); -R6i.y = ((R0i.z == 0)?(R2i.y):(R127i.w)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); -R6i.x = ((backupReg0i == 0)?(backupReg1i):(R126i.x)); -PS0i = R6i.x; -// 13 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -R6i.z = ((R0i.z == 0)?(R8i.z):(R9i.z)); -R127i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R6i.w = ((R0i.z == 0)?(R3i.w):(R127i.y)); -PS1i = R6i.w; -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[20].y)) + intBitsToFloat(R1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[20].x)) + intBitsToFloat(R1i.z))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[20].z)) + intBitsToFloat(R5i.z))); -PV0i.w = R123i.w; -R7i.y = floatBitsToInt(-(intBitsToFloat(R0i.y)) + 1.0); -PS0i = R7i.y; -// 15 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + -(1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); -R8i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + 1.0); -PS1i = R8i.y; -// 16 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV0i.x = R0i.x; -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV0i.y = R0i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV0i.z = R0i.z; -R8i.w = 0x3f800000; -R8i.z = floatBitsToInt(intBitsToFloat(R11i.x) * intBitsToFloat(0x3c800000)); -PS0i = R8i.z; -// 17 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV0i.x))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV0i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV0i.z))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 18 -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -// 19 -R123i.w = ((R2i.w == 0)?(PV0i.z):(0x3f800000)); -PV1i.w = R123i.w; -// 20 -R3i.z = PV1i.w; -R3i.z = clampFI32(R3i.z); -// 21 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R7i.z; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R7i.z; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R0i.y))); -PV0i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R0i.z))); -PS0i = R127i.w; -// 1 -R4i.x = ((PV0i.w == 0)?(R9i.x):(0x3f800000)); -R4i.y = ((PV0i.w == 0)?(R9i.y):(0x3f800000)); -R4i.z = ((PV0i.w == 0)?(R2i.z):(0x3f800000)); -R4i.w = ((PV0i.w == 0)?(R0i.w):(0x3f800000)); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[21].y))); -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R5i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R5i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PS1i), 0.0)); -PS0i = R127i.z; -// 3 -R0i.x = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -R0i.y = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R7i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.z = floatBitsToInt(max(intBitsToFloat(R1i.z), 0.0)); -PS1i = R0i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedVS[21].z))); -R2i.y = floatBitsToInt(max(intBitsToFloat(R126i.z), 0.0)); -R2i.z = floatBitsToInt(max(intBitsToFloat(R127i.w), 0.0)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R2i.x = floatBitsToInt(max(intBitsToFloat(R126i.y), 0.0)); -PS0i = R2i.x; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].z), intBitsToFloat(R127i.z))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),1.0,0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedVS[24].w))); -PV1i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), 1.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedVS[21].w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedVS[25].w))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 11 -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].y)) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].x)) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R126i.w; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedVS[24].z)) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.x = R123i.x; -// 13 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].x)) + intBitsToFloat(R127i.z))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].y)) + intBitsToFloat(R125i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].z)) + intBitsToFloat(PV0i.x))); -// 14 -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_remappedVS[19].w))); -} -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) - -gl_Position = vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem5 = vec4(intBitsToFloat(R8i.x), intBitsToFloat(R8i.y), intBitsToFloat(R8i.z), intBitsToFloat(R8i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.z)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/2716141e287247da_0000000000000000_vs.txt b/Source/XenobladeX/2716141e287247da_0000000000000000_vs.txt deleted file mode 100644 index 7fdff24c..00000000 --- a/Source/XenobladeX/2716141e287247da_0000000000000000_vs.txt +++ /dev/null @@ -1,1311 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 2716141e287247da -//transport heat waves, desert -uniform ivec4 uf_remappedVS[21]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem1; -layout(location = 3) out vec4 passParameterSem2; -layout(location = 4) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem4; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem6.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem3.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem7; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem9.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(max(intBitsToFloat(R4i.x), -(intBitsToFloat(R4i.x)))); -PV0i.x = R126i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(max(intBitsToFloat(R4i.y), -(intBitsToFloat(R4i.y)))); -PV0i.z = R126i.z; -R126i.w = R4i.z; -R127i.z = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -R127i.w = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(PV0i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(PV0i.z)); -PS1i = R127i.x; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R126i.w)); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.w)); -R4i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R127i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R124i.w) + intBitsToFloat(R126i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R126i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -R125i.x = R5i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 5 -R124i.x = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R7i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R7i.x)); -R126i.z = R5i.z; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = R5i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(R7i.z)); -PS1i = R125i.w; -// 6 -PV0i.x = R7i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R7i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R124i.y; -// 7 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R11i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R125i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R127i.w)); -PS1i = R127i.x; -// 8 -R126i.x = R5i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = R5i.z; -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = R5i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R126i.z)); -R125i.x = R5i.w; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 9 -backupReg0i = R124i.x; -backupReg1i = R126i.y; -R124i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(backupReg0i)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(backupReg1i)); -R0i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PV0i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PV0i.y)); -PS1i = R127i.z; -// 10 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R11i.z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R125i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(backupReg0i)); -R126i.y = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R125i.x)); -R124i.x = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R125i.x)); -PS1i = R124i.x; -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R125i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.x)); -R1i.z = 0; -PS0i = R1i.z; -// 13 -R5i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R7i.x)); -PV1i.x = R5i.x; -R0i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R7i.y)); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -R7i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R4i.x = 0; -PS1i = R4i.x; -// 14 -R13i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(R1i.z)) + vec3(intBitsToFloat(R125i.w),intBitsToFloat(R126i.z),intBitsToFloat(R126i.y))); -R10i.w = floatBitsToInt(intBitsToFloat(R126i.x) + -(intBitsToFloat(R124i.x))); -R12i.y = 0; -PS0i = R12i.y; -// 15 -R12i.x = 0x3f800000; -R7i.y = 0x3f800000; -R12i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R12i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R124i.x)); -PS1i = R12i.w; -// 16 -R1i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R125i.z)); -R5i.w = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R125i.z))); -R13i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -PS0i = R13i.w; -// 17 -R4i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R7i.z = 0; -PS1i = R7i.z; -// 18 -R14i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R4i.w))/0.1591549367)); -// 19 -R126i.x = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R4i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R125i.y))/0.1591549367)); -// 22 -R5i.y = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS1i)); -R5i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 23 -R4i.y = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS0i)); -R6i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -R4i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R124i.y))/0.1591549367)); -PS1i = R127i.w; -// 24 -R6i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R124i.y))/0.1591549367)); -// 25 -R5i.x = PS0i; -R0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R6i.y = PS0i; -PS1i = R6i.y; -// 26 -R10i.z = floatBitsToInt(sqrt(intBitsToFloat(R0i.x))); -PS0i = R10i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R6i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R5i.z,R0i.w,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R12i.x = uf_remappedVS[1].z; -PS0i = R12i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.y = uf_remappedVS[4].z; -PS1i = R12i.y; -// 4 -R12i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * -(intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R13i.x) * intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(R13i.x) * -(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R4i.x = PV1i.x; -PS0i = R4i.x; -// 9 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -R4i.y = R127i.y; -PS1i = R4i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -// 12 -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R6i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -backupReg0i = R0i.y; -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -R4i.x = uf_remappedVS[1].x; -PS0i = R4i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R14i.z) * intBitsToFloat(R12i.z)); -R4i.y = uf_remappedVS[1].y; -R4i.z = uf_remappedVS[1].z; -// 3 -backupReg0i = R0i.y; -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R5i.x; -R5i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(intBitsToFloat(R14i.z) * intBitsToFloat(R12i.z)); -R14i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(backupReg0i) + intBitsToFloat(PS1i))); -PS0i = R14i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[1].y)); -R4i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R4i.z; -// 2 -R4i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[1].y)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[4].y)); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[4].y)); -// 5 -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 7 -R4i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R5i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w))); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R5i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R126i.x))); -PS0i = R5i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R6i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R4i.y = 0; -R4i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R5i.y = 0; -R0i.z = 0; -R5i.z = uf_remappedVS[1].x; -PS1i = R5i.z; -// 2 -R11i.z = 0; -// 3 -R7i.z = R10i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -R12i.x = R4i.z; -PS0i = R12i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -R12i.y = backupReg1i; -PS1i = R12i.y; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -R12i.z = R5i.z; -PS0i = R12i.z; -// 3 -backupReg0i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R10i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = R13i.x; -PV1i.y = R13i.x; -PV1i.z = R13i.x; -PV1i.w = R13i.x; -PS1i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(backupReg0i)); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R5i.z)); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R13i.x; -R13i.x = R13i.z; -R13i.z = backupReg0i; -R7i.x = R14i.z; -PS0i = R7i.x; -// 1 -R7i.y = R1i.y; -R7i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R13i.y):(R13i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R13i.z):(R13i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R13i.x):(R13i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = ((R127i.y == 0)?(PV1i.x):(backupReg0i)); -R13i.y = ((R127i.y == 0)?(PV1i.w):(R13i.z)); -R13i.z = ((R127i.y == 0)?(PV1i.y):(backupReg1i)); -R123i.w = ((R127i.x == 0)?(R14i.z):(R14i.z)); -PV0i.w = R123i.w; -R7i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R7i.x; -// 3 -backupReg0i = R7i.y; -R12i.x = ((R127i.y == 0)?(0):(R4i.x)); -R7i.y = ((R127i.y == 0)?(R127i.z):(R14i.z)); -R7i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R12i.y = ((R127i.y == 0)?(0):(backupReg0i)); -PS1i = R12i.y; -// 4 -backupReg0i = R12i.z; -R12i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R6i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(R6i.z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R6i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R6i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R6i.y)); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -R125i.z = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R6i.x)); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R6i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.z)); -R126i.x = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.x)); -PS0i = R126i.x; -// 3 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R5i.x) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(R4i.w) * 0.0 + intBitsToFloat(R127i.y))); -R124i.z = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R0i.y) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(intBitsToFloat(R5i.w) * intBitsToFloat(R125i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R5i.w) * intBitsToFloat(R126i.w)); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -R126i.x = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.w) * intBitsToFloat(R125i.x)); -R126i.z = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R11i.z = 0; -PS0i = R11i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R126i.w)); -R127i.y = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R125i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(backupReg0i)); -R126i.w = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R124i.x) + intBitsToFloat(PV0i.y))); -PS1i = R125i.z; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i))); -// 7 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R127i.w))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R125i.z; -backupReg1i = R127i.y; -R124i.x = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(PV1i.y)); -R125i.z = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R126i.z)); -// 9 -backupReg0i = R124i.z; -backupReg1i = R125i.y; -R0i.x = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R126i.w))); -R124i.z = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.x))); -R0i.w = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(backupReg1i) + intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R124i.y),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R124i.y) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.w = tempi.x; -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].x)); -PS1i = R126i.w; -// 12 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(R126i.z) + intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[6].z)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].y)); -R125i.w = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].x)); -R126i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].y)); -PS0i = R126i.y; -// 13 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R125i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R126i.w))); -PS1i = R125i.x; -// 14 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(R124i.y) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(R124i.x)); -R123i.z = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R127i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R125i.z)); -// 15 -R6i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R125i.x))); -R6i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.w))); -R6i.z = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 16 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w))); -PV0i.x = R124i.x; -R125i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(R125i.z) + intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R125i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].z)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[6].x)); -PS0i = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[6].y)); -// 17 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV0i.w))); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].z)); -R125i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R126i.y))); -R126i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PS0i))); -PS1i = R126i.x; -// 18 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R125i.z))); -PS0i = R127i.y; -// 19 -backupReg0i = R0i.x; -backupReg1i = R127i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(backupReg1i))); -PS1i = R127i.w; -// 20 -R12i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R127i.x))); -R12i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R125i.w))); -R12i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R127i.y))); -R13i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R124i.y))); -PS0i = R13i.x; -// 21 -R13i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R126i.x))); -R13i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R127i.w))); -// 22 -R7i.z = R10i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -R1i.w = 0; -PS0i = R1i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].x) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].w) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].z) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R5i.z = R3i.w; -R5i.z = floatBitsToInt(intBitsToFloat(R5i.z) * 2.0); -PS1i = R5i.z; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].w) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R0i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R0i.x; -// 3 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R124i.y = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.x))); -PV1i.y = R124i.y; -R125i.z = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.w))); -PV1i.z = R125i.z; -R0i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].w) + intBitsToFloat(PV0i.z))); -PV1i.w = R0i.w; -R127i.w = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(PV1i.y))); -R126i.y = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.w)); -R126i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R125i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R125i.y; -// 7 -R2i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(R126i.y)); -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R126i.w)); -R123i.w = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R127i.z; -// 9 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983)); -PV1i.x = R127i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.x)); -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R126i.x; -// 10 -R4i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R0i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + -(0.0)); -R125i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R126i.w = floatBitsToInt(sin((intBitsToFloat(PV1i.x))/0.1591549367)); -PS0i = R126i.w; -// 11 -R5i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R127i.y = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -R4i.z = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R127i.z = floatBitsToInt(cos((intBitsToFloat(R127i.x))/0.1591549367)); -PS1i = R127i.z; -// 12 -R126i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PV1i.w)); -PV0i.x = R126i.x; -R11i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(PV1i.w)); -PV0i.y = R11i.y; -R124i.z = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PV1i.w)); -PV0i.z = R124i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R126i.y = floatBitsToInt(sin((intBitsToFloat(R126i.z))/0.1591549367)); -PS0i = R126i.y; -// 13 -backupReg0i = R125i.y; -backupReg0i = R125i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R125i.y)); -R125i.y = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(backupReg0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(backupReg0i)); -R127i.x = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.x; -// 14 -R11i.x = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(PV1i.x)); -PV0i.x = R11i.x; -R2i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(PV1i.z)); -PV0i.y = R2i.y; -R0i.z = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = R0i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R125i.z = floatBitsToInt((-(intBitsToFloat(R126i.w)) * intBitsToFloat(R1i.y) + intBitsToFloat(R127i.w))); -PS0i = R125i.z; -// 15 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.y = tempi.x; -R126i.z = floatBitsToInt((-(intBitsToFloat(R126i.y)) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.w))); -PS1i = R126i.z; -// 16 -backupReg0i = R127i.y; -backupReg1i = R125i.w; -R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R127i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(R1i.y) + intBitsToFloat(backupReg0i))); -R1i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R125i.w = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(R125i.z) + intBitsToFloat(R8i.x))); -R6i.x = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -PS0i = R6i.x; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R11i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.x = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(R125i.y))); -PS1i = R1i.x; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R11i.y),intBitsToFloat(R124i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R126i.x; -// 19 -backupReg0i = R125i.x; -backupReg1i = R125i.w; -R125i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R11i.y = floatBitsToInt((intBitsToFloat(R9i.z) * intBitsToFloat(R126i.z) + intBitsToFloat(R9i.x))); -R2i.z = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R127i.y) + intBitsToFloat(R8i.y))); -R125i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[12].w)); -PV1i.w = R125i.w; -R7i.x = floatBitsToInt(intBitsToFloat(backupReg1i) + 0.5); -PS1i = R7i.x; -// 20 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -backupReg2i = R126i.x; -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R126i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(backupReg2i)); -PS0i = R126i.z; -// 21 -backupReg0i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.w = tempi.x; -R8i.y = floatBitsToInt(intBitsToFloat(R125i.w) * intBitsToFloat(R125i.x)); -PS1i = R8i.y; -// 22 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R2i.y),intBitsToFloat(R0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.z = tempi.x; -R8i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R126i.z)); -PS0i = R8i.x; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(uf_remappedVS[0].z)); -R5i.y = floatBitsToInt(intBitsToFloat(R2i.z) + 0.5); -R126i.z = ((R2i.x == 0)?(R8i.x):(R8i.x)); -R125i.w = floatBitsToInt(intBitsToFloat(R8i.w) + intBitsToFloat(R8i.y)); -R9i.x = floatBitsToInt(intBitsToFloat(R11i.y) + 0.5); -PS0i = R9i.x; -// 1 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = tempi.x; -R126i.x = ((R2i.x == 0)?(PV0i.x):(R1i.w)); -PS1i = R126i.x; -// 2 -backupReg0i = R2i.x; -backupReg0i = R2i.x; -R2i.x = ((R0i.x == 0)?(R126i.z):(0x3f800000)); -R123i.y = ((backupReg0i == 0)?(R125i.w):(R125i.w)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R13i.z) * intBitsToFloat(R13i.z)); -R123i.w = ((backupReg0i == 0)?(PV1i.x):(PV1i.x)); -PV0i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(R9i.w) * intBitsToFloat(R1i.x) + intBitsToFloat(R9i.y))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(R13i.y) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -R8i.y = ((R0i.x == 0)?(PV0i.y):(0x3f800000)); -R0i.z = ((R0i.x == 0)?(R126i.x):(0x3f800000)); -R0i.w = ((R0i.x == 0)?(PV0i.w):(0x3f800000)); -R6i.y = floatBitsToInt(intBitsToFloat(PS0i) + 0.5); -PS1i = R6i.y; -// 4 -R124i.x = floatBitsToInt(-(intBitsToFloat(R4i.y))); -R127i.y = floatBitsToInt((intBitsToFloat(R13i.x) * intBitsToFloat(R13i.x) + intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(uf_remappedVS[2].z)); -PV0i.w = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(uf_remappedVS[3].z)); -R0i.x = 0; -PS0i = R0i.x; -// 5 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),1.0,0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R122i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(uf_remappedVS[3].y) + intBitsToFloat(PV0i.w))); -PS1i = R122i.x; -// 6 -backupReg0i = R127i.y; -R1i.x = ((R1i.z == 0)?(R0i.x):(R8i.x)); -R127i.y = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(uf_remappedVS[3].x) + intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(uf_remappedVS[10].z)); -tempResultf = 1.0 / sqrt(intBitsToFloat(backupReg0i)); -R125i.x = floatBitsToInt(tempResultf); -PS0i = R125i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(R13i.x) * intBitsToFloat(PS0i)); -PS1i = R127i.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(intBitsToFloat(R13i.y) * intBitsToFloat(R125i.x)); -PS0i = R127i.y; -// 9 -R1i.y = floatBitsToInt(intBitsToFloat(R2i.y) + -(intBitsToFloat(uf_remappedVS[14].w))); -PV1i.z = floatBitsToInt(intBitsToFloat(R13i.z) * intBitsToFloat(R125i.x)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(PS1i)); -// 11 -backupReg0i = R1i.y; -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), -(intBitsToFloat(PS0i)))); -R1i.y = ((R1i.z == 0)?(backupReg0i):(R125i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -R1i.w = 0; -PV1i.w = R1i.w; -R2i.z = 0; -PS1i = R2i.z; -// 12 -backupReg0i = R1i.z; -backupReg0i = R1i.z; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(uf_remappedVS[14].y))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R1i.z = ((backupReg0i == 0)?(PS1i):(R124i.x)); -R1i.w = ((backupReg0i == 0)?(PV1i.w):(R125i.y)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0); -PS0i = R7i.y; -// 13 -backupReg0i = R0i.y; -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[20].x) + intBitsToFloat(R4i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R6i.x)); -R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[20].z) + intBitsToFloat(R5i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[20].y) + intBitsToFloat(backupReg0i))); -PV1i.w = R123i.w; -R9i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + 1.0); -PS1i = R9i.y; -// 14 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); -R123i.z = ((R4i.z == 0)?(PV1i.y):(0x3f800000)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R7i.z = uf_remappedVS[12].x; -PS0i = R7i.z; -// 15 -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.w = R123i.w; -R0i.y = PV0i.z; -R0i.y = clampFI32(R0i.y); -PS1i = R0i.y; -// 16 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.z)); -R3i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(PV1i.y)); -R3i.z = floatBitsToInt(intBitsToFloat(backupReg2i) * intBitsToFloat(PV1i.w)); -R7i.w = uf_remappedVS[12].y; -R9i.z = floatBitsToInt(intBitsToFloat(R10i.x) * intBitsToFloat(0x3c800000)); -PS0i = R9i.z; -// 17 -R9i.w = 0x3f800000; -// 18 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R4i.y)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R3i.w = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R5i.z)); -// 1 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -R0i.x = ((PV0i.x == 0)?(R2i.x):(0x3f800000)); -R0i.y = ((PV0i.x == 0)?(R8i.y):(0x3f800000)); -R0i.z = ((PV0i.x == 0)?(backupReg0i):(0x3f800000)); -R0i.w = ((PV0i.x == 0)?(backupReg1i):(0x3f800000)); -} -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R1i.x) *(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/330acac562ddee2b_0000000000000000_vs.txt b/Source/XenobladeX/330acac562ddee2b_0000000000000000_vs.txt deleted file mode 100644 index ad3d3ab9..00000000 --- a/Source/XenobladeX/330acac562ddee2b_0000000000000000_vs.txt +++ /dev/null @@ -1,1407 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 330acac562ddee2b // waterfall splash closeup -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 4) out vec4 passParameterSem4; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem9; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R125i.x = floatBitsToInt(max(intBitsToFloat(R5i.x), -(intBitsToFloat(R5i.x)))); -PV0i.x = R125i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(R5i.y), -(intBitsToFloat(R5i.y)))); -PV0i.z = R127i.z; -R127i.w = R5i.z; -R127i.y = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(intBitsToFloat(R8i.x) * intBitsToFloat(PV0i.x)); -R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R126i.x = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(PV0i.z)); -PS1i = R126i.x; -// 2 -PV0i.x = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(R127i.w)); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(R127i.x)); -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -R126i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R126i.z; -// 4 -backupReg0i = R127i.y; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R127i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -R126i.y = R6i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 5 -R127i.x = R6i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R8i.x)); -R125i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R8i.y)); -R126i.w = R6i.y; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R8i.z)); -PS1i = R125i.w; -// 6 -PV0i.x = R8i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R0i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R8i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R126i.z; -// 7 -backupReg0i = R126i.w; -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -R7i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R11i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R125i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R126i.y)); -R124i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(backupReg0i)); -PS1i = R124i.y; -// 8 -PV0i.x = R6i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -R127i.y = R6i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PV0i.z = R6i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R127i.x)); -R126i.y = R6i.w; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 9 -backupReg0i = R125i.y; -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R125i.w)); -R125i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(R125i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i)); -R0i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PV0i.x)); -R125i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PV0i.z)); -PS1i = R125i.x; -// 10 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R125i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R126i.y)); -R125i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.z))); -R125i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R126i.y)); -PS1i = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -// 12 -R126i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R126i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R127i.y)); -R6i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R8i.x)); -PV1i.x = R0i.x; -R5i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R8i.y)); -PV1i.y = R5i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R127i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R124i.y)); -R13i.x = 0; -PS1i = R13i.x; -// 14 -R0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R7i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.z)); -R14i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R125i.y)); -R8i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R8i.y = 0; -PS0i = R8i.y; -// 15 -R5i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R127i.x)); -R5i.y = 0x3f800000; -R8i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -R12i.w = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x)); -PS1i = R12i.w; -// 16 -R8i.x = 0x3f800000; -R0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R127i.x))); -R4i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R13i.w = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(R126i.x))); -PS0i = R13i.w; -// 17 -R1i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R7i.z = 0; -PS1i = R7i.z; -// 18 -R12i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R5i.w))/0.1591549367)); -// 19 -R127i.z = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R5i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R0i.y))/0.1591549367)); -// 22 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -R5i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 23 -R14i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -R6i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -R5i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.w; -// 24 -R6i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -// 25 -R14i.x = PS0i; -R13i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R6i.y = PS0i; -PS1i = R6i.y; -// 26 -R13i.z = floatBitsToInt(sqrt(intBitsToFloat(R124i.x))); -PS0i = R13i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R7i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R5i.z,R0i.w,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R8i.x = uf_remappedVS[1].z; -PS0i = R8i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.y = uf_remappedVS[4].z; -PS1i = R8i.y; -// 4 -R8i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.y = R127i.y; -// 6 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * -(intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * -(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R5i.x = PV1i.x; -PS0i = R5i.x; -// 9 -R14i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R14i.x; -PV1i.y = R14i.x; -PV1i.z = R14i.x; -PV1i.w = R14i.x; -R5i.y = R127i.y; -PS1i = R5i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R14i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R14i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.z = tempi.x; -// 12 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R7i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R13i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -R5i.x = uf_remappedVS[1].x; -PS0i = R5i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R7i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R14i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R8i.z)); -R5i.y = uf_remappedVS[1].y; -R5i.z = uf_remappedVS[1].z; -// 3 -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R12i.z; -R12i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R8i.z)); -R7i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(R14i.x) + intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[1].y)); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R5i.z; -// 2 -R5i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[1].y)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[4].y)); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[4].y)); -// 5 -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 7 -R5i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R12i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w))); -R12i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R12i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R126i.x))); -PS0i = R12i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R7i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R5i.y = 0; -R5i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R12i.y = 0; -R0i.z = 0; -R12i.z = uf_remappedVS[1].x; -PS1i = R12i.z; -// 2 -R11i.z = 0; -// 3 -R7i.z = R13i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R14i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = R14i.x; -PV0i.y = R14i.x; -PV0i.z = R14i.x; -PV0i.w = R14i.x; -R8i.x = R5i.z; -PS0i = R8i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.y = tempi.x; -R8i.y = backupReg1i; -PS1i = R8i.y; -// 2 -backupReg0i = R14i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R14i.z = tempi.x; -R8i.z = R12i.z; -PS0i = R8i.z; -// 3 -backupReg0i = R0i.z; -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -PS1i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(backupReg0i)); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R12i.z)); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R7i.x = R14i.z; -R7i.z = R0i.x; -R12i.x = R12i.z; -PS0i = R12i.x; -// 1 -R12i.y = R1i.y; -R12i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R7i.y):(R0i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R14i.z):(R14i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R0i.x):(R7i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R7i.y; -R7i.x = ((R127i.y == 0)?(PV1i.x):(R0i.x)); -R7i.y = ((R127i.y == 0)?(PV1i.w):(R14i.z)); -R7i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R12i.z):(R12i.z)); -PV0i.w = R123i.w; -R12i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R12i.x; -// 3 -R8i.x = ((R127i.y == 0)?(0):(R13i.x)); -R12i.y = ((R127i.y == 0)?(R127i.z):(R12i.z)); -R12i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R8i.y = ((R127i.y == 0)?(0):(R5i.y)); -PS1i = R8i.y; -// 4 -backupReg0i = R8i.z; -R8i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R6i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(R6i.z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R14i.y) * intBitsToFloat(R6i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(R14i.y) * intBitsToFloat(R6i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R6i.y)); -PS0i = R127i.z; -// 1 -R126i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -R125i.z = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R14i.x) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R6i.x)); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R6i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.z)); -R125i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.x)); -PS0i = R125i.x; -// 3 -R0i.x = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R14i.x) + intBitsToFloat(R127i.x))); -R125i.y = floatBitsToInt((intBitsToFloat(R5i.w) * 0.0 + intBitsToFloat(R127i.y))); -R124i.z = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R13i.y) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R125i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R126i.w)); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R12i.w) * intBitsToFloat(R125i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(backupReg0i)); -R126i.z = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt(intBitsToFloat(R12i.w) * intBitsToFloat(backupReg0i)); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt(intBitsToFloat(R12i.w) * intBitsToFloat(R126i.w)); -R127i.y = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R124i.x) + intBitsToFloat(PV0i.y))); -R126i.w = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R11i.z = 0; -PS1i = R11i.z; -// 6 -R127i.x = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R124i.w) + intBitsToFloat(R125i.w))); -// 7 -backupReg0i = R126i.y; -backupReg1i = R124i.x; -R124i.x = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R0i.x) + intBitsToFloat(R126i.z))); -R126i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R127i.w))); -R126i.z = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(R127i.y))); -PV1i.z = R126i.z; -R127i.w = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.x))); -R125i.x = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(backupReg1i) + intBitsToFloat(R125i.z))); -PS1i = R125i.x; -// 8 -backupReg0i = R127i.z; -R5i.x = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R0i.x) + intBitsToFloat(R127i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(PV1i.z)); -R127i.z = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(R124i.w) + intBitsToFloat(R126i.x))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(PV1i.z)); -// 9 -backupReg0i = R125i.y; -R6i.x = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R126i.w))); -R125i.z = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.x))); -R125i.x = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PS1i = R125i.x; -// 10 -backupReg0i = R126i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R127i.w))); -PS0i = R124i.y; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R127i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].x)); -PS1i = R127i.w; -// 12 -backupReg0i = R126i.z; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R126i.y) + intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[6].z)); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].y)); -R124i.w = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg1i))); -R0i.x = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(R127i.z)); -PS0i = R0i.x; -// 13 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R127i.w))); -PS1i = R127i.x; -// 14 -backupReg0i = R125i.x; -backupReg1i = R127i.y; -R125i.x = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(R124i.y)); -R123i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(backupReg1i))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R126i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R127i.z)); -// 15 -R14i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R127i.x))); -R14i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.w))); -R14i.z = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(R0i.x))); -PS1i = R122i.x; -// 16 -backupReg0i = R124i.w; -backupReg0i = R124i.w; -R127i.x = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(R5i.x) + intBitsToFloat(PS1i))); -R125i.y = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R5i.x) + intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[6].y)); -R124i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].x)); -R126i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].z)); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.x; -backupReg0i = R125i.x; -backupReg0i = R125i.x; -backupReg1i = R125i.z; -R125i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R125i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].z)); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].y)); -R122i.x = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(backupReg1i) + intBitsToFloat(R127i.y))); -PS1i = R122i.x; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(PS1i))); -PS0i = R124i.y; -// 19 -R123i.x = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R125i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R126i.x))); -R123i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R124i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R127i.z))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R126i.w))); -PS1i = R127i.x; -// 20 -R8i.x = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV1i.z))); -R8i.y = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV1i.w))); -R123i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R125i.z))); -PV0i.w = R123i.w; -R6i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV1i.x))); -PS0i = R6i.x; -// 21 -R6i.y = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R127i.x))); -R8i.z = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R127i.y))); -R6i.z = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.w))); -PS1i = R6i.z; -// 22 -R7i.z = R13i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -R0i.x = 0; -PS0i = R0i.x; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].y) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].z) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R5i.z = R3i.w; -R5i.z = floatBitsToInt(intBitsToFloat(R5i.z) * 2.0); -PS1i = R5i.z; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R5i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R5i.x; -// 3 -R126i.x = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV0i.w))); -PV1i.x = R126i.x; -R125i.y = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.y))); -PV1i.y = R125i.y; -R126i.z = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.z))); -PV1i.z = R126i.z; -R0i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].w) + intBitsToFloat(PV0i.x))); -PV1i.w = R0i.w; -R127i.x = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.x; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R7i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(PV1i.w))); -R127i.z = ((intBitsToFloat(PV1i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R127i.w = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R126i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R126i.y; -// 7 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(R127i.x))); -R2i.y = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.z = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.z = R123i.z; -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(R127i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(R127i.w)); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R127i.w; -// 9 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -PV1i.w = R126i.w; -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.y; -// 10 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + -(0.0)); -R124i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R0i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R1i.w = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R124i.x = floatBitsToInt(sin((intBitsToFloat(PV1i.w))/0.1591549367)); -PS0i = R124i.x; -// 11 -R125i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -R5i.y = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R1i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R127i.y = floatBitsToInt(sin((intBitsToFloat(R127i.x))/0.1591549367)); -PS1i = R127i.y; -// 12 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R14i.x) * intBitsToFloat(PV1i.w)); -PV0i.x = R127i.x; -R11i.y = floatBitsToInt(intBitsToFloat(R14i.y) * intBitsToFloat(PV1i.w)); -PV0i.y = R11i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R14i.z) * intBitsToFloat(PV1i.w)); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R127i.w = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -PS0i = R127i.w; -// 13 -backupReg0i = R126i.y; -backupReg0i = R126i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(R126i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(backupReg0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(backupReg0i)); -PS1i = floatBitsToInt(cos((intBitsToFloat(R126i.w))/0.1591549367)); -// 14 -R11i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV1i.w)); -PV0i.x = R11i.x; -R0i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(PV1i.z)); -PV0i.y = R0i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = R2i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R122i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(R1i.y) + intBitsToFloat(R125i.x))); -PS0i = R122i.x; -// 15 -backupReg0i = R0i.w; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R2i.x; -PV1i.y = R2i.x; -PV1i.z = R2i.x; -PV1i.w = R2i.x; -R126i.x = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(PS0i) + intBitsToFloat(R10i.y))); -PS1i = R126i.x; -// 16 -backupReg0i = R0i.w; -backupReg1i = R126i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R0i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.y = tempi.x; -R126i.w = floatBitsToInt((-(intBitsToFloat(R124i.x)) * intBitsToFloat(R1i.y) + intBitsToFloat(backupReg1i))); -PS0i = R126i.w; -// 17 -backupReg0i = R0i.y; -backupReg1i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R2i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.z = tempi.x; -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(R124i.y)); -PS1i = R2i.w; -// 18 -backupReg0i = R126i.y; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R126i.y = floatBitsToInt((intBitsToFloat(R10i.z) * intBitsToFloat(R126i.w) + intBitsToFloat(R10i.x))); -R126i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(R1i.y) + intBitsToFloat(R125i.w))); -R123i.w = floatBitsToInt((-(intBitsToFloat(R127i.y)) * intBitsToFloat(R1i.y) + intBitsToFloat(backupReg0i))); -PV0i.w = R123i.w; -R1i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + 0.5); -PS0i = R1i.y; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R11i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R9i.z) * intBitsToFloat(PV0i.w) + intBitsToFloat(R9i.x))); -PS1i = R127i.y; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R11i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R127i.x; -// 21 -backupReg0i = R9i.y; -R9i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R9i.y = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[12].w)); -PV1i.y = R9i.y; -R9i.z = floatBitsToInt(intBitsToFloat(R126i.y) + 0.5); -R10i.w = floatBitsToInt((intBitsToFloat(R9i.w) * intBitsToFloat(R126i.z) + intBitsToFloat(backupReg0i))); -R7i.x = floatBitsToInt(intBitsToFloat(R127i.y) + 0.5); -PS1i = R7i.x; -// 22 -backupReg0i = R0i.y; -backupReg1i = R0i.w; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R2i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -R9i.w = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R127i.x)); -PS0i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R0i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R126i.z = floatBitsToInt(intBitsToFloat(R9i.y) * intBitsToFloat(R9i.x)); -PS0i = R126i.z; -// 1 -backupReg0i = R0i.y; -backupReg1i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R2i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(R9i.w)); -PS1i = R126i.x; -// 2 -backupReg0i = R1i.y; -R127i.x = ((R2i.y == 0)?(PS1i):(PS1i)); -R1i.y = floatBitsToInt(intBitsToFloat(R10i.w) + 0.5); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[0].z)); -R126i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R126i.z)); -R125i.x = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PS0i = R125i.x; -// 3 -backupReg0i = R0i.y; -backupReg1i = R0i.w; -backupReg2i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R2i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R127i.y = ((R2i.y == 0)?(PV0i.z):(backupReg2i)); -PS1i = R127i.y; -// 4 -R123i.x = ((R2i.y == 0)?(PV1i.x):(PV1i.x)); -PV0i.x = R123i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R11i.z))); -R125i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((R2i.y == 0)?(R126i.w):(R126i.w)); -PV0i.w = R123i.w; -R0i.x = ((R5i.x == 0)?(R127i.x):(0x3f800000)); -PS0i = R0i.x; -// 5 -backupReg0i = R0i.y; -R1i.x = 0; -R2i.y = ((R5i.x == 0)?(PV0i.w):(0x3f800000)); -R2i.z = ((R5i.x == 0)?(R127i.y):(0x3f800000)); -R0i.w = ((R5i.x == 0)?(PV0i.x):(0x3f800000)); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS1i = R0i.y; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R7i.z = 0; -PS0i = R7i.z; -// 7 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -R3i.w = 0; -PS1i = R3i.w; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R126i.z = floatBitsToInt(tempResultf); -PS0i = R126i.z; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R124i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PS0i)); -PS1i = R124i.x; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R126i.z)); -PS0i = R127i.y; -// 11 -R6i.x = ((R125i.z == 0)?(R1i.x):(R126i.x)); -R6i.y = ((R125i.z == 0)?(R0i.y):(R126i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R126i.z)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -// 13 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), -(intBitsToFloat(PS0i)))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + 1.0); -R6i.z = ((R125i.z == 0)?(R7i.z):(R126i.y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -R6i.w = ((R125i.z == 0)?(R3i.w):(R124i.z)); -PS1i = R6i.w; -// 14 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R7i.w = R125i.x; -R7i.z = R9i.z; -PS0i = R7i.z; -// 15 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[20].y) + intBitsToFloat(R1i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[20].x) + intBitsToFloat(R0i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(R2i.w)); -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[20].z) + intBitsToFloat(R1i.z))); -PV1i.w = R123i.w; -// 16 -R123i.x = ((R5i.y == 0)?(PV1i.z):(0x3f800000)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -// 17 -R1i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.x = R1i.x; -R0i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.z = R0i.z; -R1i.z = PV0i.x; -R1i.z = clampFI32(R1i.z); -PS1i = R1i.z; -// 18 -backupReg0i = R3i.x; -backupReg1i = R3i.z; -R3i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.x)); -R1i.y = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(PV1i.y)); -R3i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(PV1i.z)); -// 19 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R126i.y = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R1i.x)); -R126i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R0i.y)); -PV0i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(R0i.z)); -PS0i = R127i.w; -// 1 -R4i.x = ((PV0i.w == 0)?(R0i.x):(0x3f800000)); -R4i.y = ((PV0i.w == 0)?(R2i.y):(0x3f800000)); -R4i.z = ((PV0i.w == 0)?(R2i.z):(0x3f800000)); -R4i.w = ((PV0i.w == 0)?(R0i.w):(0x3f800000)); -PS1i = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[21].y)); -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PS1i), 0.0)); -PS0i = R127i.z; -// 3 -R0i.x = floatBitsToInt(max(intBitsToFloat(R3i.x), 0.0)); -R0i.y = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -R0i.w = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R5i.z)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(PS1i)); -PV0i.x = R127i.x; -R125i.y = floatBitsToInt(intBitsToFloat(R10i.y) * intBitsToFloat(PS1i)); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(PS1i)); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.z = floatBitsToInt(max(intBitsToFloat(R3i.z), 0.0)); -PS1i = R0i.z; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].z)); -R2i.y = floatBitsToInt(max(intBitsToFloat(R126i.z), 0.0)); -R2i.z = floatBitsToInt(max(intBitsToFloat(R127i.w), 0.0)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R2i.x = floatBitsToInt(max(intBitsToFloat(R126i.y), 0.0)); -PS0i = R2i.x; -// 7 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[23].z) * intBitsToFloat(R127i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),1.0,0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].w)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), 1.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[21].w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[25].w)); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 11 -R125i.y = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].y) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].x) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R126i.w; -// 12 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[24].z) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.x = R123i.x; -// 13 -R1i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[25].x) + intBitsToFloat(R127i.z))); -R1i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[25].y) + intBitsToFloat(R125i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[25].z) + intBitsToFloat(PV0i.x))); -// 14 -R1i.w = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[19].w)); -} -// export -float origRatio = 1.777f; -float newRatio = ; - -gl_Position = vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R6i.x)*(origRatio / newRatio), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/3fae14064195391b_0000000000000000_vs.txt b/Source/XenobladeX/3fae14064195391b_0000000000000000_vs.txt deleted file mode 100644 index 996e7cb8..00000000 --- a/Source/XenobladeX/3fae14064195391b_0000000000000000_vs.txt +++ /dev/null @@ -1,1313 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 3fae14064195391b -//ockserve engine late game -uniform ivec4 uf_remappedVS[21]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem1; -layout(location = 3) out vec4 passParameterSem2; -layout(location = 4) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem4; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem6.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem3.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem7; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem9.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(max(intBitsToFloat(R4i.x), -(intBitsToFloat(R4i.x)))); -PV0i.x = R126i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(max(intBitsToFloat(R4i.y), -(intBitsToFloat(R4i.y)))); -PV0i.z = R126i.z; -R126i.w = R4i.z; -R127i.z = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.z))); -PS1i = R127i.x; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R126i.w))); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.w)); -R4i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R127i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -R125i.x = R5i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 5 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R7i.y))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R7i.x))); -R126i.z = R5i.z; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = R5i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R7i.z))); -PS1i = R125i.w; -// 6 -PV0i.x = R7i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R7i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R124i.y; -// 7 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R11i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.x)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R125i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PS1i = R127i.x; -// 8 -R126i.x = R5i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = R5i.z; -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = R5i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.z))); -R125i.x = R5i.w; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 9 -backupReg0i = R124i.x; -backupReg1i = R126i.y; -R124i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(backupReg0i)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(backupReg1i)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -PS1i = R127i.z; -// 10 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R11i.z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R4i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R4i.z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R124i.w)) + intBitsToFloat(R4i.y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R125i.x))); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R125i.x))); -PS1i = R124i.x; -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R125i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.x)); -R1i.z = 0; -PS0i = R1i.z; -// 13 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x))); -PV1i.x = R5i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R7i.y))); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -R7i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R4i.x = 0; -PS1i = R4i.x; -// 14 -R13i.xyz = floatBitsToInt(vec3(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(R1i.z)) + vec3(intBitsToFloat(R125i.w),intBitsToFloat(R126i.z),intBitsToFloat(R126i.y))); -R10i.w = floatBitsToInt(intBitsToFloat(R126i.x) + -(intBitsToFloat(R124i.x))); -R12i.y = 0; -PS0i = R12i.y; -// 15 -R12i.x = 0x3f800000; -R7i.y = 0x3f800000; -R12i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R12i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R124i.x)); -PS1i = R12i.w; -// 16 -R1i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R125i.z)); -R5i.w = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R125i.z))); -R13i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -PS0i = R13i.w; -// 17 -R4i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R7i.z = 0; -PS1i = R7i.z; -// 18 -R14i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R4i.w))/0.1591549367)); -// 19 -R126i.x = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R4i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R125i.y))/0.1591549367)); -// 22 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 23 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); -R4i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R124i.y))/0.1591549367)); -PS1i = R127i.w; -// 24 -R6i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R124i.y))/0.1591549367)); -// 25 -R5i.x = PS0i; -R0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R6i.y = PS0i; -PS1i = R6i.y; -// 26 -R10i.z = floatBitsToInt(sqrt(intBitsToFloat(R0i.x))); -PS0i = R10i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R6i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R5i.z,R0i.w,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R12i.x = uf_remappedVS[1].z; -PS0i = R12i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.y = uf_remappedVS[4].z; -PS1i = R12i.y; -// 4 -R12i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.x), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.x), -(intBitsToFloat(PV1i.x)))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R13i.y)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R13i.y)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R4i.x = PV1i.x; -PS0i = R4i.x; -// 9 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -R4i.y = R127i.y; -PS1i = R4i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -// 12 -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R6i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -backupReg0i = R0i.y; -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -R4i.x = uf_remappedVS[1].x; -PS0i = R4i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.z), intBitsToFloat(R12i.z))); -R4i.y = uf_remappedVS[1].y; -R4i.z = uf_remappedVS[1].z; -// 3 -backupReg0i = R0i.y; -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R5i.x; -R5i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.z), intBitsToFloat(R12i.z))); -R14i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PS1i))); -PS0i = R14i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[1].y))); -R4i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R4i.z; -// 2 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[1].y))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[4].y))); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[4].y))); -// 5 -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[5].y))); -// 6 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[5].y))); -// 7 -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.w))); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R126i.x))); -PS0i = R5i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R6i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R4i.y = 0; -R4i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R5i.y = 0; -R0i.z = 0; -R5i.z = uf_remappedVS[1].x; -PS1i = R5i.z; -// 2 -R11i.z = 0; -// 3 -R7i.z = R10i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -R12i.x = R4i.z; -PS0i = R12i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -R12i.y = backupReg1i; -PS1i = R12i.y; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -R12i.z = R5i.z; -PS0i = R12i.z; -// 3 -backupReg0i = R0i.z; -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R10i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = R13i.x; -PV1i.y = R13i.x; -PV1i.z = R13i.x; -PV1i.w = R13i.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(backupReg0i))); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.z))); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -backupReg0i = R13i.x; -R13i.x = R13i.z; -R13i.z = backupReg0i; -R7i.x = R14i.z; -PS0i = R7i.x; -// 1 -R7i.y = R1i.y; -R7i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R13i.y):(R13i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R13i.z):(R13i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R13i.x):(R13i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R13i.x; -backupReg1i = R13i.y; -R13i.x = ((R127i.y == 0)?(PV1i.x):(backupReg0i)); -R13i.y = ((R127i.y == 0)?(PV1i.w):(R13i.z)); -R13i.z = ((R127i.y == 0)?(PV1i.y):(backupReg1i)); -R123i.w = ((R127i.x == 0)?(R14i.z):(R14i.z)); -PV0i.w = R123i.w; -R7i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R7i.x; -// 3 -backupReg0i = R7i.y; -R12i.x = ((R127i.y == 0)?(0):(R4i.x)); -R7i.y = ((R127i.y == 0)?(R127i.z):(R14i.z)); -R7i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R12i.y = ((R127i.y == 0)?(0):(backupReg0i)); -PS1i = R12i.y; -// 4 -backupReg0i = R12i.z; -R12i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R6i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R6i.z) * 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R6i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R6i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R6i.y))); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R0i.y)) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R6i.x))); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R6i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.z))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.x))); -PS0i = R126i.x; -// 3 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(R4i.w) * 0.0 + intBitsToFloat(R127i.y))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R0i.y)) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(R126i.w))); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(R125i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = 0; -PS0i = R11i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(PV0i.y))); -PS1i = R125i.z; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -// 7 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R124i.z)) + intBitsToFloat(R127i.w))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R125i.z; -backupReg1i = R127i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV1i.y))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R126i.z))); -// 9 -backupReg0i = R124i.z; -backupReg1i = R125i.y; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R124i.z)) + intBitsToFloat(R126i.w))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.x))); -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R124i.y),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.x),intBitsToFloat(R124i.y)) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.w = tempi.x; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[6].x))); -PS1i = R126i.w; -// 12 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_remappedVS[6].z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].y))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedVS[6].x))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedVS[6].y))); -PS0i = R126i.y; -// 13 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R126i.w))); -PS1i = R125i.x; -// 14 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R124i.y)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R124i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R127i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R125i.z))); -// 15 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R125i.x))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.w))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 16 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w))); -PV0i.x = R124i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedVS[6].z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_remappedVS[6].x))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_remappedVS[6].y))); -// 17 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(PV0i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].z))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R126i.y))); -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(PS0i))); -PS1i = R126i.x; -// 18 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R125i.z))); -PS0i = R127i.y; -// 19 -backupReg0i = R0i.x; -backupReg1i = R127i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(backupReg1i))); -PS1i = R127i.w; -// 20 -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R127i.x))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(R125i.w))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(R127i.y))); -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R124i.y))); -PS0i = R13i.x; -// 21 -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(R126i.x))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(R127i.w))); -// 22 -R7i.z = R10i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -R1i.w = 0; -PS0i = R1i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R5i.z = R3i.w; -R5i.z = floatBitsToInt(intBitsToFloat(R5i.z) * 2.0); -PS1i = R5i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].w)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R0i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R0i.x; -// 3 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.x))); -PV1i.y = R124i.y; -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.w))); -PV1i.z = R125i.z; -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R0i.w; -R127i.w = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R7i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(PV1i.y))); -R126i.y = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.w)); -R126i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R125i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R125i.y; -// 7 -R2i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.w))); -R123i.w = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R127i.z; -// 9 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983)); -PV1i.x = R127i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.x)); -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R126i.x; -// 10 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + -(0.0)); -R125i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R126i.w = floatBitsToInt(sin((intBitsToFloat(PV1i.x))/0.1591549367)); -PS0i = R126i.w; -// 11 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -R4i.z = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R127i.z = floatBitsToInt(cos((intBitsToFloat(R127i.x))/0.1591549367)); -PS1i = R127i.z; -// 12 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.w))); -PV0i.x = R126i.x; -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV1i.w))); -PV0i.y = R11i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.w))); -PV0i.z = R124i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R126i.y = floatBitsToInt(sin((intBitsToFloat(R126i.z))/0.1591549367)); -PS0i = R126i.y; -// 13 -backupReg0i = R125i.y; -backupReg0i = R125i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R125i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(backupReg0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(backupReg0i))); -R127i.x = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.x; -// 14 -R11i.x = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(PV1i.x)); -PV0i.x = R11i.x; -R2i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(PV1i.z)); -PV0i.y = R2i.y; -R0i.z = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = R0i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.w))); -PS0i = R125i.z; -// 15 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.y = tempi.x; -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.y)),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.w))); -PS1i = R126i.z; -// 16 -backupReg0i = R127i.y; -backupReg1i = R125i.w; -R125i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(backupReg0i))); -R1i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(R8i.x))); -R6i.x = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -PS0i = R6i.x; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R11i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(R125i.y))); -PS1i = R1i.x; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R11i.y),intBitsToFloat(R124i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R126i.x; -// 19 -backupReg0i = R125i.x; -backupReg1i = R125i.w; -R125i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(R9i.x))); -R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R127i.y)) + intBitsToFloat(R8i.y))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[12].w))); -PV1i.w = R125i.w; -R7i.x = floatBitsToInt(intBitsToFloat(backupReg1i) + 0.5); -PS1i = R7i.x; -// 20 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -backupReg2i = R126i.x; -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(backupReg2i))); -PS0i = R126i.z; -// 21 -backupReg0i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.w = tempi.x; -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R125i.x))); -PS1i = R8i.y; -// 22 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R2i.y),intBitsToFloat(R0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.z = tempi.x; -R8i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R126i.z)); -PS0i = R8i.x; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(uf_remappedVS[0].z))); -R5i.y = floatBitsToInt(intBitsToFloat(R2i.z) + 0.5); -R126i.z = ((R2i.x == 0)?(R8i.x):(R8i.x)); -R125i.w = floatBitsToInt(intBitsToFloat(R8i.w) + intBitsToFloat(R8i.y)); -R9i.x = floatBitsToInt(intBitsToFloat(R11i.y) + 0.5); -PS0i = R9i.x; -// 1 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = tempi.x; -R126i.x = ((R2i.x == 0)?(PV0i.x):(R1i.w)); -PS1i = R126i.x; -// 2 -backupReg0i = R2i.x; -backupReg0i = R2i.x; -R2i.x = ((R0i.x == 0)?(R126i.z):(0x3f800000)); -R123i.y = ((backupReg0i == 0)?(R125i.w):(R125i.w)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R13i.z) * intBitsToFloat(R13i.z)); -R123i.w = ((backupReg0i == 0)?(PV1i.x):(PV1i.x)); -PV0i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),intBitsToFloat(R1i.x)) + intBitsToFloat(R9i.y))); -PS0i = R122i.x; -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(R13i.y) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -R8i.y = ((R0i.x == 0)?(PV0i.y):(0x3f800000)); -R0i.z = ((R0i.x == 0)?(R126i.x):(0x3f800000)); -R0i.w = ((R0i.x == 0)?(PV0i.w):(0x3f800000)); -R6i.y = floatBitsToInt(intBitsToFloat(PS0i) + 0.5); -PS1i = R6i.y; -// 4 -R124i.x = floatBitsToInt(-(intBitsToFloat(R4i.y))); -R127i.y = floatBitsToInt((intBitsToFloat(R13i.x) * intBitsToFloat(R13i.x) + intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(uf_remappedVS[2].z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(uf_remappedVS[3].z))); -R0i.x = 0; -PS0i = R0i.x; -// 5 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),1.0,0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.y),intBitsToFloat(uf_remappedVS[3].y)) + intBitsToFloat(PV0i.w))); -PS1i = R122i.x; -// 6 -backupReg0i = R127i.y; -R1i.x = ((R1i.z == 0)?(R0i.x):(R8i.x)); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.x),intBitsToFloat(uf_remappedVS[3].x)) + intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(uf_remappedVS[10].z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(backupReg0i)); -R125i.x = floatBitsToInt(tempResultf); -PS0i = R125i.x; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = tempi.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.x), intBitsToFloat(PS0i))); -PS1i = R127i.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(R125i.x))); -PS0i = R127i.y; -// 9 -R1i.y = floatBitsToInt(intBitsToFloat(R2i.y) + -(intBitsToFloat(uf_remappedVS[14].w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(R125i.x))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS1i))); -// 11 -backupReg0i = R1i.y; -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), -(intBitsToFloat(PS0i)))); -R1i.y = ((R1i.z == 0)?(backupReg0i):(R125i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -R1i.w = 0; -PV1i.w = R1i.w; -R2i.z = 0; -PS1i = R2i.z; -// 12 -backupReg0i = R1i.z; -backupReg0i = R1i.z; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(uf_remappedVS[14].y))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R1i.z = ((backupReg0i == 0)?(PS1i):(R124i.x)); -R1i.w = ((backupReg0i == 0)?(PV1i.w):(R125i.y)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0); -PS0i = R7i.y; -// 13 -backupReg0i = R0i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[20].x)) + intBitsToFloat(R4i.x))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R6i.x)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[20].z)) + intBitsToFloat(R5i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[20].y)) + intBitsToFloat(backupReg0i))); -PV1i.w = R123i.w; -R9i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + 1.0); -PS1i = R9i.y; -// 14 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); -R123i.z = ((R4i.z == 0)?(PV1i.y):(0x3f800000)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R7i.z = uf_remappedVS[12].x; -PS0i = R7i.z; -// 15 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.w = R123i.w; -R0i.y = PV0i.z; -R0i.y = clampFI32(R0i.y); -PS1i = R0i.y; -// 16 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -backupReg2i = R3i.z; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.z))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.y))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PV1i.w))); -R7i.w = uf_remappedVS[12].y; -R9i.z = floatBitsToInt(intBitsToFloat(R10i.x) * intBitsToFloat(0x3c800000)); -PS0i = R9i.z; -// 17 -R9i.w = 0x3f800000; -// 18 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R4i.y)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R5i.z))); -// 1 -backupReg0i = R0i.z; -backupReg1i = R0i.w; -R0i.x = ((PV0i.x == 0)?(R2i.x):(0x3f800000)); -R0i.y = ((PV0i.x == 0)?(R8i.y):(0x3f800000)); -R0i.z = ((PV0i.x == 0)?(backupReg0i):(0x3f800000)); -R0i.w = ((PV0i.x == 0)?(backupReg1i):(0x3f800000)); -} -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) - -// export -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/430ac3a85ece61af_0000000000000079_ps.txt b/Source/XenobladeX/430ac3a85ece61af_0000000000000079_ps.txt index c47af4d2..041a586e 100644 --- a/Source/XenobladeX/430ac3a85ece61af_0000000000000079_ps.txt +++ b/Source/XenobladeX/430ac3a85ece61af_0000000000000079_ps.txt @@ -1,14 +1,7 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader 430ac3a85ece61af // bloom sampling scale -const float resScale = ; +const float resScale = ($height/$gameHeight); highp float lineRand(vec2 co) //to reduce banding { highp float a = 12.9898; @@ -19,7 +12,7 @@ highp float lineRand(vec2 co) //to reduce banding return fract(sin(sn) * c); } -//const float resScale = 4.0; +//const float resScale = ($height/$gameHeight); // = 4.0; uniform ivec4 uf_remappedPS[2]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e12000 res 256x144x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 6 6 6 border: 0 layout(location = 0) in vec4 passParameterSem0; diff --git a/Source/XenobladeX/4c66e611ad14aabe_0000000000000000_vs.txt b/Source/XenobladeX/4c66e611ad14aabe_0000000000000000_vs.txt deleted file mode 100644 index 2166a0da..00000000 --- a/Source/XenobladeX/4c66e611ad14aabe_0000000000000000_vs.txt +++ /dev/null @@ -1,533 +0,0 @@ - - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 4c66e611ad14aabe -//intro dive splash -uniform ivec4 uf_remappedVS[24]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem5; -layout(location = 5) in uvec4 attrDataSem6; -layout(location = 6) in uvec4 attrDataSem7; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem6.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem3.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem7; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -// 0 -R123i.x = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(R2i.w) + -(0.5)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R6i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R6i.y))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R6i.z))); -// 1 -R123i.x = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(fract(intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(PV0i.w)); -PS1i = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(PS0i)); -// 2 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(R4i.y))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(R4i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(R4i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -PS0i = 0; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R6i.x))); -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.y = R126i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.y))); -R125i.w = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.z)); -R4i.z = 0; -PS1i = R4i.z; -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.y)); -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].y) * 1.0); -PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.y))/0.1591549367)); -// 5 -backupReg0i = R126i.y; -R6i.x = PS0i; -R126i.y = floatBitsToInt(-(intBitsToFloat(PS0i))); -R126i.z = R125i.w; -R126i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].z) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 6 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -R124i.x = PS1i; -PV0i.x = R124i.x; -R6i.y = PS1i; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].w) * 1.0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].x)) + intBitsToFloat(backupReg0i))); -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].y)) + intBitsToFloat(backupReg1i))); -PS0i = R125i.x; -// 7 -backupReg0i = R126i.w; -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(R126i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.w),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].z)) + intBitsToFloat(backupReg0i))); -PS1i = R126i.w; -// 8 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R125i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].w)) + intBitsToFloat(backupReg1i))); -PS0i = R127i.z; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.w = R3i.w; -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) * 2.0); -PS1i = R4i.w; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R125i.w; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * 1.0); -PS1i = R127i.y; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].y)) + intBitsToFloat(R125i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].x)) + intBitsToFloat(R127i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].w)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].z)) + intBitsToFloat(R126i.w))); -PV0i.w = R123i.w; -R127i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R127i.w; -// 13 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.z))); -R125i.x = ((0.0 >= intBitsToFloat(R4i.w))?int(0xFFFFFFFF):int(0x0)); -PS1i = R125i.x; -// 14 -R4i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.w)); -PV0i.x = R4i.x; -R4i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.y)); -PV0i.y = R4i.y; -R5i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.w)); -PV0i.z = R5i.z; -R125i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[7].w))?int(0xFFFFFFFF):int(0x0)); -R6i.z = 0; -PS0i = R6i.z; -// 15 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.z = 0; -PS1i = R0i.z; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.0); -PS0i = R9i.x; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -R9i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.0); -PS1i = R9i.y; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.w = tempi.x; -R122i.x = ((R125i.x == 0)?(R9i.x):(0x3f800000)); -PS0i = R122i.x; -// 19 -R123i.x = ((R125i.x == 0)?(PV0i.x):(0x3f800000)); -PV1i.x = R123i.x; -R123i.y = ((R125i.x == 0)?(R127i.w):(0x3f800000)); -PV1i.y = R123i.y; -R123i.z = ((R125i.x == 0)?(R9i.y):(0x3f800000)); -PV1i.z = R123i.z; -R1i.w = uf_remappedVS[2].z; -R2i.x = ((R125i.w == 0)?(PS0i):(0x3f800000)); -PS1i = R2i.x; -// 20 -R5i.x = uf_remappedVS[3].z; -R2i.y = ((R125i.w == 0)?(PV1i.z):(0x3f800000)); -R2i.z = ((R125i.w == 0)?(PV1i.y):(0x3f800000)); -R2i.w = ((R125i.w == 0)?(PV1i.x):(0x3f800000)); -R1i.z = uf_remappedVS[4].z; -PS0i = R1i.z; -// 21 -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = R0i.x; -PV1i.y = R0i.x; -PV1i.z = R0i.x; -PV1i.w = R0i.x; -R8i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[12].x) + -(1.0)); -PS1i = R8i.z; -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R2i.x)*(origRatio / newRatio), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R124i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[12].y) + -(1.0)); -PS0i = R124i.y; -// 1 -backupReg0i = R0i.w; -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w)))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R7i.w)) + intBitsToFloat(R7i.y))); -PS1i = R126i.y; -// 2 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.y = tempi.x; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R7i.z)) + intBitsToFloat(R7i.x))); -PS0i = R127i.z; -// 3 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R5i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = tempi.x; -R124i.x = floatBitsToInt(intBitsToFloat(R126i.y) + 0.5); -PS1i = R124i.x; -// 4 -backupReg0i = R0i.z; -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(R127i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R4i.x = floatBitsToInt(intBitsToFloat(R127i.z) + 0.5); -PS0i = R4i.x; -// 5 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y),intBitsToFloat(backupReg1i),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -R4i.y = floatBitsToInt(-(intBitsToFloat(R124i.x)) + 1.0); -PS1i = R4i.y; -// 6 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y),intBitsToFloat(R0i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R9i.z = floatBitsToInt(-(intBitsToFloat(R126i.z))); -PS0i = R9i.z; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.x = floatBitsToInt(-(intBitsToFloat(R126i.z)) + -(intBitsToFloat(uf_remappedVS[16].x))); -PS1i = R124i.x; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 9 -backupReg0i = R126i.z; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(uf_remappedVS[16].y))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 10 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -backupReg2i = R127i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -R127i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[12].z) + -(1.0)); -PS0i = R127i.x; -// 11 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R125i.y = floatBitsToInt(tempResultf); -PS1i = R125i.y; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[18].x)),-(intBitsToFloat(uf_remappedVS[18].y)),-(intBitsToFloat(uf_remappedVS[18].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PS0i = R126i.x; -// 13 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.w),intBitsToFloat(R5i.x),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),0.0))); -PV1i.x = R124i.x; -PV1i.y = R124i.x; -PV1i.z = R124i.x; -PV1i.w = R124i.x; -R125i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -PS1i = R125i.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.w),intBitsToFloat(R5i.x),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R125i.w = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -PS0i = R125i.w; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.w),intBitsToFloat(R5i.x),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R126i.w = floatBitsToInt(max(intBitsToFloat(R125i.x), 0.0)); -PS1i = R126i.w; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(uf_remappedVS[12].w)) + 1.0)); -PS0i = R127i.w; -// 17 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(uf_remappedVS[16].z))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedVS[12].w)) + 1.0)); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[12].w)) + 1.0)); -tempResultf = log2(intBitsToFloat(R125i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R8i.z = floatBitsToInt(tempResultf); -PS1i = R8i.z; -// 18 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.z)); -PS0i = floatBitsToInt(tempResultf); -// 19 -backupReg0i = R125i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[20].x)) + intBitsToFloat(R127i.w))); -PV1i.x = R123i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[20].z)) + intBitsToFloat(backupReg0i))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[20].y)) + intBitsToFloat(R125i.z))); -PV1i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.w = floatBitsToInt(tempResultf); -PS1i = R127i.w; -// 20 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(uf_remappedVS[21].w))); -R8i.z = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -R1i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(R127i.x))); -// 21 -R0i.x = floatBitsToInt(min(intBitsToFloat(PS0i), 1.0)); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedVS[22].w))); -R0i.w = floatBitsToInt(max(intBitsToFloat(R125i.y), -(intBitsToFloat(R125i.y)))); -R5i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R5i.x; -// export -passParameterSem2 = vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.z)); -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(uf_remappedVS[16].w))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV0i.w = R123i.w; -R8i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(R1i.y))); -PS0i = R8i.x; -// 1 -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV0i.y))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedVS[21].y)) + intBitsToFloat(uf_remappedVS[23].y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedVS[21].x)) + intBitsToFloat(uf_remappedVS[23].x))); -R8i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV0i.w))); -PS1i = R8i.z; -// 2 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(uf_remappedVS[21].z)) + intBitsToFloat(uf_remappedVS[23].z))); -PV0i.y = R123i.y; -R8i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(R4i.w))); -PS0i = floatBitsToInt(exp2(intBitsToFloat(R1i.z))); -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[22].x)) + intBitsToFloat(R127i.w))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[22].y)) + intBitsToFloat(R125i.z))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[22].z)) + intBitsToFloat(PV0i.y))); -// 4 -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_remappedVS[18].w))); -// export -passParameterSem0 = vec4(intBitsToFloat(R8i.x), intBitsToFloat(R8i.y), intBitsToFloat(R8i.z), intBitsToFloat(R8i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// 0 -} diff --git a/Source/XenobladeX/4d4b09634a7eab30_0000000000001e49_ps.txt b/Source/XenobladeX/4d4b09634a7eab30_0000000000001e49_ps.txt index 4774738a..b9ce3827 100644 --- a/Source/XenobladeX/4d4b09634a7eab30_0000000000001e49_ps.txt +++ b/Source/XenobladeX/4d4b09634a7eab30_0000000000001e49_ps.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader 4d4b09634a7eab30 // Last step vertical blend. half tv scaled + pre-blending = aprox half step reduction // To-do candidate for multi pass / bokeh replacement -const float resScale = ; +const float resScale = ($width/$gameWidth); uniform ivec4 uf_remappedPS[7]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4fde000 res 640x360x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf51aa000 res 640x360x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 @@ -19,7 +12,7 @@ layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf4e12000 res layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; uniform vec2 uf_fragCoordScale; -//const float resScale = 2.0; +//const float resScale = ($height/$gameHeight); // = 2.0; int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/Source/XenobladeX/5098356af9ebfe85_0000000000000079_ps.txt b/Source/XenobladeX/5098356af9ebfe85_0000000000000079_ps.txt index 6b3b83e7..b5db070c 100644 --- a/Source/XenobladeX/5098356af9ebfe85_0000000000000079_ps.txt +++ b/Source/XenobladeX/5098356af9ebfe85_0000000000000079_ps.txt @@ -2,7 +2,7 @@ #extension GL_ARB_texture_gather : enable // shader 5098356af9ebfe85 //AO pass 3 vertical blur -const float resScale = 4.5; +const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[2]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5911000 res 640x360x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem0; diff --git a/Source/XenobladeX/59df1c7e1806366c_00000000000003c9_ps.txt b/Source/XenobladeX/59df1c7e1806366c_00000000000003c9_ps.txt index eabbe109..83cafd45 100644 --- a/Source/XenobladeX/59df1c7e1806366c_00000000000003c9_ps.txt +++ b/Source/XenobladeX/59df1c7e1806366c_00000000000003c9_ps.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable const float sharpen_strength = 0.2; //0 off, 1 full (edge haloing) note, off = use only blur aa // shader 59df1c7e1806366c // aa-restore + sharpen pass. AA removal will override any setting here -const float resScale = ; +const float resScale = ($height/$gameHeight); // = 3.0; uniform ivec4 uf_remappedPS[2]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e12000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 diff --git a/Source/XenobladeX/5a41baf724c1cff3_0000000000000000_vs.txt b/Source/XenobladeX/5a41baf724c1cff3_0000000000000000_vs.txt deleted file mode 100644 index d7af0407..00000000 --- a/Source/XenobladeX/5a41baf724c1cff3_0000000000000000_vs.txt +++ /dev/null @@ -1,1410 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 5a41baf724c1cff3 // reflection water crystal -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 5) out vec4 passParameterSem5; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 4) out vec4 passParameterSem4; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem9; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R125i.x = floatBitsToInt(max(intBitsToFloat(R5i.x), -(intBitsToFloat(R5i.x)))); -PV0i.x = R125i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(R5i.y), -(intBitsToFloat(R5i.y)))); -PV0i.z = R127i.z; -R127i.w = R5i.z; -R127i.y = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(intBitsToFloat(R8i.x) * intBitsToFloat(PV0i.x)); -R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R126i.x = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(PV0i.z)); -PS1i = R126i.x; -// 2 -PV0i.x = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(R127i.w)); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(R127i.x)); -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -R126i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R126i.z; -// 4 -backupReg0i = R127i.y; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R127i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -R126i.y = R6i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 5 -R127i.x = R6i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R8i.x)); -R125i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R8i.y)); -R126i.w = R6i.y; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R8i.z)); -PS1i = R125i.w; -// 6 -PV0i.x = R8i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R0i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R8i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R126i.z; -// 7 -backupReg0i = R126i.w; -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -R7i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R11i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R125i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R126i.y)); -R124i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(backupReg0i)); -PS1i = R124i.y; -// 8 -PV0i.x = R6i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -R127i.y = R6i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PV0i.z = R6i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R127i.x)); -R126i.y = R6i.w; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 9 -backupReg0i = R125i.y; -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R125i.w)); -R125i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(R125i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i)); -R0i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PV0i.x)); -R125i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PV0i.z)); -PS1i = R125i.x; -// 10 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R125i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R126i.y)); -R125i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.z))); -R125i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R126i.y)); -PS1i = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -// 12 -R126i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R126i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R127i.y)); -R6i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R8i.x)); -PV1i.x = R0i.x; -R5i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R8i.y)); -PV1i.y = R5i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R127i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R124i.y)); -R13i.x = 0; -PS1i = R13i.x; -// 14 -R0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R7i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.z)); -R14i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R125i.y)); -R8i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R8i.y = 0; -PS0i = R8i.y; -// 15 -R5i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R127i.x)); -R5i.y = 0x3f800000; -R8i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -R12i.w = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x)); -PS1i = R12i.w; -// 16 -R8i.x = 0x3f800000; -R0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R127i.x))); -R4i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R13i.w = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(R126i.x))); -PS0i = R13i.w; -// 17 -R1i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R7i.z = 0; -PS1i = R7i.z; -// 18 -R12i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R5i.w))/0.1591549367)); -// 19 -R127i.z = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R5i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R0i.y))/0.1591549367)); -// 22 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -R5i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 23 -R14i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -R6i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -R5i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.w; -// 24 -R6i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -// 25 -R14i.x = PS0i; -R13i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R6i.y = PS0i; -PS1i = R6i.y; -// 26 -R13i.z = floatBitsToInt(sqrt(intBitsToFloat(R124i.x))); -PS0i = R13i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R7i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R5i.z,R0i.w,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R8i.x = uf_remappedVS[1].z; -PS0i = R8i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.y = uf_remappedVS[4].z; -PS1i = R8i.y; -// 4 -R8i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.y = R127i.y; -// 6 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * -(intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * -(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R5i.x = PV1i.x; -PS0i = R5i.x; -// 9 -R14i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R14i.x; -PV1i.y = R14i.x; -PV1i.z = R14i.x; -PV1i.w = R14i.x; -R5i.y = R127i.y; -PS1i = R5i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R14i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R14i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.z = tempi.x; -// 12 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R7i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R13i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -R5i.x = uf_remappedVS[1].x; -PS0i = R5i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R7i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R14i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R8i.z)); -R5i.y = uf_remappedVS[1].y; -R5i.z = uf_remappedVS[1].z; -// 3 -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R12i.z; -R12i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R8i.z)); -R7i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(R14i.x) + intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[1].y)); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R5i.z; -// 2 -R5i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[1].y)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[4].y)); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[4].y)); -// 5 -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 7 -R5i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R12i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w))); -R12i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R12i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R126i.x))); -PS0i = R12i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R7i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R5i.y = 0; -R5i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R12i.y = 0; -R0i.z = 0; -R12i.z = uf_remappedVS[1].x; -PS1i = R12i.z; -// 2 -R11i.z = 0; -// 3 -R7i.z = R13i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R14i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = R14i.x; -PV0i.y = R14i.x; -PV0i.z = R14i.x; -PV0i.w = R14i.x; -R8i.x = R5i.z; -PS0i = R8i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.y = tempi.x; -R8i.y = backupReg1i; -PS1i = R8i.y; -// 2 -backupReg0i = R14i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R14i.z = tempi.x; -R8i.z = R12i.z; -PS0i = R8i.z; -// 3 -backupReg0i = R0i.z; -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -PS1i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(backupReg0i)); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R12i.z)); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R7i.x = R14i.z; -R7i.z = R0i.x; -R12i.x = R12i.z; -PS0i = R12i.x; -// 1 -R12i.y = R1i.y; -R12i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R7i.y):(R0i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R14i.z):(R14i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R0i.x):(R7i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R7i.y; -R7i.x = ((R127i.y == 0)?(PV1i.x):(R0i.x)); -R7i.y = ((R127i.y == 0)?(PV1i.w):(R14i.z)); -R7i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R12i.z):(R12i.z)); -PV0i.w = R123i.w; -R12i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R12i.x; -// 3 -R8i.x = ((R127i.y == 0)?(0):(R13i.x)); -R12i.y = ((R127i.y == 0)?(R127i.z):(R12i.z)); -R12i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R8i.y = ((R127i.y == 0)?(0):(R5i.y)); -PS1i = R8i.y; -// 4 -backupReg0i = R8i.z; -R8i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R6i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(R6i.z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R14i.y) * intBitsToFloat(R6i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(R14i.y) * intBitsToFloat(R6i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R6i.y)); -PS0i = R127i.z; -// 1 -R126i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -R125i.z = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R14i.x) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R6i.x)); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R6i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.z)); -R125i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.x)); -PS0i = R125i.x; -// 3 -R0i.x = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R14i.x) + intBitsToFloat(R127i.x))); -R125i.y = floatBitsToInt((intBitsToFloat(R5i.w) * 0.0 + intBitsToFloat(R127i.y))); -R124i.z = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R13i.y) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R125i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R126i.w)); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R12i.w) * intBitsToFloat(R125i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(backupReg0i)); -R126i.z = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt(intBitsToFloat(R12i.w) * intBitsToFloat(backupReg0i)); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt(intBitsToFloat(R12i.w) * intBitsToFloat(R126i.w)); -R127i.y = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R124i.x) + intBitsToFloat(PV0i.y))); -R126i.w = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R11i.z = 0; -PS1i = R11i.z; -// 6 -R127i.x = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R124i.w) + intBitsToFloat(R125i.w))); -// 7 -backupReg0i = R126i.y; -backupReg1i = R124i.x; -R124i.x = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R0i.x) + intBitsToFloat(R126i.z))); -R126i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R127i.w))); -R126i.z = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(R127i.y))); -PV1i.z = R126i.z; -R127i.w = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.x))); -R125i.x = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(backupReg1i) + intBitsToFloat(R125i.z))); -PS1i = R125i.x; -// 8 -backupReg0i = R127i.z; -R5i.x = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R0i.x) + intBitsToFloat(R127i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(PV1i.z)); -R127i.z = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(R124i.w) + intBitsToFloat(R126i.x))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(PV1i.z)); -// 9 -backupReg0i = R125i.y; -R6i.x = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R126i.w))); -R125i.z = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.x))); -R125i.x = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PS1i = R125i.x; -// 10 -backupReg0i = R126i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R127i.w))); -PS0i = R124i.y; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R127i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].x)); -PS1i = R127i.w; -// 12 -backupReg0i = R126i.z; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R126i.y) + intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[6].z)); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].y)); -R124i.w = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg1i))); -R0i.x = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(R127i.z)); -PS0i = R0i.x; -// 13 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R127i.w))); -PS1i = R127i.x; -// 14 -backupReg0i = R125i.x; -backupReg1i = R127i.y; -R125i.x = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(R124i.y)); -R123i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(backupReg1i))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R126i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R127i.z)); -// 15 -R14i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R127i.x))); -R14i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.w))); -R14i.z = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(R0i.x))); -PS1i = R122i.x; -// 16 -backupReg0i = R124i.w; -backupReg0i = R124i.w; -R127i.x = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(R5i.x) + intBitsToFloat(PS1i))); -R125i.y = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R5i.x) + intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[6].y)); -R124i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].x)); -R126i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].z)); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.x; -backupReg0i = R125i.x; -backupReg0i = R125i.x; -backupReg1i = R125i.z; -R125i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R125i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].z)); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].y)); -R122i.x = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(backupReg1i) + intBitsToFloat(R127i.y))); -PS1i = R122i.x; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(PS1i))); -PS0i = R124i.y; -// 19 -R123i.x = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R125i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R126i.x))); -R123i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R124i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R127i.z))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R126i.w))); -PS1i = R127i.x; -// 20 -R8i.x = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV1i.z))); -R8i.y = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV1i.w))); -R123i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R125i.z))); -PV0i.w = R123i.w; -R6i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV1i.x))); -PS0i = R6i.x; -// 21 -R6i.y = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R127i.x))); -R8i.z = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R127i.y))); -R6i.z = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.w))); -PS1i = R6i.z; -// 22 -R7i.z = R13i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -R0i.x = 0; -PS0i = R0i.x; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].z) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].x) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].w) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].y) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R5i.z = R3i.w; -R5i.z = floatBitsToInt(intBitsToFloat(R5i.z) * 2.0); -PS1i = R5i.z; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].w) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R5i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R5i.x; -// 3 -R126i.x = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV0i.y))); -PV1i.x = R126i.x; -R124i.y = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.w))); -PV1i.y = R124i.y; -R126i.z = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.x))); -PV1i.z = R126i.z; -R0i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].w) + intBitsToFloat(PV0i.z))); -PV1i.w = R0i.w; -R127i.w = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -R127i.x = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R127i.y = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(PV1i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R126i.y; -// 7 -R123i.x = ((intBitsToFloat(PV0i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.x = R123i.x; -R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -R0i.z = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R127i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(R127i.y)); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R127i.w; -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -R125i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -PV1i.y = R125i.y; -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983)); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.y; -// 10 -R125i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R2i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + -(0.0)); -R1i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R127i.w = floatBitsToInt(sin((intBitsToFloat(PV1i.y))/0.1591549367)); -PS0i = R127i.w; -// 11 -R127i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -R0i.y = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R1i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R123i.w = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R125i.z = floatBitsToInt(sin((intBitsToFloat(R127i.z))/0.1591549367)); -PS1i = R125i.z; -// 12 -R11i.x = floatBitsToInt(intBitsToFloat(R14i.x) * intBitsToFloat(PV1i.w)); -PV0i.x = R11i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R14i.y) * intBitsToFloat(PV1i.w)); -PV0i.y = R127i.y; -R124i.z = floatBitsToInt(intBitsToFloat(R14i.z) * intBitsToFloat(PV1i.w)); -PV0i.z = R124i.z; -R125i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R124i.x = floatBitsToInt(cos((intBitsToFloat(R127i.z))/0.1591549367)); -PS0i = R124i.x; -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R126i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(R126i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(R126i.y)); -PS1i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 14 -R2i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV1i.x)); -PV0i.x = R2i.x; -R11i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(PV1i.w)); -PV0i.y = R11i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.z = R2i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R122i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(R1i.y) + intBitsToFloat(R127i.x))); -PS0i = R122i.x; -// 15 -backupReg0i = R0i.w; -R12i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R12i.x; -PV1i.y = R12i.x; -PV1i.z = R12i.x; -PV1i.w = R12i.x; -R126i.z = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(PS0i) + intBitsToFloat(R10i.y))); -PS1i = R126i.z; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -R127i.x = floatBitsToInt((-(intBitsToFloat(R125i.z)) * intBitsToFloat(R1i.y) + intBitsToFloat(R127i.z))); -PS0i = R127i.x; -// 17 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.z = tempi.x; -R122i.x = floatBitsToInt((-(intBitsToFloat(R127i.w)) * intBitsToFloat(R1i.y) + intBitsToFloat(R126i.w))); -PS1i = R122i.x; -// 18 -backupReg0i = R126i.z; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(R10i.z) * intBitsToFloat(PS1i) + intBitsToFloat(R10i.x))); -R124i.y = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(R125i.w))); -R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -R10i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -PS0i = R10i.y; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt((intBitsToFloat(R9i.z) * intBitsToFloat(R127i.x) + intBitsToFloat(R9i.x))); -PS1i = R127i.z; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R124i.z; -// 21 -backupReg0i = R9i.w; -backupReg1i = R9i.y; -R9i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R9i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[12].w)); -PV1i.y = R9i.y; -R10i.z = floatBitsToInt(intBitsToFloat(R125i.x) + 0.5); -R9i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R124i.y) + intBitsToFloat(backupReg1i))); -R7i.x = floatBitsToInt(intBitsToFloat(R127i.z) + 0.5); -PS1i = R7i.x; -// 22 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.z = tempi.x; -R11i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R124i.z)); -PS0i = R11i.x; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.y = tempi.x; -R125i.w = floatBitsToInt(intBitsToFloat(R9i.y) * intBitsToFloat(R9i.x)); -PS0i = R125i.w; -// 1 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(R11i.x)); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[0].z)); -R126i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R125i.w)); -R124i.z = ((R0i.z == 0)?(PS1i):(PS1i)); -R126i.w = floatBitsToInt(-(intBitsToFloat(R10i.w)) + 1.0); -R7i.y = floatBitsToInt(intBitsToFloat(R9i.w) + 0.5); -PS0i = R7i.y; -// 3 -backupReg0i = R0i.z; -backupReg1i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -R124i.y = ((backupReg0i == 0)?(PV0i.x):(backupReg1i)); -PS1i = R124i.y; -// 4 -backupReg0i = R124i.z; -R123i.x = ((R0i.z == 0)?(PV1i.x):(PV1i.x)); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt(-(intBitsToFloat(R11i.z))); -R124i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((R0i.z == 0)?(R126i.y):(R126i.y)); -PV0i.w = R123i.w; -R2i.x = ((R5i.x == 0)?(backupReg0i):(0x3f800000)); -PS0i = R2i.x; -// 5 -backupReg0i = R11i.y; -R0i.x = 0; -R11i.y = ((R5i.x == 0)?(PV0i.w):(0x3f800000)); -R2i.z = ((R5i.x == 0)?(R124i.y):(0x3f800000)); -R0i.w = ((R5i.x == 0)?(PV0i.x):(0x3f800000)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS1i = R9i.y; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.y = tempi.x; -R0i.z = 0; -PS0i = R0i.z; -// 7 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R2i.w = 0; -PS1i = R2i.w; -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R9i.x = ((R124i.z == 0)?(backupReg0i):(R127i.z)); -PS0i = R9i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(R124i.y)); -R125i.w = floatBitsToInt(tempResultf); -PS1i = R125i.w; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PS1i)); -PS0i = R125i.x; -// 11 -R6i.x = floatBitsToInt(intBitsToFloat(R1i.x) + 0.5); -PV1i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R125i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R125i.w)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -// 13 -backupReg0i = R9i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PS0i), -(intBitsToFloat(PS0i)))); -R9i.z = ((R124i.z == 0)?(R0i.z):(R125i.y)); -R9i.w = ((R124i.z == 0)?(R2i.w):(R127i.w)); -R9i.y = ((R124i.z == 0)?(backupReg0i):(R126i.y)); -PS1i = R9i.y; -// 14 -backupReg0i = R7i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(uf_remappedVS[14].y))); -R7i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -R7i.z = R10i.z; -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R7i.w = R126i.w; -PS0i = R7i.w; -// 15 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[20].y) + intBitsToFloat(R1i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[20].x) + intBitsToFloat(R2i.y))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R10i.y)); -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[20].z) + intBitsToFloat(R1i.z))); -PV1i.w = R123i.w; -R6i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + 0.5); -PS1i = R6i.y; -// 16 -R123i.x = ((R0i.y == 0)?(PV1i.z):(0x3f800000)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -// 17 -R0i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.x = R0i.x; -R0i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.z = R0i.z; -R1i.z = PV0i.x; -R1i.z = clampFI32(R1i.z); -PS1i = R1i.z; -// 18 -backupReg0i = R3i.z; -R1i.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(PV1i.x)); -R1i.y = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(PV1i.y)); -R3i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.z)); -// 19 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R126i.y = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(backupReg0i)); -R126i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R0i.y)); -PV0i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(R0i.z)); -PS0i = R127i.w; -// 1 -R4i.x = ((PV0i.w == 0)?(R2i.x):(0x3f800000)); -R4i.y = ((PV0i.w == 0)?(R11i.y):(0x3f800000)); -R4i.z = ((PV0i.w == 0)?(R2i.z):(0x3f800000)); -R4i.w = ((PV0i.w == 0)?(R0i.w):(0x3f800000)); -PS1i = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[21].y)); -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R5i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R5i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PS1i), 0.0)); -PS0i = R127i.z; -// 3 -R0i.x = floatBitsToInt(max(intBitsToFloat(R1i.x), 0.0)); -R0i.y = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -R0i.w = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R5i.z)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R12i.x) * intBitsToFloat(PS1i)); -PV0i.x = R127i.x; -R125i.y = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(PS1i)); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(PS1i)); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.z = floatBitsToInt(max(intBitsToFloat(R3i.z), 0.0)); -PS1i = R0i.z; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].z)); -R2i.y = floatBitsToInt(max(intBitsToFloat(R126i.z), 0.0)); -R2i.z = floatBitsToInt(max(intBitsToFloat(R127i.w), 0.0)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R2i.x = floatBitsToInt(max(intBitsToFloat(R126i.y), 0.0)); -PS0i = R2i.x; -// 7 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[23].z) * intBitsToFloat(R127i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),1.0,0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].w)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), 1.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[21].w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[25].w)); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 11 -R125i.y = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].y) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].x) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R126i.w; -// 12 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[24].z) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.x = R123i.x; -// 13 -R1i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[25].x) + intBitsToFloat(R127i.z))); -R1i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[25].y) + intBitsToFloat(R125i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[25].z) + intBitsToFloat(PV0i.x))); -// 14 -R1i.w = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[19].w)); -} - -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -// export -gl_Position = vec4(intBitsToFloat(R4i.x) *(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -// export -passParameterSem5 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.z)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/5b5c7c2a52ed1459_0000000000000079_ps.txt b/Source/XenobladeX/5b5c7c2a52ed1459_0000000000000079_ps.txt index 81d7e106..184d330e 100644 --- a/Source/XenobladeX/5b5c7c2a52ed1459_0000000000000079_ps.txt +++ b/Source/XenobladeX/5b5c7c2a52ed1459_0000000000000079_ps.txt @@ -2,8 +2,8 @@ #extension GL_ARB_texture_gather : enable // shader 5b5c7c2a52ed1459 // AO step 2 horizontal blur -const float resScale = 4.5; -//const float resScale = 4.0; +const float resScale = ($height/$gameHeight); + uniform ivec4 uf_remappedPS[2]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf589e000 res 640x360x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem0; diff --git a/Source/XenobladeX/5eb82314ffb8484e_00000000000007f9_ps.txt b/Source/XenobladeX/5eb82314ffb8484e_00000000000007f9_ps.txt index d401ccb2..9bba089d 100644 --- a/Source/XenobladeX/5eb82314ffb8484e_00000000000007f9_ps.txt +++ b/Source/XenobladeX/5eb82314ffb8484e_00000000000007f9_ps.txt @@ -1,18 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader 5eb82314ffb8484e // bg scale, probably overkill to scale -// Last step vertical blend. half tv scaled + pre-blending = aprox half step reduction -// To-do candidate for multi pass / bokeh replacement -const float resScale = ; +// Last step vertical blend + +const float resScale = ($height/$gameHeight); // = 1.5; -//const float resScale = 2.0; uniform ivec4 uf_remappedPS[7]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e12000 res 640x360x1 dim 1 tm: 4 format 0820 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem0; diff --git a/Source/XenobladeX/6093720c5ca6289c_0000000000000000_vs.txt b/Source/XenobladeX/6093720c5ca6289c_0000000000000000_vs.txt deleted file mode 100644 index 24f85213..00000000 --- a/Source/XenobladeX/6093720c5ca6289c_0000000000000000_vs.txt +++ /dev/null @@ -1,531 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 6093720c5ca6289c -//lensflare -uniform ivec4 uf_remappedVS[8]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf5f0a000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler18 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem1.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem4; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(uf_remappedVS[0].x)),-(intBitsToFloat(uf_remappedVS[0].y)),-(intBitsToFloat(uf_remappedVS[0].z)),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[0].x)),-(intBitsToFloat(uf_remappedVS[0].y)),-(intBitsToFloat(uf_remappedVS[0].z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 1 -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R0i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(uf_remappedVS[0].x)), intBitsToFloat(PS1i))); -R0i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(uf_remappedVS[0].y)), intBitsToFloat(PS1i))); -R0i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(uf_remappedVS[0].z)), intBitsToFloat(PS1i))); -// 3 -predResult = (0.5 > intBitsToFloat(uf_remappedVS[1].w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R10i.xyz = ivec3(uf_remappedVS[1].x,uf_remappedVS[1].y,uf_remappedVS[1].z); -// 1 -R6i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].x) + -(intBitsToFloat(uf_remappedVS[2].x))); -R6i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].y) + -(intBitsToFloat(uf_remappedVS[2].y))); -// 2 -R6i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) + -(intBitsToFloat(uf_remappedVS[2].z))); -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R10i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].x) + intBitsToFloat(uf_remappedVS[3].x)); -R10i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].y) + intBitsToFloat(uf_remappedVS[3].y)); -R6i.x = uf_remappedVS[1].x; -PS0i = R6i.x; -// 1 -R10i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) + intBitsToFloat(uf_remappedVS[3].z)); -// 2 -R6i.y = uf_remappedVS[1].y; -R6i.z = uf_remappedVS[1].z; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.x = R123i.x; -R127i.y = ((0.0 > intBitsToFloat(R2i.x))?int(0xFFFFFFFF):int(0x0)); -R126i.z = ((intBitsToFloat(R2i.y) > intBitsToFloat(0x41400000))?int(0xFFFFFFFF):int(0x0)); -R1i.w = 0x3f800000; -PV0i.w = R1i.w; -R125i.y = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x42800000)); -PS0i = R125i.y; -// 1 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w)))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -R127i.w = floatBitsToInt(fract(intBitsToFloat(PV0i.x))); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.y = tempi.x; -R1i.z = 0; -PS0i = R1i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(PV0i.x),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(PV0i.x),intBitsToFloat(PS0i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R122i.x; -// 4 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R7i.x))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y))); -R127i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3e22f983)); -PV0i.z = R127i.z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedVS[6].w))); -R1i.z = 0; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PS0i))); -R127i.x = floatBitsToInt(sin((intBitsToFloat(PV0i.z))/0.1591549367)); -PS1i = R127i.x; -// 6 -R123i.x = floatBitsToInt(((R127i.y == 0)?(intBitsToFloat(PV1i.w)):(-(intBitsToFloat(PV1i.w))))); -PV0i.x = R123i.x; -R123i.z = floatBitsToInt(((R127i.y == 0)?(intBitsToFloat(PV1i.x)):(-(intBitsToFloat(PV1i.x))))); -PV0i.z = R123i.z; -R0i.w = floatBitsToInt(1.0); -R127i.w = floatBitsToInt(cos((intBitsToFloat(R127i.z))/0.1591549367)); -PS0i = R127i.w; -// 7 -backupReg0i = R126i.z; -R11i.x = floatBitsToInt(intBitsToFloat(R1i.x) + 0.5); -R123i.y = ((R126i.z == 0)?(PV0i.z):(0)); -PV1i.y = R123i.y; -R126i.z = ((backupReg0i == 0)?(PV0i.x):(0x3f800000)); -PV1i.z = R126i.z; -R12i.y = floatBitsToInt(intBitsToFloat(R1i.y) + 0.5); -PS1i = R12i.y; -// 8 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R127i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(PV1i.y)), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(backupReg0i))); -PS0i = R127i.w; -// 9 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -PV1i.x = R127i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), -(intBitsToFloat(backupReg0i)))); -// 10 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.z)); -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 12 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y)) + intBitsToFloat(R126i.x))); -R126i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3a4ccccd)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(tempResultf); -PS0i = R127i.w; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PS0i))); -PS1i = R126i.x; -// 14 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3ab60b61)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R126i.w))); -R2i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -PS0i = R2i.z; -// 15 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.w = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(R125i.x) * intBitsToFloat(PS0i)); -// 16 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(R2i.z)); -R126i.z = ((0.0 > intBitsToFloat(PV1i.x))?int(0xFFFFFFFF):int(0x0)); -PV0i.z = R126i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R127i.x))); -R0i.x = floatBitsToInt(intBitsToFloat(PS1i) + intBitsToFloat(R127i.w)); -PS0i = R0i.x; -// 17 -R6i.x = ((PV0i.z == 0)?(PS0i):(0x3f800000)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.y = R0i.y; -// 18 -backupReg0i = R1i.z; -R8i.y = ((R126i.z == 0)?(PV1i.y):(0x3f800000)); -R1i.z = ((R126i.z == 0)?(backupReg0i):(0x3f800000)); -R4i.w = ((R126i.z == 0)?(R0i.w):(0x3f800000)); -// 19 -predResult = (intBitsToFloat(R2i.w) > intBitsToFloat(R3i.y)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.y = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(R2i.w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(R3i.y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R11i.y; -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(R3i.z) > intBitsToFloat(R2i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + intBitsToFloat(R2i.w)); -PV0i.w = floatBitsToInt(intBitsToFloat(R3i.z) + -(intBitsToFloat(R3i.w))); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R11i.y; -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[6].x) * intBitsToFloat(0x41000000)); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[6].y) * intBitsToFloat(0x41000000)); -PV0i.z = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(R2i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.y) * intBitsToFloat(R2i.z)); -R127i.w = 0; -PS0i = R127i.w; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[6].z))); -PV1i.x = R127i.x; -PV1i.y = PV0i.z; -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) / 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedVS[6].z))); -PV1i.w = R125i.w; -R126i.w = 0; -PS1i = R126i.w; -// 2 -R0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + 0.5); -PV0i.x = R0i.x; -R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + 0.5); -PV0i.y = R0i.y; -PV0i.z = PV1i.x; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = PV1i.w; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -PS0i = floatBitsToInt(-(intBitsToFloat(PV1i.x))); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 2.0); -// 3 -R1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -R1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.w)); -PV1i.z = R125i.w; -PV1i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * 2.0); -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PS0i)); -PS1i = R127i.x; -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 4 -R3i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PS1i)); -R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV1i.z)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R125i.w))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -PV0i.w = floatBitsToInt(-(intBitsToFloat(R127i.x))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -PS0i = floatBitsToInt(-(intBitsToFloat(R125i.w))); -PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 2.0); -// 5 -R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.w)); -R3i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PV0i.z)); -R2i.z = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PS0i)); -R6i.w = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(R127i.x)); -R6i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(R127i.w)); -PS1i = R6i.y; -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R125i.w))); -R7i.y = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(R126i.w)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R127i.x))); -PV0i.w = 0; -R9i.y = ((0.0 >= intBitsToFloat(R11i.y))?int(0xFFFFFFFF):int(0x0)); -PS0i = R9i.y; -// 7 -backupReg0i = R8i.y; -R7i.x = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.z)); -R8i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R0i.y)); -R8i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R0i.x)); -R0i.w = ((PS0i == 0)?(R6i.x):(0x3f800000)); -R0i.z = ((PS0i == 0)?(backupReg0i):(0x3f800000)); -PS1i = R0i.z; -} -if( activeMaskStackC[1] == true ) { -R0i.x = floatBitsToInt(textureLod(textureUnitVS0, intBitsToFloat(R0i.xy),0.0).x); -R1i.x = floatBitsToInt(textureLod(textureUnitVS0, intBitsToFloat(R1i.xy),0.0).x); -R6i.x = floatBitsToInt(textureLod(textureUnitVS0, intBitsToFloat(R2i.wy),0.0).x); -R3i.x = floatBitsToInt(textureLod(textureUnitVS0, intBitsToFloat(R3i.xy),0.0).x); -R2i.x = floatBitsToInt(textureLod(textureUnitVS0, intBitsToFloat(R2i.xz),0.0).x); -R8i.x = floatBitsToInt(textureLod(textureUnitVS0, intBitsToFloat(R6i.wy),0.0).x); -R7i.x = floatBitsToInt(textureLod(textureUnitVS0, intBitsToFloat(R7i.xy),0.0).x); -R9i.x = floatBitsToInt(textureLod(textureUnitVS0, intBitsToFloat(R8i.zy),0.0).x); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = ((R9i.y == 0)?(R1i.z):(0x3f800000)); -PS0i = R125i.w; -// 1 -backupReg0i = R9i.y; -backupReg1i = R5i.x; -R127i.x = floatBitsToInt(min(-(intBitsToFloat(PV0i.x)), intBitsToFloat(0x45fef900))); -PV1i.x = R127i.x; -R9i.y = ((backupReg0i == 0)?(R4i.w):(0x3f800000)); -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R11i.x)) + intBitsToFloat(backupReg1i))); -PS1i = R5i.x; -// 2 -backupReg0i = R5i.y; -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R1i.x)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R0i.x)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(R6i.x)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R12i.y)) + intBitsToFloat(backupReg0i))); -PS0i = R5i.y; -// 3 -R126i.x = ((0.0 > intBitsToFloat(PV0i.y))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((0.0 > intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R127i.z = ((0.0 > intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(R3i.x)); -PS1i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(R2i.x)); -// 4 -R125i.x = ((0.0 > intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -R127i.y = ((0.0 > intBitsToFloat(PV1i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(R8i.x)); -R126i.w = ((PV1i.y == 0)?(0):(0x3e4ccccd)); -PV0i.w = R126i.w; -PS0i = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(R7i.x)); -// 5 -backupReg0i = R127i.x; -R127i.x = ((0.0 > intBitsToFloat(PV0i.z))?int(0xFFFFFFFF):int(0x0)); -R125i.y = ((0.0 > intBitsToFloat(PS0i))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(0x3dcccccd)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R9i.x)); -// 6 -backupReg0i = R126i.w; -R124i.y = ((0.0 > intBitsToFloat(PV1i.w))?int(0xFFFFFFFF):int(0x0)); -R126i.w = ((R126i.x == 0)?(backupReg0i):(PV1i.z)); -PV0i.w = R126i.w; -// 7 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(0x3dcccccd)); -// 8 -R126i.y = ((R127i.z == 0)?(R126i.w):(PV1i.z)); -PV0i.y = R126i.y; -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0x3dcccccd)); -// 10 -R127i.z = ((R127i.y == 0)?(R126i.y):(PV1i.x)); -PV0i.z = R127i.z; -// 11 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0x3dcccccd)); -// 12 -R127i.y = ((R125i.x == 0)?(R127i.z):(PV1i.z)); -PV0i.y = R127i.y; -// 13 -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0x3dcccccd)); -// 14 -backupReg0i = R127i.y; -R127i.y = ((R127i.x == 0)?(backupReg0i):(PV1i.w)); -PV0i.y = R127i.y; -// 15 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(0x3dcccccd)); -// 16 -R126i.w = ((R125i.y == 0)?(R127i.y):(PV1i.y)); -PV0i.w = R126i.w; -// 17 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(0x3dcccccd)); -// 18 -R127i.z = ((R124i.y == 0)?(R126i.w):(PV1i.x)); -PV0i.z = R127i.z; -// 19 -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(0x3dcccccd)); -// 20 -R123i.y = ((R124i.y == 0)?(R127i.z):(PV1i.w)); -PV0i.y = R123i.y; -// 21 -PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -// 22 -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(PV1i.x))); -PV0i.w = R4i.w; -// 23 -PV1i.z = ((0.0 >= intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -// 24 -R0i.x = ((PV1i.z == 0)?(R0i.w):(0x3f800000)); -R0i.y = ((PV1i.z == 0)?(R0i.z):(0x3f800000)); -R0i.z = ((PV1i.z == 0)?(R125i.w):(0x3f800000)); -R0i.w = ((PV1i.z == 0)?(R9i.y):(0x3f800000)); -} -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.z)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/610a9c4cb60b0bdf_0000000000000000_vs.txt b/Source/XenobladeX/610a9c4cb60b0bdf_0000000000000000_vs.txt deleted file mode 100644 index ea903ae6..00000000 --- a/Source/XenobladeX/610a9c4cb60b0bdf_0000000000000000_vs.txt +++ /dev/null @@ -1,289 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 610a9c4cb60b0bdf -//flashlight -uniform ivec4 uf_remappedVS[13]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem5; -layout(location = 5) in uvec4 attrDataSem6; -layout(location = 6) in uvec4 attrDataSem7; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem6.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem3.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem7; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -// 0 -R123i.x = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(R2i.w) + -(0.5)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R6i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R6i.y))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R6i.z))); -// 1 -R123i.x = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(fract(intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(PV0i.w)); -PS1i = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(PS0i)); -// 2 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(R4i.y))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(R4i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(R4i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -PS0i = 0; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R6i.x))); -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.y = R126i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R6i.y))); -R125i.w = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.z)); -R126i.z = 0; -PS1i = R126i.z; -// 4 -R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.y)); -R125i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.x)); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].y) * 1.0); -PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.y))/0.1591549367)); -// 5 -backupReg0i = R126i.y; -R127i.x = PS0i; -R126i.y = floatBitsToInt(-(intBitsToFloat(PS0i))); -R125i.z = R125i.w; -R126i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].z) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 6 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -PV0i.x = PS1i; -R127i.y = PS1i; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].w) * 1.0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].x)) + intBitsToFloat(backupReg0i))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].y)) + intBitsToFloat(backupReg1i))); -PS0i = R124i.z; -// 7 -backupReg0i = R126i.w; -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].z)) + intBitsToFloat(backupReg0i))); -PS1i = R126i.w; -// 8 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].w)) + intBitsToFloat(R127i.z))); -PS0i = R125i.y; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R7i.w)) + intBitsToFloat(R7i.y))); -PS1i = R127i.z; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R127i.x; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * 1.0); -PS1i = R125i.w; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].x)) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].w)) + intBitsToFloat(R125i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].y)) + intBitsToFloat(R124i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].z)) + intBitsToFloat(R126i.w))); -PV0i.w = R123i.w; -R124i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R124i.z; -// 13 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R7i.z)) + intBitsToFloat(R7i.x))); -PS1i = R127i.w; -// 14 -backupReg0i = R127i.x; -backupReg1i = R124i.z; -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(backupReg0i)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R125i.w)); -PV0i.y = R127i.y; -R124i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(backupReg1i)); -PV0i.z = R124i.z; -R125i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[7].w))?int(0xFFFFFFFF):int(0x0)); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.z) + 0.5); -PS0i = R125i.y; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(intBitsToFloat(R127i.w) + 0.5); -PS1i = R7i.x; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.0); -PS0i = R2i.x; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R2i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.0); -PS1i = R2i.y; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.w = tempi.x; -R1i.x = ((R125i.w == 0)?(R2i.x):(0x3f800000)); -PS0i = R1i.x; -// 19 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(uf_remappedVS[12].w))); -R1i.y = ((R125i.w == 0)?(R2i.y):(0x3f800000)); -R1i.z = ((R125i.w == 0)?(R127i.z):(0x3f800000)); -R1i.w = ((R125i.w == 0)?(PV0i.x):(0x3f800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R125i.y)) + 1.0); -PS1i = R7i.y; -// 20 -backupReg0i = R3i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),intBitsToFloat(PV1i.x)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),1.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R3i.w = backupReg0i; -R3i.w = floatBitsToInt(intBitsToFloat(R3i.w) * 2.0); -PS0i = R3i.w; -// 21 -R2i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) - -gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem2 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.z)); -// 0 -} diff --git a/Source/XenobladeX/622450648ddbf1b2_0000000000000000_vs.txt b/Source/XenobladeX/622450648ddbf1b2_0000000000000000_vs.txt deleted file mode 100644 index a4138b3f..00000000 --- a/Source/XenobladeX/622450648ddbf1b2_0000000000000000_vs.txt +++ /dev/null @@ -1,474 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 622450648ddbf1b2 //car lights (float vs?) -uniform ivec4 uf_remappedVS[10]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -// 0 -R123i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.z = R123i.z; -PV0i.w = R6i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -PS0i = R6i.y; -PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 2.0); -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(fract(intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(fract(intBitsToFloat(PV0i.z))); -R125i.w = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PV0i.w)); -R10i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(PS0i)); -PS1i = R10i.y; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -R127i.y = R6i.z; -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R127i.z = R6i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PS0i = R127i.z; -// 3 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -R7i.z = R6i.w; -R7i.z = floatBitsToInt(intBitsToFloat(R7i.z) * 2.0); -PV1i.z = R7i.z; -R127i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -PV1i.w = R127i.w; -R126i.z = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R10i.y)); -PS1i = R126i.z; -// 4 -R11i.x = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R127i.y)); -R125i.y = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R127i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PV1i.z)); -R126i.w = R6i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R127i.y = floatBitsToInt(sin((intBitsToFloat(PV1i.w))/0.1591549367)); -PS0i = R127i.y; -// 5 -backupReg0i = R126i.z; -R126i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R8i.x)); -R124i.y = floatBitsToInt(intBitsToFloat(R2i.w) + -(0.5)); -R126i.z = PS0i; -R124i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R127i.w))/0.1591549367)); -// 6 -R124i.x = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -R7i.y = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R8i.z)); -R124i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R8i.y)); -R127i.w = PS1i; -PV0i.w = R127i.w; -PS0i = floatBitsToInt(cos((intBitsToFloat(R127i.x))/0.1591549367)); -// 7 -R10i.x = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R0i.y = floatBitsToInt(-(intBitsToFloat(R127i.y)) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(sin((intBitsToFloat(R127i.x))/0.1591549367)); -// 8 -backupReg0i = R126i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R127i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PV0i.y = R127i.y; -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 1.0); -R125i.x = floatBitsToInt(sin((intBitsToFloat(R126i.y))/0.1591549367)); -PS0i = R125i.x; -// 9 -R7i.x = R6i.x; -R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -R1i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * 0.0 + intBitsToFloat(PV0i.w))); -R127i.w = floatBitsToInt(-(intBitsToFloat(PS0i))); -R0i.z = floatBitsToInt(cos((intBitsToFloat(R126i.y))/0.1591549367)); -PS1i = R0i.z; -// 10 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -R11i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(PS1i) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R126i.w)); -R126i.w = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R7i.z)); -R0i.x = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R11i.x)); -PS0i = R0i.x; -// 11 -backupReg0i = R125i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R127i.w) + intBitsToFloat(PV0i.x))); -R126i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R125i.z)); -R125i.z = ((intBitsToFloat(R124i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R0i.w = floatBitsToInt(intBitsToFloat(R125i.y) + -(intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg1i)); -PS1i = R127i.y; -// 12 -backupReg0i = R127i.x; -backupReg1i = R125i.x; -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(R124i.z)); -R125i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * 1.0); -R124i.z = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R7i.y)); -R125i.w = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(R125i.x)); -R125i.x = floatBitsToInt(intBitsToFloat(R124i.x) * intBitsToFloat(backupReg1i)); -PS0i = R125i.x; -// 13 -backupReg0i = R0i.z; -backupReg0i = R0i.z; -R12i.x = floatBitsToInt((intBitsToFloat(R124i.x) * 0.0 + intBitsToFloat(R0i.y))); -R124i.y = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(R11i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(backupReg0i)); -R5i.w = floatBitsToInt(intBitsToFloat(R124i.x) * intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(R126i.x)); -PS1i = R1i.w; -// 14 -R13i.x = floatBitsToInt((intBitsToFloat(R10i.x) * intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.z))); -R0i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R125i.z) + intBitsToFloat(R5i.y))); -R126i.z = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(R1i.z)); -R127i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R125i.z) + intBitsToFloat(R5i.x))); -R4i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R126i.w)); -PS0i = R4i.w; -// 15 -R127i.x = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(R125i.z) + intBitsToFloat(R5i.z))); -R5i.y = 0; -R125i.z = floatBitsToInt(-(intBitsToFloat(R0i.x)) + 1.0); -R124i.w = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R7i.x)); -R127i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R8i.y)); -PS1i = R127i.y; -// 16 -backupReg0i = R125i.y; -backupReg1i = R6i.z; -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R8i.x)); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R126i.w))); -R6i.z = floatBitsToInt((intBitsToFloat(R10i.x) * 0.0 + intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(R7i.z)); -R6i.w = floatBitsToInt(intBitsToFloat(R0i.w) * intBitsToFloat(R11i.y)); -PS0i = R6i.w; -// 17 -backupReg0i = R124i.y; -R124i.x = floatBitsToInt(intBitsToFloat(R0i.w) * intBitsToFloat(R1i.z)); -R124i.y = floatBitsToInt(intBitsToFloat(R0i.w) * intBitsToFloat(R126i.x)); -R127i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(R125i.x) + intBitsToFloat(backupReg0i))); -R0i.w = floatBitsToInt((intBitsToFloat(R10i.x) * intBitsToFloat(R0i.z) + intBitsToFloat(R125i.w))); -R8i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -PS1i = R8i.x; -// 18 -backupReg0i = R0i.y; -backupReg1i = R126i.x; -backupReg2i = R126i.z; -R126i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(R5i.w) + intBitsToFloat(R1i.w))); -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(backupReg0i)); -R126i.z = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(backupReg1i)); -R127i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(R12i.x) + intBitsToFloat(backupReg2i))); -R127i.y = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(R1i.z)); -PS0i = R127i.y; -// 19 -backupReg0i = R127i.x; -backupReg1i = R126i.w; -R127i.x = floatBitsToInt(intBitsToFloat(R124i.w) + -(intBitsToFloat(R126i.w))); -PV1i.y = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(R11i.x)); -R7i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(backupReg0i)); -R126i.w = floatBitsToInt(intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i)); -R124i.w = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(R11i.y)); -PS1i = R124i.w; -// 20 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(R0i.w) + intBitsToFloat(R127i.z))); -R123i.y = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(R12i.x) + intBitsToFloat(backupReg0i))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(R125i.x) + intBitsToFloat(R6i.w))); -R123i.w = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(R5i.w) + intBitsToFloat(R124i.y))); -PV0i.w = R123i.w; -R6i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -PS0i = R6i.x; -// 21 -backupReg0i = R5i.w; -R10i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R13i.x) + intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(R13i.x) + intBitsToFloat(R126i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(R6i.z) + intBitsToFloat(R127i.w))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R6i.z) + intBitsToFloat(PV0i.y))); -PS1i = R1i.z; -// 22 -backupReg0i = R0i.y; -backupReg1i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R11i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(backupReg1i) + intBitsToFloat(R127i.z))); -PS0i = R11i.x; -// 23 -backupReg0i = R12i.x; -R12i.x = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R125i.x) + intBitsToFloat(R124i.w))); -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[0].x)); -R0i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[0].y)); -R4i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[0].z)); -PS1i = R4i.w; -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.x),intBitsToFloat(R1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.w = tempi.x; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].x) * 1.0); -PS0i = R127i.z; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R0i.w) + intBitsToFloat(R12i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R13i.x) + intBitsToFloat(R5i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R6i.z) + intBitsToFloat(R0i.z))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].y) * 1.0); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -PS1i = R127i.y; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R125i.y = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[2].x) + intBitsToFloat(R5i.y))); -PS0i = R125i.y; -// 3 -R127i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[2].y) + intBitsToFloat(R6i.w))); -R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(R9i.z) + intBitsToFloat(R9i.x))); -PV1i.y = R123i.y; -R125i.z = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[2].z) + intBitsToFloat(R4i.w))); -R7i.w = floatBitsToInt(max(intBitsToFloat(R4i.y), 0.0)); -R6i.x = floatBitsToInt(max(intBitsToFloat(R3i.x), 0.0)); -PS1i = R6i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * 1.0); -R123i.y = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(R9i.w) + intBitsToFloat(R9i.y))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[0].x) + intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[0].y) + intBitsToFloat(backupReg1i))); -R1i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + 0.5); -PS0i = R1i.x; -// 5 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[3].y) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[0].z) + intBitsToFloat(backupReg0i))); -R124i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[0].w) + intBitsToFloat(PV0i.x))); -R123i.w = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[3].x) + intBitsToFloat(R125i.y))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.5); -PS1i = R127i.x; -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[3].z) + intBitsToFloat(R125i.z))); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * 1.0); -R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[2].x) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[2].y) + intBitsToFloat(R126i.w))); -PV0i.w = R123i.w; -R127i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R127i.z; -// 7 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[2].w) + intBitsToFloat(R124i.z))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[2].z) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[3].x) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[3].y) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * 1.0); -PS1i = R126i.w; -// 8 -backupReg0i = R125i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[3].z) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)); -R124i.z = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R127i.z)); -R127i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[3].w) + intBitsToFloat(PV1i.x))); -R124i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[4].w))?int(0xFFFFFFFF):int(0x0)); -PS0i = R124i.w; -// 9 -R7i.x = floatBitsToInt(max(intBitsToFloat(R4i.x), 0.0)); -R1i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -PV1i.z = R127i.z; -R6i.w = R3i.w; -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 2.0); -R6i.y = floatBitsToInt(max(intBitsToFloat(R3i.y), 0.0)); -PS1i = R6i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),intBitsToFloat(PV1i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = floatBitsToInt(max(intBitsToFloat(R3i.z), 0.0)); -PS0i = R6i.z; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.0); -PS1i = R2i.x; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.w = tempi.x; -R2i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.0); -PS0i = R2i.y; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.w = tempi.x; -R3i.x = ((R124i.w == 0)?(R2i.x):(0x3f800000)); -PS1i = R3i.x; -// 14 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[9].z)); -R3i.y = ((R124i.w == 0)?(R2i.y):(0x3f800000)); -R3i.z = ((R124i.w == 0)?(R126i.w):(0x3f800000)); -R3i.w = ((R124i.w == 0)?(PV1i.x):(0x3f800000)); -R7i.z = floatBitsToInt(max(intBitsToFloat(R4i.z), 0.0)); -PS0i = R7i.z; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),intBitsToFloat(R127i.w),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].w),1.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 16 -R2i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x))); -// export -float origRatio = 1.777f; -float newRatio = ; - -gl_Position = vec4(intBitsToFloat(R3i.x)*(origRatio / newRatio), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem1 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.w), intBitsToFloat(R7i.z), intBitsToFloat(R7i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z)); -// 0 -} diff --git a/Source/XenobladeX/738c509776f2c113_0000000000000000_vs.txt b/Source/XenobladeX/738c509776f2c113_0000000000000000_vs.txt deleted file mode 100644 index e0becb89..00000000 --- a/Source/XenobladeX/738c509776f2c113_0000000000000000_vs.txt +++ /dev/null @@ -1,476 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 738c509776f2c113 // front lights -uniform ivec4 uf_remappedVS[10]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 3) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -// 0 -R123i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.z = R123i.z; -PV0i.w = R6i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -PS0i = R6i.y; -PS0i = floatBitsToInt(intBitsToFloat(PS0i) * 2.0); -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(fract(intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(fract(intBitsToFloat(PV0i.z))); -R125i.w = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PV0i.w)); -R10i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(PS0i)); -PS1i = R10i.y; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -R127i.y = R6i.z; -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R127i.z = R6i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) * 2.0); -PS0i = R127i.z; -// 3 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -R7i.z = R6i.w; -R7i.z = floatBitsToInt(intBitsToFloat(R7i.z) * 2.0); -PV1i.z = R7i.z; -R127i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -PV1i.w = R127i.w; -R126i.z = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R10i.y)); -PS1i = R126i.z; -// 4 -R11i.x = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R127i.y)); -R125i.y = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R127i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PV1i.z)); -R126i.w = R6i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R127i.y = floatBitsToInt(sin((intBitsToFloat(PV1i.w))/0.1591549367)); -PS0i = R127i.y; -// 5 -backupReg0i = R126i.z; -R126i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R8i.x)); -R124i.y = floatBitsToInt(intBitsToFloat(R2i.w) + -(0.5)); -R126i.z = PS0i; -R124i.w = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R127i.w))/0.1591549367)); -// 6 -R124i.x = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -R7i.y = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R8i.z)); -R124i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R8i.y)); -R127i.w = PS1i; -PV0i.w = R127i.w; -PS0i = floatBitsToInt(cos((intBitsToFloat(R127i.x))/0.1591549367)); -// 7 -R10i.x = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R0i.y = floatBitsToInt(-(intBitsToFloat(R127i.y)) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(sin((intBitsToFloat(R127i.x))/0.1591549367)); -// 8 -backupReg0i = R126i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R127i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PV0i.y = R127i.y; -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * 1.0); -R125i.x = floatBitsToInt(sin((intBitsToFloat(R126i.y))/0.1591549367)); -PS0i = R125i.x; -// 9 -R7i.x = R6i.x; -R7i.x = floatBitsToInt(intBitsToFloat(R7i.x) * 2.0); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -R1i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * 0.0 + intBitsToFloat(PV0i.w))); -R127i.w = floatBitsToInt(-(intBitsToFloat(PS0i))); -R0i.z = floatBitsToInt(cos((intBitsToFloat(R126i.y))/0.1591549367)); -PS1i = R0i.z; -// 10 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -R11i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(PS1i) + intBitsToFloat(PV1i.y))); -R127i.z = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R126i.w)); -R126i.w = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R7i.z)); -R0i.x = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(R11i.x)); -PS0i = R0i.x; -// 11 -backupReg0i = R125i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R127i.w) + intBitsToFloat(PV0i.x))); -R126i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(R125i.z)); -R125i.z = ((intBitsToFloat(R124i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R0i.w = floatBitsToInt(intBitsToFloat(R125i.y) + -(intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg1i)); -PS1i = R127i.y; -// 12 -backupReg0i = R127i.x; -backupReg1i = R125i.x; -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(R124i.z)); -R125i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * 1.0); -R124i.z = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R7i.y)); -R125i.w = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(R125i.x)); -R125i.x = floatBitsToInt(intBitsToFloat(R124i.x) * intBitsToFloat(backupReg1i)); -PS0i = R125i.x; -// 13 -backupReg0i = R0i.z; -backupReg0i = R0i.z; -R12i.x = floatBitsToInt((intBitsToFloat(R124i.x) * 0.0 + intBitsToFloat(R0i.y))); -R124i.y = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(R11i.y)); -PV1i.z = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(backupReg0i)); -R5i.w = floatBitsToInt(intBitsToFloat(R124i.x) * intBitsToFloat(backupReg0i)); -R1i.w = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(R126i.x)); -PS1i = R1i.w; -// 14 -R13i.x = floatBitsToInt((intBitsToFloat(R10i.x) * intBitsToFloat(R127i.w) + intBitsToFloat(PV1i.z))); -R0i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R125i.z) + intBitsToFloat(R5i.y))); -R126i.z = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(R1i.z)); -R127i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R125i.z) + intBitsToFloat(R5i.x))); -R4i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R126i.w)); -PS0i = R4i.w; -// 15 -R127i.x = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(R125i.z) + intBitsToFloat(R5i.z))); -R5i.y = 0; -R125i.z = floatBitsToInt(-(intBitsToFloat(R0i.x)) + 1.0); -R124i.w = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R7i.x)); -R127i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R8i.y)); -PS1i = R127i.y; -// 16 -backupReg0i = R125i.y; -backupReg1i = R6i.z; -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R8i.x)); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R126i.w))); -R6i.z = floatBitsToInt((intBitsToFloat(R10i.x) * 0.0 + intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(R7i.z)); -R6i.w = floatBitsToInt(intBitsToFloat(R0i.w) * intBitsToFloat(R11i.y)); -PS0i = R6i.w; -// 17 -backupReg0i = R124i.y; -R124i.x = floatBitsToInt(intBitsToFloat(R0i.w) * intBitsToFloat(R1i.z)); -R124i.y = floatBitsToInt(intBitsToFloat(R0i.w) * intBitsToFloat(R126i.x)); -R127i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(R125i.x) + intBitsToFloat(backupReg0i))); -R0i.w = floatBitsToInt((intBitsToFloat(R10i.x) * intBitsToFloat(R0i.z) + intBitsToFloat(R125i.w))); -R8i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -PS1i = R8i.x; -// 18 -backupReg0i = R0i.y; -backupReg1i = R126i.x; -backupReg2i = R126i.z; -R126i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(R5i.w) + intBitsToFloat(R1i.w))); -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(backupReg0i)); -R126i.z = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(backupReg1i)); -R127i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(R12i.x) + intBitsToFloat(backupReg2i))); -R127i.y = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(R1i.z)); -PS0i = R127i.y; -// 19 -backupReg0i = R127i.x; -backupReg1i = R126i.w; -R127i.x = floatBitsToInt(intBitsToFloat(R124i.w) + -(intBitsToFloat(R126i.w))); -PV1i.y = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(R11i.x)); -R7i.z = floatBitsToInt(intBitsToFloat(R5i.y) + intBitsToFloat(backupReg0i)); -R126i.w = floatBitsToInt(intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i)); -R124i.w = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(R11i.y)); -PS1i = R124i.w; -// 20 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(R0i.w) + intBitsToFloat(R127i.z))); -R123i.y = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(R12i.x) + intBitsToFloat(backupReg0i))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(R125i.x) + intBitsToFloat(R6i.w))); -R123i.w = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(R5i.w) + intBitsToFloat(R124i.y))); -PV0i.w = R123i.w; -R6i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -PS0i = R6i.x; -// 21 -backupReg0i = R5i.w; -R10i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R13i.x) + intBitsToFloat(PV0i.w))); -R123i.y = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(R13i.x) + intBitsToFloat(R126i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(R6i.z) + intBitsToFloat(R127i.w))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(backupReg0i) + intBitsToFloat(R126i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(R6i.z) + intBitsToFloat(PV0i.y))); -PS1i = R1i.z; -// 22 -backupReg0i = R0i.y; -backupReg1i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R11i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(backupReg1i) + intBitsToFloat(R127i.z))); -PS0i = R11i.x; -// 23 -backupReg0i = R12i.x; -R12i.x = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R125i.x) + intBitsToFloat(R124i.w))); -R5i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[0].x)); -R0i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[0].y)); -R4i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[0].z)); -PS1i = R4i.w; -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R10i.x),intBitsToFloat(R1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.w = tempi.x; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].x) * 1.0); -PS0i = R127i.z; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R0i.w) + intBitsToFloat(R12i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R13i.x) + intBitsToFloat(R5i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R6i.z) + intBitsToFloat(R0i.z))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].y) * 1.0); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -PS1i = R127i.y; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R125i.y = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[2].x) + intBitsToFloat(R5i.y))); -PS0i = R125i.y; -// 3 -R127i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[2].y) + intBitsToFloat(R6i.w))); -R123i.y = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(R9i.z) + intBitsToFloat(R9i.x))); -PV1i.y = R123i.y; -R125i.z = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[2].z) + intBitsToFloat(R4i.w))); -R7i.w = floatBitsToInt(max(intBitsToFloat(R4i.y), 0.0)); -R6i.x = floatBitsToInt(max(intBitsToFloat(R3i.x), 0.0)); -PS1i = R6i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.w; -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * 1.0); -R123i.y = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(R9i.w) + intBitsToFloat(R9i.y))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[0].x) + intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[0].y) + intBitsToFloat(backupReg1i))); -R1i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + 0.5); -PS0i = R1i.x; -// 5 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[3].y) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[0].z) + intBitsToFloat(backupReg0i))); -R124i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[0].w) + intBitsToFloat(PV0i.x))); -R123i.w = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[3].x) + intBitsToFloat(R125i.y))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.5); -PS1i = R127i.x; -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[3].z) + intBitsToFloat(R125i.z))); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * 1.0); -R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[2].x) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[2].y) + intBitsToFloat(R126i.w))); -PV0i.w = R123i.w; -R127i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R127i.z; -// 7 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[2].w) + intBitsToFloat(R124i.z))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[2].z) + intBitsToFloat(R127i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[3].x) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[3].y) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * 1.0); -PS1i = R126i.w; -// 8 -backupReg0i = R125i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[3].z) + intBitsToFloat(PV1i.y))); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(backupReg0i)); -R124i.z = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R127i.z)); -R127i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[3].w) + intBitsToFloat(PV1i.x))); -R124i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[4].w))?int(0xFFFFFFFF):int(0x0)); -PS0i = R124i.w; -// 9 -R7i.x = floatBitsToInt(max(intBitsToFloat(R4i.x), 0.0)); -R1i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -PV1i.z = R127i.z; -R6i.w = R3i.w; -R6i.w = floatBitsToInt(intBitsToFloat(R6i.w) * 2.0); -R6i.y = floatBitsToInt(max(intBitsToFloat(R3i.y), 0.0)); -PS1i = R6i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),intBitsToFloat(PV1i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = floatBitsToInt(max(intBitsToFloat(R3i.z), 0.0)); -PS0i = R6i.z; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.0); -PS1i = R2i.x; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.w = tempi.x; -R2i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.0); -PS0i = R2i.y; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.w = tempi.x; -R3i.x = ((R124i.w == 0)?(R2i.x):(0x3f800000)); -PS1i = R3i.x; -// 14 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[9].z)); -R3i.y = ((R124i.w == 0)?(R2i.y):(0x3f800000)); -R3i.z = ((R124i.w == 0)?(R126i.w):(0x3f800000)); -R3i.w = ((R124i.w == 0)?(PV1i.x):(0x3f800000)); -R7i.z = floatBitsToInt(max(intBitsToFloat(R4i.z), 0.0)); -PS0i = R7i.z; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),intBitsToFloat(R127i.w),intBitsToFloat(PV0i.x)),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].w),1.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 16 -R2i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x))); -// export - -float origRatio = 1.777f; -float newRatio = ; - -gl_Position = vec4(intBitsToFloat(R3i.x)*(origRatio / newRatio), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.w), intBitsToFloat(R7i.z), intBitsToFloat(R7i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.z)); -// 0 -} diff --git a/Source/XenobladeX/7d2d26ba00a66735_0000000000000000_vs.txt b/Source/XenobladeX/7d2d26ba00a66735_0000000000000000_vs.txt deleted file mode 100644 index 797ecb43..00000000 --- a/Source/XenobladeX/7d2d26ba00a66735_0000000000000000_vs.txt +++ /dev/null @@ -1,1429 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 7d2d26ba00a66735 -// waterfall cascade -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; -layout(location = 12) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 5) out vec4 passParameterSem5; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 4) out vec4 passParameterSem4; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -ivec4 R16i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem9.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem10; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem11; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R12i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem12.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R13i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem3.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(max(intBitsToFloat(R5i.x), -(intBitsToFloat(R5i.x)))); -PV0i.x = R126i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(max(intBitsToFloat(R5i.y), -(intBitsToFloat(R5i.y)))); -PV0i.z = R126i.z; -R126i.w = R5i.z; -R127i.z = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV0i.z))); -PS1i = R127i.x; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R126i.w))); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.w)); -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R127i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -R125i.x = R6i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 5 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R8i.x))); -R126i.z = R6i.z; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = R6i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R8i.z))); -PS1i = R125i.w; -// 6 -PV0i.x = R8i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R8i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R124i.y; -// 7 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R7i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.x)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R125i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.w))); -PS1i = R127i.x; -// 8 -R126i.x = R6i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = R6i.z; -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = R6i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R126i.z))); -R125i.x = R6i.w; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 9 -backupReg0i = R124i.x; -backupReg1i = R126i.y; -R124i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(backupReg0i)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg1i)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV0i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.y))); -PS1i = R127i.z; -// 10 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R7i.z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R125i.x))); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R125i.x))); -PS1i = R124i.x; -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R125i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.x)); -R1i.z = 0; -PS0i = R1i.z; -// 13 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R8i.x))); -PV1i.x = R5i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R8i.y))); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -R6i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R15i.x = 0; -PS1i = R15i.x; -// 14 -R5i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R8i.yzw = floatBitsToInt(vec3(intBitsToFloat(PV1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R126i.x)) + vec3(intBitsToFloat(R126i.z),intBitsToFloat(R126i.y),-(intBitsToFloat(R124i.x)))); -R6i.y = 0; -PS0i = R6i.y; -// 15 -R6i.x = 0x3f800000; -R5i.y = 0x3f800000; -R6i.z = 0; -R10i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R13i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R124i.x)); -PS1i = R13i.w; -// 16 -R1i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R125i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R125i.z))); -R14i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -PS0i = R14i.w; -// 17 -R4i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R13i.z = 0; -PS1i = R13i.z; -// 18 -R5i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R5i.w))/0.1591549367)); -// 19 -R126i.x = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R5i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R125i.y))/0.1591549367)); -// 22 -R15i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R14i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 23 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R15i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); -R5i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R124i.y))/0.1591549367)); -PS1i = R127i.w; -// 24 -R14i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R124i.y))/0.1591549367)); -// 25 -R7i.x = PS0i; -R14i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R7i.y = PS0i; -PS1i = R7i.y; -// 26 -R10i.z = floatBitsToInt(sqrt(intBitsToFloat(R0i.x))); -PS0i = R10i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R7i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R14i.z,R0i.w,R15i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R14i.x = uf_remappedVS[1].z; -PS0i = R14i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.y = uf_remappedVS[4].z; -PS1i = R14i.y; -// 4 -R14i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), -(intBitsToFloat(PV1i.x)))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R5i.x = PV1i.x; -PS0i = R5i.x; -// 9 -R8i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R8i.x; -PV1i.y = R8i.x; -PV1i.z = R8i.x; -PV1i.w = R8i.x; -R5i.y = R127i.y; -PS1i = R5i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R8i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.z = tempi.x; -// 12 -R15i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R15i.x; -PV0i.y = R15i.x; -PV0i.z = R15i.x; -PV0i.w = R15i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R15i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R15i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R7i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R14i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -R0i.x = uf_remappedVS[1].x; -PS0i = R0i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R6i.z))); -R0i.y = uf_remappedVS[1].y; -R0i.z = uf_remappedVS[1].z; -// 3 -R16i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R14i.y)) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R5i.z; -backupReg1i = R7i.x; -R5i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R6i.z))); -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg1i)) + intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -backupReg0i = R7i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R14i.x),intBitsToFloat(backupReg0i),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[1].y))); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R0i.z; -// 2 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[1].y))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[4].y))); -R16i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R16i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[4].y))); -// 5 -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[5].y))); -// 6 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[5].y))); -// 7 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.y))); -R16i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.w))); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R126i.x))); -PS0i = R5i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R7i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R0i.y = 0; -R0i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R16i.y = 0x3f800000; -PS0i = R16i.y; -// 1 -R5i.y = 0; -R16i.z = 0; -R5i.z = uf_remappedVS[1].x; -PS1i = R5i.z; -// 2 -R7i.z = 0; -// 3 -R13i.z = R10i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -R8i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R8i.x; -PV0i.y = R8i.x; -PV0i.z = R8i.x; -PV0i.w = R8i.x; -R14i.x = backupReg1i; -PS0i = R14i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R16i.x),intBitsToFloat(R16i.y),intBitsToFloat(R16i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.y = tempi.x; -R14i.y = R16i.z; -PS1i = R14i.y; -// 2 -backupReg0i = R8i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.z = tempi.x; -R14i.z = R5i.z; -PS0i = R14i.z; -// 3 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R15i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = R15i.x; -PV1i.y = R15i.x; -PV1i.z = R15i.x; -PV1i.w = R15i.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R16i.z))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R16i.x),intBitsToFloat(R16i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R15i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.z))); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R15i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R8i.x = R8i.z; -R8i.z = R5i.x; -R5i.x = R5i.z; -PS0i = R5i.x; -// 1 -R5i.y = R1i.y; -R5i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R8i.y):(R5i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R8i.z):(R8i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R5i.x):(R8i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R8i.y; -R8i.x = ((R127i.y == 0)?(PV1i.x):(R5i.x)); -R8i.y = ((R127i.y == 0)?(PV1i.w):(R8i.z)); -R8i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R5i.z):(R5i.z)); -PV0i.w = R123i.w; -R5i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R5i.x; -// 3 -backupReg0i = R5i.y; -R6i.x = ((R127i.y == 0)?(0):(R15i.x)); -R5i.y = ((R127i.y == 0)?(R127i.z):(R5i.z)); -R5i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R6i.y = ((R127i.y == 0)?(0):(backupReg0i)); -PS1i = R6i.y; -// 4 -backupReg0i = R6i.z; -R6i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.y), intBitsToFloat(R14i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R15i.z) * 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R14i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R7i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.y), intBitsToFloat(R7i.y))); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R14i.z) * 1.0); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R7i.x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R14i.y)) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R14i.x))); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R7i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.z))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.x))); -PS0i = R126i.x; -// 3 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R7i.x)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(R5i.w) * 0.0 + intBitsToFloat(R127i.y))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R14i.y)) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(R126i.w))); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(R125i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R7i.z = 0; -PS0i = R7i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(PV0i.y))); -PS1i = R125i.z; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R14i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R14i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -// 7 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R14i.w),intBitsToFloat(R124i.z)) + intBitsToFloat(R127i.w))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R125i.z; -backupReg1i = R127i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.y))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R126i.z))); -// 9 -backupReg0i = R124i.z; -backupReg1i = R125i.y; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R124i.z)) + intBitsToFloat(R126i.w))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.x))); -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R124i.y),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y)) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.w = tempi.x; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[6].x))); -PS1i = R126i.w; -// 12 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_remappedVS[6].z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].y))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedVS[6].x))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedVS[6].y))); -PS0i = R126i.y; -// 13 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R126i.w))); -PS1i = R125i.x; -// 14 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R124i.y)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R124i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R127i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R125i.z))); -// 15 -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R125i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 16 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w))); -PV0i.x = R124i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedVS[6].z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_remappedVS[6].x))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_remappedVS[6].y))); -// 17 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(PV0i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].z))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R126i.y))); -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(PS0i))); -PS1i = R126i.x; -// 18 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R125i.z))); -PS0i = R127i.y; -// 19 -backupReg0i = R0i.x; -backupReg1i = R127i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(backupReg1i))); -PS1i = R127i.w; -// 20 -R14i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R127i.x))); -R14i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(R125i.w))); -R14i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(R127i.y))); -R15i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R124i.y))); -PS0i = R15i.x; -// 21 -R15i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(R126i.x))); -R15i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(R127i.w))); -// 22 -R13i.z = R10i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -R4i.w = 0; -PS0i = R4i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R10i.z = R3i.w; -R10i.z = floatBitsToInt(intBitsToFloat(R10i.z) * 2.0); -PS1i = R10i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].w)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R5i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R5i.x; -// 3 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV0i.z))); -PV1i.x = R127i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.y))); -PV1i.y = R126i.y; -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.w))); -PV1i.z = R125i.z; -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].w)) + intBitsToFloat(PV0i.x))); -PV1i.w = R2i.w; -R127i.y = floatBitsToInt((intBitsToFloat(R9i.w) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.y; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.w = floatBitsToInt((intBitsToFloat(R13i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R126i.w; -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R7i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(intBitsToFloat(R13i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R13i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(PV1i.z))); -R127i.z = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R127i.w = ((intBitsToFloat(PV1i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R126i.z; -// 7 -R0i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.y = floatBitsToInt((intBitsToFloat(R13i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -R123i.z = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.z = R123i.z; -R123i.w = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R127i.z))); -PV0i.z = floatBitsToInt(fract(intBitsToFloat(R126i.w))); -PV0i.w = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -R122i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS0i = R122i.x; -// 9 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3e22f983)); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS1i = R2i.z; -// 10 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + -(0.0)); -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e22f983)); -R124i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e22f983)); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R125i.y = floatBitsToInt(sin((intBitsToFloat(PV1i.z))/0.1591549367)); -PS0i = R125i.y; -// 11 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -R13i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R0i.z = floatBitsToInt(cos((intBitsToFloat(R127i.z))/0.1591549367)); -PS1i = R0i.z; -// 12 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV1i.w))); -PV0i.x = R125i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV1i.w))); -PV0i.y = R124i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PV1i.w))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R125i.w = floatBitsToInt(sin((intBitsToFloat(R127i.y))/0.1591549367)); -PS0i = R125i.w; -// 13 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.z))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R126i.z))); -R4i.z = floatBitsToInt(cos((intBitsToFloat(R127i.y))/0.1591549367)); -PS1i = R4i.z; -// 14 -R2i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -PV0i.x = R2i.x; -R0i.y = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(PV1i.x)); -PV0i.y = R0i.y; -R6i.z = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = R6i.z; -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R2i.y = floatBitsToInt(sin((intBitsToFloat(R124i.z))/0.1591549367)); -PS0i = R2i.y; -// 15 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -R127i.x = floatBitsToInt(cos((intBitsToFloat(R124i.z))/0.1591549367)); -PS1i = R127i.x; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R0i.y),intBitsToFloat(R6i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PS0i = R1i.w; -// 17 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.z = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R2i.y))); -PS1i = R126i.y; -// 18 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R6i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(R1i.y)) + intBitsToFloat(R126i.w))); -PS0i = R6i.w; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(R1i.y)) + intBitsToFloat(R124i.w))); -PS1i = R2i.z; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R0i.w; -// 21 -backupReg0i = R0i.z; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(R126i.y))); -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedVS[12].w))); -R5i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y)) + intBitsToFloat(R1i.z))); -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -PS1i = R1i.z; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(R0i.w))); -PS0i = R126i.y; -// 1 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R13i.x))); -PS1i = R127i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R126i.y)); -PS0i = R125i.w; -// 3 -backupReg0i = R127i.x; -R127i.x = ((R0i.x == 0)?(PS0i):(PS0i)); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R5i.z))); -R126i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(backupReg0i)); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[0].z))); -R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R2i.y)),intBitsToFloat(R1i.y)) + intBitsToFloat(R1i.w))); -PS1i = R127i.z; -// 4 -backupReg0i = R2i.x; -backupReg1i = R0i.y; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R6i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R125i.x = ((R0i.x == 0)?(PV1i.w):(R4i.w)); -PS0i = R125i.x; -// 5 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -R0i.x = ((R5i.x == 0)?(R127i.x):(0x3f800000)); -R123i.y = ((backupReg0i == 0)?(R126i.z):(R126i.z)); -PV1i.y = R123i.y; -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(R5i.w)) + intBitsToFloat(R9i.y))); -R123i.w = ((backupReg0i == 0)?(PV0i.x):(PV0i.x)); -PV1i.w = R123i.w; -R124i.y = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -PS1i = R124i.y; -// 6 -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.z),intBitsToFloat(R2i.z)) + intBitsToFloat(R11i.x))); -R1i.y = ((R5i.x == 0)?(PV1i.y):(0x3f800000)); -R4i.z = ((R5i.x == 0)?(R125i.x):(0x3f800000)); -R0i.w = ((R5i.x == 0)?(PV1i.w):(0x3f800000)); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(R11i.y))); -PS0i = R125i.z; -// 7 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R15i.x),intBitsToFloat(R15i.y),intBitsToFloat(R15i.z),-0.0),vec4(intBitsToFloat(R15i.x),intBitsToFloat(R15i.y),intBitsToFloat(R15i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R6i.w)) + intBitsToFloat(R9i.x))); -PS1i = R125i.x; -// 8 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R14i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(R12i.x))); -PS0i = R10i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R14i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R13i.y)) + intBitsToFloat(R12i.y))); -PS1i = R127i.w; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R14i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R9i.x = floatBitsToInt(intBitsToFloat(R125i.x) + 0.5); -PS0i = R9i.x; -// 11 -backupReg0i = R126i.y; -backupReg0i = R126i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -R2i.y = floatBitsToInt(intBitsToFloat(R124i.z) + 0.5); -PS1i = R2i.y; -// 12 -R8i.x = floatBitsToInt(intBitsToFloat(R124i.x) + 0.5); -R7i.y = floatBitsToInt(intBitsToFloat(R125i.z) + 0.5); -R125i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R124i.w = floatBitsToInt(-(intBitsToFloat(R8i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.x)); -PS0i = floatBitsToInt(tempResultf); -// 13 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.x), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.y), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.z), intBitsToFloat(PS0i))); -R5i.x = floatBitsToInt(intBitsToFloat(R10i.x) + 0.5); -PS1i = R5i.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.y = floatBitsToInt(intBitsToFloat(R127i.w) + 0.5); -PS0i = R8i.y; -// 15 -backupReg0i = R0i.y; -R1i.x = 0; -R0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedVS[14].w))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -// 16 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R9i.y = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0); -R0i.z = 0; -R1i.w = 0; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -PS0i = floatBitsToInt(tempResultf); -// 17 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[20].x)) + intBitsToFloat(R6i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[20].z)) + intBitsToFloat(R5i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[20].y)) + intBitsToFloat(R7i.z))); -PV1i.w = R123i.w; -R11i.x = ((R125i.z == 0)?(R1i.x):(R125i.w)); -PS1i = R11i.x; -// 18 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R11i.y = ((R125i.z == 0)?(backupReg0i):(R126i.z)); -PS0i = R11i.y; -// 19 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(uf_remappedVS[14].y))); -R11i.z = ((R125i.z == 0)?(R0i.z):(R124i.w)); -PS1i = R11i.z; -// 20 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.z))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(R1i.z)); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.x))); -R11i.w = ((R125i.z == 0)?(R1i.w):(backupReg0i)); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV1i.y))); -PS0i = R2i.y; -// 21 -backupReg0i = R8i.y; -R8i.y = floatBitsToInt(-(intBitsToFloat(R7i.y)) + 1.0); -R5i.z = R4i.x; -R123i.w = ((R124i.y == 0)?(PV0i.y):(0x3f800000)); -PV1i.w = R123i.w; -R5i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PS1i = R5i.y; -// 22 -R0i.z = PV1i.w; -R0i.z = clampFI32(R0i.z); -R5i.w = R4i.y; -// 23 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R10i.z; -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R10i.z; -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R10i.z))); -PS0i = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(R8i.z)); -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.w; -R0i.x = ((PV0i.x == 0)?(backupReg0i):(0x3f800000)); -R0i.y = ((PV0i.x == 0)?(R1i.y):(0x3f800000)); -R0i.z = ((PV0i.x == 0)?(R4i.z):(0x3f800000)); -R0i.w = ((PV0i.x == 0)?(backupReg1i):(0x3f800000)); -R122i.x = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(R6i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -R123i.z = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(R7i.x) + intBitsToFloat(PS1i))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedVS[21].y))); -// 3 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(tempResultf); -// 4 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedVS[21].z))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].z), intBitsToFloat(R127i.z))); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(R126i.y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R123i.x = clampFI32(R123i.x); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(min(intBitsToFloat(PS1i), 1.0)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedVS[21].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedVS[24].w))); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedVS[25].w))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedVS[19].w))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 11 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].y)) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].x)) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R126i.y; -// 12 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[24].z)) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.y = R123i.y; -// 13 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[25].x)) + intBitsToFloat(R127i.w))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[25].y)) + intBitsToFloat(R127i.z))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[25].z)) + intBitsToFloat(PV0i.y))); -} -// export - -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) - -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R11i.x)*(origRatio / newRatio), intBitsToFloat(R11i.y), intBitsToFloat(R11i.z), intBitsToFloat(R11i.w)); -// export -passParameterSem5 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R8i.x), intBitsToFloat(R8i.y), intBitsToFloat(R8i.z), intBitsToFloat(R8i.z)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/7ec11ebc6ad99936_0000000000000000_vs.txt b/Source/XenobladeX/7ec11ebc6ad99936_0000000000000000_vs.txt deleted file mode 100644 index c6fbf070..00000000 --- a/Source/XenobladeX/7ec11ebc6ad99936_0000000000000000_vs.txt +++ /dev/null @@ -1,1424 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 7ec11ebc6ad99936 -//Raindrops opening scene -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; -layout(location = 12) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem3; -layout(location = 3) out vec4 passParameterSem4; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -ivec4 R16i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem9.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem10; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem11; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R12i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem12.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R13i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem3.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(max(intBitsToFloat(R5i.x), -(intBitsToFloat(R5i.x)))); -PV0i.x = R126i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(max(intBitsToFloat(R5i.y), -(intBitsToFloat(R5i.y)))); -PV0i.z = R126i.z; -R126i.w = R5i.z; -R127i.z = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -R127i.w = floatBitsToInt(intBitsToFloat(R8i.x) * intBitsToFloat(PV0i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(PV0i.z)); -PS1i = R127i.x; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(R126i.w)); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.w)); -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R127i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R124i.w) + intBitsToFloat(R126i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R126i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -R125i.x = R6i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 5 -R124i.x = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R8i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R8i.x)); -R126i.z = R6i.z; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = R6i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R8i.z)); -PS1i = R125i.w; -// 6 -PV0i.x = R8i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R8i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R124i.y; -// 7 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R7i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R125i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R127i.w)); -PS1i = R127i.x; -// 8 -R126i.x = R6i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = R6i.z; -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = R6i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R126i.z)); -R125i.x = R6i.w; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 9 -backupReg0i = R124i.x; -backupReg1i = R126i.y; -R124i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(backupReg0i)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg1i)); -R0i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PV0i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PV0i.y)); -PS1i = R127i.z; -// 10 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R7i.z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R125i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(backupReg0i)); -R126i.y = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R125i.x)); -R124i.x = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R125i.x)); -PS1i = R124i.x; -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R125i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.x)); -R1i.z = 0; -PS0i = R1i.z; -// 13 -R5i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R8i.x)); -PV1i.x = R5i.x; -R0i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R8i.y)); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -R6i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R15i.x = 0; -PS1i = R15i.x; -// 14 -R5i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R8i.yzw = floatBitsToInt(vec3(intBitsToFloat(PV1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R126i.x)) + vec3(intBitsToFloat(R126i.z),intBitsToFloat(R126i.y),-(intBitsToFloat(R124i.x)))); -R6i.y = 0; -PS0i = R6i.y; -// 15 -R6i.x = 0x3f800000; -R5i.y = 0x3f800000; -R6i.z = 0; -R10i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R13i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R124i.x)); -PS1i = R13i.w; -// 16 -R1i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R125i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R125i.z))); -R14i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -PS0i = R14i.w; -// 17 -R4i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R13i.z = 0; -PS1i = R13i.z; -// 18 -R5i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R5i.w))/0.1591549367)); -// 19 -R126i.x = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R5i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R125i.y))/0.1591549367)); -// 22 -R15i.y = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS1i)); -R14i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 23 -R0i.y = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS0i)); -R15i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -R5i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R124i.y))/0.1591549367)); -PS1i = R127i.w; -// 24 -R14i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R124i.y))/0.1591549367)); -// 25 -R7i.x = PS0i; -R14i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R7i.y = PS0i; -PS1i = R7i.y; -// 26 -R10i.z = floatBitsToInt(sqrt(intBitsToFloat(R0i.x))); -PS0i = R10i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R7i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R14i.z,R0i.w,R15i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R14i.x = uf_remappedVS[1].z; -PS0i = R14i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.y = uf_remappedVS[4].z; -PS1i = R14i.y; -// 4 -R14i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * -(intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.x) * -(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R8i.y) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R5i.x = PV1i.x; -PS0i = R5i.x; -// 9 -R8i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R8i.x; -PV1i.y = R8i.x; -PV1i.z = R8i.x; -PV1i.w = R8i.x; -R5i.y = R127i.y; -PS1i = R5i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R8i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.z = tempi.x; -// 12 -R15i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R15i.x; -PV0i.y = R15i.x; -PV0i.z = R15i.x; -PV0i.w = R15i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R15i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R15i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R7i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R14i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -R0i.x = uf_remappedVS[1].x; -PS0i = R0i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R6i.z)); -R0i.y = uf_remappedVS[1].y; -R0i.z = uf_remappedVS[1].z; -// 3 -R16i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(R14i.y) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R5i.z; -backupReg1i = R7i.x; -R5i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R6i.z)); -R7i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(backupReg1i) + intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -backupReg0i = R7i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R14i.x),intBitsToFloat(backupReg0i),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[1].y)); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R0i.z; -// 2 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[1].y)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[4].y)); -R16i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R16i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[4].y)); -// 5 -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 7 -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R5i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.y))); -R16i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w))); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R5i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R126i.x))); -PS0i = R5i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R7i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R0i.y = 0; -R0i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R16i.y = 0x3f800000; -PS0i = R16i.y; -// 1 -R5i.y = 0; -R16i.z = 0; -R5i.z = uf_remappedVS[1].x; -PS1i = R5i.z; -// 2 -R7i.z = 0; -// 3 -R13i.z = R10i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -R8i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R8i.x; -PV0i.y = R8i.x; -PV0i.z = R8i.x; -PV0i.w = R8i.x; -R14i.x = backupReg1i; -PS0i = R14i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R16i.x),intBitsToFloat(R16i.y),intBitsToFloat(R16i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.y = tempi.x; -R14i.y = R16i.z; -PS1i = R14i.y; -// 2 -backupReg0i = R8i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.z = tempi.x; -R14i.z = R5i.z; -PS0i = R14i.z; -// 3 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R15i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = R15i.x; -PV1i.y = R15i.x; -PV1i.z = R15i.x; -PV1i.w = R15i.x; -PS1i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R16i.z)); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R16i.x),intBitsToFloat(R16i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R15i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R5i.z)); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R15i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R8i.x = R8i.z; -R8i.z = R5i.x; -R5i.x = R5i.z; -PS0i = R5i.x; -// 1 -R5i.y = R1i.y; -R5i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R8i.y):(R5i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R8i.z):(R8i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R5i.x):(R8i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R8i.y; -R8i.x = ((R127i.y == 0)?(PV1i.x):(R5i.x)); -R8i.y = ((R127i.y == 0)?(PV1i.w):(R8i.z)); -R8i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R5i.z):(R5i.z)); -PV0i.w = R123i.w; -R5i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R5i.x; -// 3 -backupReg0i = R5i.y; -R6i.x = ((R127i.y == 0)?(0):(R15i.x)); -R5i.y = ((R127i.y == 0)?(R127i.z):(R5i.z)); -R5i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R6i.y = ((R127i.y == 0)?(0):(backupReg0i)); -PS1i = R6i.y; -// 4 -backupReg0i = R6i.z; -R6i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R15i.y) * intBitsToFloat(R14i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(R15i.z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R14i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R7i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R15i.y) * intBitsToFloat(R7i.y)); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R14i.z) * 1.0); -R125i.z = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R14i.y) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R14i.x)); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R7i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.z)); -R126i.x = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.x)); -PS0i = R126i.x; -// 3 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R7i.x) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(R5i.w) * 0.0 + intBitsToFloat(R127i.y))); -R124i.z = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R14i.y) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(R125i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(R126i.w)); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -R126i.x = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(R125i.x)); -R126i.z = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R7i.z = 0; -PS0i = R7i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt(intBitsToFloat(R10i.w) * intBitsToFloat(R126i.w)); -R127i.y = floatBitsToInt(intBitsToFloat(R10i.w) * intBitsToFloat(R125i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R10i.w) * intBitsToFloat(backupReg0i)); -R126i.w = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R124i.x) + intBitsToFloat(PV0i.y))); -PS1i = R125i.z; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((intBitsToFloat(R14i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(R14i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i))); -// 7 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((intBitsToFloat(R14i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R127i.w))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R125i.z; -backupReg1i = R127i.y; -R124i.x = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(PV1i.y)); -R125i.z = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R126i.z)); -// 9 -backupReg0i = R124i.z; -backupReg1i = R125i.y; -R0i.x = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R126i.w))); -R124i.z = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.x))); -R0i.w = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(backupReg1i) + intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R124i.y),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R124i.y) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.w = tempi.x; -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].x)); -PS1i = R126i.w; -// 12 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(R126i.z) + intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[6].z)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].y)); -R125i.w = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].x)); -R126i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].y)); -PS0i = R126i.y; -// 13 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R125i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R126i.w))); -PS1i = R125i.x; -// 14 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(R124i.y) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R124i.x)); -R123i.z = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R127i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R125i.z)); -// 15 -R8i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R125i.x))); -R8i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.w))); -R8i.z = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 16 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w))); -PV0i.x = R124i.x; -R125i.y = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(R125i.z) + intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R125i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].z)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[6].x)); -PS0i = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[6].y)); -// 17 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV0i.w))); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].z)); -R125i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R126i.y))); -R126i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PS0i))); -PS1i = R126i.x; -// 18 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R125i.z))); -PS0i = R127i.y; -// 19 -backupReg0i = R0i.x; -backupReg1i = R127i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(backupReg1i))); -PS1i = R127i.w; -// 20 -R14i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R127i.x))); -R14i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R125i.w))); -R14i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R127i.y))); -R15i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R124i.y))); -PS0i = R15i.x; -// 21 -R15i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R126i.x))); -R15i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R127i.w))); -// 22 -R13i.z = R10i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -R4i.w = 0; -PS0i = R4i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].y) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].x) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].z) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R10i.z = R3i.w; -R10i.z = floatBitsToInt(intBitsToFloat(R10i.z) * 2.0); -PS1i = R10i.z; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R5i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R5i.x; -// 3 -R127i.x = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV0i.z))); -PV1i.x = R127i.x; -R126i.y = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.y))); -PV1i.y = R126i.y; -R125i.z = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.w))); -PV1i.z = R125i.z; -R2i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].w) + intBitsToFloat(PV0i.x))); -PV1i.w = R2i.w; -R127i.y = floatBitsToInt((intBitsToFloat(R9i.w) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.y; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.w = floatBitsToInt((intBitsToFloat(R13i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R126i.w; -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R7i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(intBitsToFloat(R13i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R13i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(PV1i.z))); -R127i.z = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R127i.w = ((intBitsToFloat(PV1i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R126i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R126i.z; -// 7 -R0i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.y = floatBitsToInt((intBitsToFloat(R13i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -R123i.z = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.z = R123i.z; -R123i.w = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(R127i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(R127i.z)); -PV0i.z = floatBitsToInt(fract(intBitsToFloat(R126i.w))); -PV0i.w = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -R122i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS0i = R122i.x; -// 9 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3e22f983)); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -R2i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS1i = R2i.z; -// 10 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + -(0.0)); -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3e22f983)); -R124i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e22f983)); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R125i.y = floatBitsToInt(sin((intBitsToFloat(PV1i.z))/0.1591549367)); -PS0i = R125i.y; -// 11 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -R13i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R1i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R0i.z = floatBitsToInt(cos((intBitsToFloat(R127i.z))/0.1591549367)); -PS1i = R0i.z; -// 12 -R125i.x = floatBitsToInt(intBitsToFloat(R8i.x) * intBitsToFloat(PV1i.w)); -PV0i.x = R125i.x; -R124i.y = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(PV1i.w)); -PV0i.y = R124i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(PV1i.w)); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R125i.w = floatBitsToInt(sin((intBitsToFloat(R127i.y))/0.1591549367)); -PS0i = R125i.w; -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(R126i.z)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R126i.z)); -R5i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(R126i.z)); -R4i.z = floatBitsToInt(cos((intBitsToFloat(R127i.y))/0.1591549367)); -PS1i = R4i.z; -// 14 -R2i.x = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.y)); -PV0i.x = R2i.x; -R0i.y = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(PV1i.x)); -PV0i.y = R0i.y; -R6i.z = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = R6i.z; -R124i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R2i.y = floatBitsToInt(sin((intBitsToFloat(R124i.z))/0.1591549367)); -PS0i = R2i.y; -// 15 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -R127i.x = floatBitsToInt(cos((intBitsToFloat(R124i.z))/0.1591549367)); -PS1i = R127i.x; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R0i.y),intBitsToFloat(R6i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -R1i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -PS0i = R1i.w; -// 17 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.z = tempi.x; -R126i.y = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R2i.y)); -PS1i = R126i.y; -// 18 -R6i.x = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R5i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R7i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R6i.w = floatBitsToInt((-(intBitsToFloat(R125i.y)) * intBitsToFloat(R1i.y) + intBitsToFloat(R126i.w))); -PS0i = R6i.w; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.z = floatBitsToInt((-(intBitsToFloat(R125i.w)) * intBitsToFloat(R1i.y) + intBitsToFloat(R124i.w))); -PS1i = R2i.z; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R0i.w; -// 21 -backupReg0i = R0i.z; -backupReg1i = R13i.y; -R13i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R13i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(R126i.y))); -R0i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[12].w)); -R5i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R1i.y) + intBitsToFloat(R1i.z))); -R1i.z = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -PS1i = R1i.z; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R126i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(R0i.w)); -PS0i = R126i.y; -// 1 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R13i.x)); -PS1i = R127i.x; -// 2 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R6i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(R126i.y)); -PS0i = R125i.w; -// 3 -backupReg0i = R127i.x; -R127i.x = ((R0i.x == 0)?(PS0i):(PS0i)); -R126i.y = floatBitsToInt((intBitsToFloat(R4i.z) * intBitsToFloat(R1i.y) + intBitsToFloat(R5i.z))); -R126i.z = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(backupReg0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[0].z)); -R127i.z = floatBitsToInt((-(intBitsToFloat(R2i.y)) * intBitsToFloat(R1i.y) + intBitsToFloat(R1i.w))); -PS1i = R127i.z; -// 4 -backupReg0i = R2i.x; -backupReg1i = R0i.y; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R6i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV0i.x = R2i.x; -PV0i.y = R2i.x; -PV0i.z = R2i.x; -PV0i.w = R2i.x; -R125i.x = ((R0i.x == 0)?(PV1i.w):(R4i.w)); -PS0i = R125i.x; -// 5 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -R0i.x = ((R5i.x == 0)?(R127i.x):(0x3f800000)); -R123i.y = ((backupReg0i == 0)?(R126i.z):(R126i.z)); -PV1i.y = R123i.y; -R124i.z = floatBitsToInt((intBitsToFloat(R10i.y) * intBitsToFloat(R5i.w) + intBitsToFloat(R9i.y))); -R123i.w = ((backupReg0i == 0)?(PV0i.x):(PV0i.x)); -PV1i.w = R123i.w; -R124i.y = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -PS1i = R124i.y; -// 6 -R124i.x = floatBitsToInt((intBitsToFloat(R11i.z) * intBitsToFloat(R2i.z) + intBitsToFloat(R11i.x))); -R1i.y = ((R5i.x == 0)?(PV1i.y):(0x3f800000)); -R4i.z = ((R5i.x == 0)?(R125i.x):(0x3f800000)); -R0i.w = ((R5i.x == 0)?(PV1i.w):(0x3f800000)); -R125i.z = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(R126i.y) + intBitsToFloat(R11i.y))); -PS0i = R125i.z; -// 7 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R15i.x),intBitsToFloat(R15i.y),intBitsToFloat(R15i.z),-0.0),vec4(intBitsToFloat(R15i.x),intBitsToFloat(R15i.y),intBitsToFloat(R15i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R125i.x = floatBitsToInt((intBitsToFloat(R10i.x) * intBitsToFloat(R6i.w) + intBitsToFloat(R9i.x))); -PS1i = R125i.x; -// 8 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R14i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -R10i.x = floatBitsToInt((intBitsToFloat(R12i.z) * intBitsToFloat(R127i.z) + intBitsToFloat(R12i.x))); -PS0i = R10i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R14i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R13i.y) + intBitsToFloat(R12i.y))); -PS1i = R127i.w; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R14i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R9i.x = floatBitsToInt(intBitsToFloat(R125i.x) + 0.5); -PS0i = R9i.x; -// 11 -backupReg0i = R126i.y; -backupReg0i = R126i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -R2i.y = floatBitsToInt(intBitsToFloat(R124i.z) + 0.5); -PS1i = R2i.y; -// 12 -R8i.x = floatBitsToInt(intBitsToFloat(R124i.x) + 0.5); -R7i.y = floatBitsToInt(intBitsToFloat(R125i.z) + 0.5); -R125i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R124i.w = floatBitsToInt(-(intBitsToFloat(R8i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.x)); -PS0i = floatBitsToInt(tempResultf); -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(R15i.x) * intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(intBitsToFloat(R15i.y) * intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(R15i.z) * intBitsToFloat(PS0i)); -R5i.x = floatBitsToInt(intBitsToFloat(R10i.x) + 0.5); -PS1i = R5i.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.y = floatBitsToInt(intBitsToFloat(R127i.w) + 0.5); -PS0i = R8i.y; -// 15 -backupReg0i = R0i.y; -R1i.x = 0; -R0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedVS[14].w))); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -// 16 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R9i.y = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0); -R0i.z = 0; -R1i.w = 0; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.y)); -PS0i = floatBitsToInt(tempResultf); -// 17 -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[20].x) + intBitsToFloat(R6i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[20].z) + intBitsToFloat(R5i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[20].y) + intBitsToFloat(R7i.z))); -PV1i.w = R123i.w; -R11i.x = ((R125i.z == 0)?(R1i.x):(R125i.w)); -PS1i = R11i.x; -// 18 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R11i.y = ((R125i.z == 0)?(backupReg0i):(R126i.z)); -PS0i = R11i.y; -// 19 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(uf_remappedVS[14].y))); -R11i.z = ((R125i.z == 0)?(R0i.z):(R124i.w)); -PS1i = R11i.z; -// 20 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(R1i.z)); -R2i.z = floatBitsToInt(intBitsToFloat(R3i.z) * intBitsToFloat(PV1i.x)); -R11i.w = ((R125i.z == 0)?(R1i.w):(backupReg0i)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(PV1i.y)); -PS0i = R2i.y; -// 21 -backupReg0i = R8i.y; -R8i.y = floatBitsToInt(-(intBitsToFloat(R7i.y)) + 1.0); -R5i.z = R4i.x; -R123i.w = ((R124i.y == 0)?(PV0i.y):(0x3f800000)); -PV1i.w = R123i.w; -R5i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PS1i = R5i.y; -// 22 -R0i.z = PV1i.w; -R0i.z = clampFI32(R0i.z); -R5i.w = R4i.y; -// 23 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R10i.z; -R10i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R8i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R10i.z; -R10i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R2i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R10i.z)); -PS0i = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(R8i.z)); -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.w; -R0i.x = ((PV0i.x == 0)?(backupReg0i):(0x3f800000)); -R0i.y = ((PV0i.x == 0)?(R1i.y):(0x3f800000)); -R0i.z = ((PV0i.x == 0)?(R4i.z):(0x3f800000)); -R0i.w = ((PV0i.x == 0)?(backupReg1i):(0x3f800000)); -R122i.x = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(R6i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -R123i.z = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(R7i.x) + intBitsToFloat(PS1i))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].y)); -// 3 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(tempResultf); -// 4 -R127i.x = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(PS1i)); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(PS1i)); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(PS1i)); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].z)); -PS0i = floatBitsToInt(intBitsToFloat(uf_remappedVS[23].z) * intBitsToFloat(R127i.z)); -// 7 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[23].y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[23].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R123i.x = clampFI32(R123i.x); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(min(intBitsToFloat(PS1i), 1.0)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[21].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].w)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[25].w)); -R1i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[19].w)); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 11 -R127i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].y) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].x) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R126i.y; -// 12 -R123i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[24].z) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.y = R123i.y; -// 13 -R1i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].x) + intBitsToFloat(R127i.w))); -R1i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].y) + intBitsToFloat(R127i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].z) + intBitsToFloat(PV0i.y))); -} -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -// skipped export to semanticId 255 -// export -// skipped export to semanticId 255 -// export -passParameterSem3 = vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R8i.x), intBitsToFloat(R8i.y), intBitsToFloat(R8i.z), intBitsToFloat(R8i.z)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/8236d4df96d36e25_0000000000000000_vs.txt b/Source/XenobladeX/8236d4df96d36e25_0000000000000000_vs.txt deleted file mode 100644 index 37dd2332..00000000 --- a/Source/XenobladeX/8236d4df96d36e25_0000000000000000_vs.txt +++ /dev/null @@ -1,301 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 8236d4df96d36e25 -//invation cutscene skell weapons -uniform ivec4 uf_remappedVS[13]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem6; -layout(location = 6) in uvec4 attrDataSem7; -layout(location = 7) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 3) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.w) + -(0.5)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R7i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R7i.x))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R7i.z))); -// 1 -R123i.x = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PV0i.y)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(PV0i.z))); -PS1i = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(PS0i)); -// 2 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(R5i.x))); -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(R5i.y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.x)) + intBitsToFloat(R5i.z))); -PV0i.w = R123i.w; -PS0i = 0; -// 3 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983)); -PV1i.x = R126i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R7i.y))); -R126i.w = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.w)); -R125i.z = 0; -PS1i = R125i.z; -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(backupReg0i)); -R125i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].y) * 1.0); -PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.x))/0.1591549367)); -// 5 -backupReg0i = R126i.x; -R126i.x = PS0i; -R127i.y = floatBitsToInt(-(intBitsToFloat(PS0i))); -R126i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].z) * 1.0); -R125i.w = R126i.w; -PS1i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 6 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -PV0i.x = PS1i; -R126i.y = PS1i; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].w) * 1.0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].x)) + intBitsToFloat(backupReg0i))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].y)) + intBitsToFloat(backupReg1i))); -PS0i = R124i.w; -// 7 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.w),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].z)) + intBitsToFloat(R126i.z))); -PS1i = R127i.y; -// 8 -backupReg0i = R126i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].w)) + intBitsToFloat(R127i.z))); -PS0i = R127i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R125i.w),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R8i.w)) + intBitsToFloat(R8i.y))); -PS1i = R125i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.w),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R126i.w; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.w),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * 1.0); -PS1i = R127i.z; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].w)) + intBitsToFloat(R127i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].z)) + intBitsToFloat(R127i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].x)) + intBitsToFloat(R127i.w))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].y)) + intBitsToFloat(R124i.w))); -PV0i.w = R123i.w; -R127i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R127i.w; -// 13 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.x))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.x))); -PS1i = R125i.z; -// 14 -backupReg0i = R125i.y; -R125i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R126i.w)); -PV0i.x = R125i.x; -R125i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R127i.z)); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.w)); -PV0i.z = R127i.z; -R126i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[7].w))?int(0xFFFFFFFF):int(0x0)); -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -PS0i = R127i.x; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(R124i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(intBitsToFloat(R125i.z) + 0.5); -PS1i = R7i.x; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),intBitsToFloat(R124i.w)),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.0); -PS0i = R8i.x; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),intBitsToFloat(R124i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -R8i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.0); -PS1i = R8i.y; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),intBitsToFloat(R124i.w)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.w = tempi.x; -R1i.x = ((R126i.w == 0)?(R8i.x):(0x3f800000)); -PS0i = R1i.x; -// 19 -R2i.x = floatBitsToInt(max(intBitsToFloat(R3i.x), 0.0)); -R1i.y = ((R126i.w == 0)?(R8i.y):(0x3f800000)); -R1i.z = ((R126i.w == 0)?(R127i.w):(0x3f800000)); -R1i.w = ((R126i.w == 0)?(PV0i.x):(0x3f800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R127i.x)) + 1.0); -PS1i = R7i.y; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),intBitsToFloat(R124i.w)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.w = R3i.w; -R2i.w = floatBitsToInt(intBitsToFloat(R2i.w) * 2.0); -PS0i = R2i.w; -// 21 -R3i.x = floatBitsToInt(max(intBitsToFloat(R4i.x), 0.0)); -R2i.y = floatBitsToInt(max(intBitsToFloat(R3i.y), 0.0)); -R8i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -R3i.w = floatBitsToInt(max(intBitsToFloat(R4i.y), 0.0)); -R2i.z = floatBitsToInt(max(intBitsToFloat(R3i.z), 0.0)); -PS1i = R2i.z; -// 22 -R3i.z = floatBitsToInt(max(intBitsToFloat(R4i.z), 0.0)); -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R8i.x), intBitsToFloat(R8i.y), intBitsToFloat(R8i.z), intBitsToFloat(R8i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.w), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.z)); -// 0 -} diff --git a/Source/XenobladeX/840947e29015aa9a_00000000000003c9_ps.txt b/Source/XenobladeX/840947e29015aa9a_00000000000003c9_ps.txt index ce8810e4..57b5af45 100644 --- a/Source/XenobladeX/840947e29015aa9a_00000000000003c9_ps.txt +++ b/Source/XenobladeX/840947e29015aa9a_00000000000003c9_ps.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader 840947e29015aa9a // Looking at LA cut-scene base blur // -//const float resScale = 3.0; -const float resScale = ; +//const float resScale = ($height/$gameHeight); +const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[3]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4386000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 diff --git a/Source/XenobladeX/8b8ade20f1ae78e7_0000000000000079_ps.txt b/Source/XenobladeX/8b8ade20f1ae78e7_0000000000000079_ps.txt index 97c6e3f3..99f0de22 100644 --- a/Source/XenobladeX/8b8ade20f1ae78e7_0000000000000079_ps.txt +++ b/Source/XenobladeX/8b8ade20f1ae78e7_0000000000000079_ps.txt @@ -1,16 +1,9 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader 8b8ade20f1ae78e7 //light bleed, waterfall fog uniform ivec4 uf_remappedPS[5]; -const float resScale = ; +const float resScale = ($height/$gameHeight); layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5196000 res 320x180x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; diff --git a/Source/XenobladeX/8c1e55fd967b0496_0000000000000079_ps.txt b/Source/XenobladeX/8c1e55fd967b0496_0000000000000079_ps.txt index ceaa92e9..61d61aa8 100644 --- a/Source/XenobladeX/8c1e55fd967b0496_0000000000000079_ps.txt +++ b/Source/XenobladeX/8c1e55fd967b0496_0000000000000079_ps.txt @@ -1,18 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader 8c1e55fd967b0496 // 1/4 -> 1/16 bloom pyramid . Pixelated unless scaled but still needs blur for light bleed.. // To-do. Check if screen res is * samples stable -const float resScale = ; -const int sampleScale = ; +const float resScale = ($height/$gameHeight); // = 3.0; +const int sampleScale = 3; const float lightBloom = 0.95; highp float lineRand(vec2 co) { diff --git a/Source/XenobladeX/90bdbafc1c764ae6_0000000000000000_vs.txt b/Source/XenobladeX/90bdbafc1c764ae6_0000000000000000_vs.txt deleted file mode 100644 index b3762d15..00000000 --- a/Source/XenobladeX/90bdbafc1c764ae6_0000000000000000_vs.txt +++ /dev/null @@ -1,1411 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 90bdbafc1c764ae6 -//sand storm clouds pot -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 5) out vec4 passParameterSem5; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 4) out vec4 passParameterSem4; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem9; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R125i.x = floatBitsToInt(max(intBitsToFloat(R5i.x), -(intBitsToFloat(R5i.x)))); -PV0i.x = R125i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(R5i.y), -(intBitsToFloat(R5i.y)))); -PV0i.z = R127i.z; -R127i.w = R5i.z; -R127i.y = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV0i.z))); -PS1i = R126i.x; -// 2 -PV0i.x = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R127i.w))); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(R127i.x)); -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -R126i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R126i.z; -// 4 -backupReg0i = R127i.y; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -R126i.y = R6i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 5 -R127i.x = R6i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R8i.x))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R8i.y))); -R126i.w = R6i.y; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R8i.z))); -PS1i = R125i.w; -// 6 -PV0i.x = R8i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R0i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R8i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R126i.z; -// 7 -backupReg0i = R126i.w; -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -R7i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R11i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R125i.x)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R126i.y))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(backupReg0i))); -PS1i = R124i.y; -// 8 -PV0i.x = R6i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -R127i.y = R6i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PV0i.z = R6i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.x))); -R126i.y = R6i.w; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 9 -backupReg0i = R125i.y; -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R125i.w)); -R125i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(R125i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV0i.x))); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.z))); -PS1i = R125i.x; -// 10 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R126i.y))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.z))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R126i.y))); -PS1i = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -// 12 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R126i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R8i.x))); -PV1i.x = R0i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R8i.y))); -PV1i.y = R5i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R127i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R124i.y)); -R13i.x = 0; -PS1i = R13i.x; -// 14 -R0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R7i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.z)); -R14i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R125i.y)); -R8i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R8i.y = 0; -PS0i = R8i.y; -// 15 -R5i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R127i.x)); -R5i.y = 0x3f800000; -R8i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -R12i.w = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x)); -PS1i = R12i.w; -// 16 -R8i.x = 0x3f800000; -R0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R127i.x))); -R4i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R13i.w = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(R126i.x))); -PS0i = R13i.w; -// 17 -R1i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R7i.z = 0; -PS1i = R7i.z; -// 18 -R12i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R5i.w))/0.1591549367)); -// 19 -R127i.z = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R5i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R0i.y))/0.1591549367)); -// 22 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 23 -R14i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); -R5i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.w; -// 24 -R6i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -// 25 -R14i.x = PS0i; -R13i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R6i.y = PS0i; -PS1i = R6i.y; -// 26 -R13i.z = floatBitsToInt(sqrt(intBitsToFloat(R124i.x))); -PS0i = R13i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R7i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R5i.z,R0i.w,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R8i.x = uf_remappedVS[1].z; -PS0i = R8i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.y = uf_remappedVS[4].z; -PS1i = R8i.y; -// 4 -R8i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -// 6 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), -(intBitsToFloat(PV1i.x)))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R5i.x = PV1i.x; -PS0i = R5i.x; -// 9 -R14i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R14i.x; -PV1i.y = R14i.x; -PV1i.z = R14i.x; -PV1i.w = R14i.x; -R5i.y = R127i.y; -PS1i = R5i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R14i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R14i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.z = tempi.x; -// 12 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R7i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R13i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -R5i.x = uf_remappedVS[1].x; -PS0i = R5i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R7i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R14i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R8i.z))); -R5i.y = uf_remappedVS[1].y; -R5i.z = uf_remappedVS[1].z; -// 3 -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R13i.y)) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R12i.z; -R12i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.z))); -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R14i.x)) + intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[1].y))); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R5i.z; -// 2 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[1].y))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[4].y))); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[4].y))); -// 5 -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[5].y))); -// 6 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[5].y))); -// 7 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.w))); -R12i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R126i.x))); -PS0i = R12i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R7i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R5i.y = 0; -R5i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R12i.y = 0; -R0i.z = 0; -R12i.z = uf_remappedVS[1].x; -PS1i = R12i.z; -// 2 -R11i.z = 0; -// 3 -R7i.z = R13i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R14i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = R14i.x; -PV0i.y = R14i.x; -PV0i.z = R14i.x; -PV0i.w = R14i.x; -R8i.x = R5i.z; -PS0i = R8i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.y = tempi.x; -R8i.y = backupReg1i; -PS1i = R8i.y; -// 2 -backupReg0i = R14i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R14i.z = tempi.x; -R8i.z = R12i.z; -PS0i = R8i.z; -// 3 -backupReg0i = R0i.z; -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(backupReg0i))); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R12i.z))); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R7i.x = R14i.z; -R7i.z = R0i.x; -R12i.x = R12i.z; -PS0i = R12i.x; -// 1 -R12i.y = R1i.y; -R12i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R7i.y):(R0i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R14i.z):(R14i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R0i.x):(R7i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R7i.y; -R7i.x = ((R127i.y == 0)?(PV1i.x):(R0i.x)); -R7i.y = ((R127i.y == 0)?(PV1i.w):(R14i.z)); -R7i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R12i.z):(R12i.z)); -PV0i.w = R123i.w; -R12i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R12i.x; -// 3 -R8i.x = ((R127i.y == 0)?(0):(R13i.x)); -R12i.y = ((R127i.y == 0)?(R127i.z):(R12i.z)); -R12i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R8i.y = ((R127i.y == 0)?(0):(R5i.y)); -PS1i = R8i.y; -// 4 -backupReg0i = R8i.z; -R8i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R6i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R6i.z) * 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(R6i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(R6i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R6i.y))); -PS0i = R127i.z; -// 1 -R126i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R14i.x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R13i.y)) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R6i.x))); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R6i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.z))); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.x))); -PS0i = R125i.x; -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R14i.x)) + intBitsToFloat(R127i.x))); -R125i.y = floatBitsToInt((intBitsToFloat(R5i.w) * 0.0 + intBitsToFloat(R127i.y))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R13i.y)) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R126i.w))); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.w), intBitsToFloat(R125i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg0i))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.w), intBitsToFloat(backupReg0i))); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.w), intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(PV0i.y))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = 0; -PS1i = R11i.z; -// 6 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(R125i.w))); -// 7 -backupReg0i = R126i.y; -backupReg1i = R124i.x; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(R126i.z))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R124i.z)) + intBitsToFloat(R127i.w))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(R127i.y))); -PV1i.z = R126i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.x))); -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(R125i.z))); -PS1i = R125i.x; -// 8 -backupReg0i = R127i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(R127i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.x))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R125i.y; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R124i.z)) + intBitsToFloat(R126i.w))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.x))); -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(PS0i))); -PS1i = R125i.x; -// 10 -backupReg0i = R126i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R124i.z)) + intBitsToFloat(R127i.w))); -PS0i = R124i.y; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[6].x))); -PS1i = R127i.w; -// 12 -backupReg0i = R126i.z; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(uf_remappedVS[6].z))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].y))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg1i))); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R127i.z))); -PS0i = R0i.x; -// 13 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R127i.w))); -PS1i = R127i.x; -// 14 -backupReg0i = R125i.x; -backupReg1i = R127i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R124i.y))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(backupReg1i))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R126i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R127i.z))); -// 15 -R14i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R127i.x))); -R14i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.w))); -R14i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(R0i.x))); -PS1i = R122i.x; -// 16 -backupReg0i = R124i.w; -backupReg0i = R124i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PS1i))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(uf_remappedVS[6].y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].x))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].z))); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.x; -backupReg0i = R125i.x; -backupReg0i = R125i.x; -backupReg1i = R125i.z; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R125i.z))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].z))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].y))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(backupReg1i)) + intBitsToFloat(R127i.y))); -PS1i = R122i.x; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R6i.x)) + intBitsToFloat(PS1i))); -PS0i = R124i.y; -// 19 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R125i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R126i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R124i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R127i.z))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R126i.w))); -PS1i = R127i.x; -// 20 -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV1i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV1i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R125i.z))); -PV0i.w = R123i.w; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV1i.x))); -PS0i = R6i.x; -// 21 -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(R127i.x))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(R127i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.w))); -PS1i = R6i.z; -// 22 -R7i.z = R13i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -R0i.x = 0; -PS0i = R0i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R5i.z = R3i.w; -R5i.z = floatBitsToInt(intBitsToFloat(R5i.z) * 2.0); -PS1i = R5i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].w)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R5i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R5i.x; -// 3 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV0i.y))); -PV1i.x = R126i.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.w))); -PV1i.y = R124i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.x))); -PV1i.z = R126i.z; -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R0i.w; -R127i.w = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -R127i.x = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R127i.y = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(PV1i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R126i.y; -// 7 -R123i.x = ((intBitsToFloat(PV0i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.x = R123i.x; -R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -R0i.z = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R127i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.y))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R127i.w; -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -R125i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -PV1i.y = R125i.y; -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983)); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.y; -// 10 -R125i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + -(0.0)); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R127i.w = floatBitsToInt(sin((intBitsToFloat(PV1i.y))/0.1591549367)); -PS0i = R127i.w; -// 11 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -R0i.y = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R123i.w = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R125i.z = floatBitsToInt(sin((intBitsToFloat(R127i.z))/0.1591549367)); -PS1i = R125i.z; -// 12 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.x), intBitsToFloat(PV1i.w))); -PV0i.x = R11i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(PV1i.w))); -PV0i.y = R127i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.z), intBitsToFloat(PV1i.w))); -PV0i.z = R124i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R124i.x = floatBitsToInt(cos((intBitsToFloat(R127i.z))/0.1591549367)); -PS0i = R124i.x; -// 13 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R126i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.y))); -PS1i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 14 -R2i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV1i.x)); -PV0i.x = R2i.x; -R11i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(PV1i.w)); -PV0i.y = R11i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.z = R2i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.x))); -PS0i = R122i.x; -// 15 -backupReg0i = R0i.w; -R12i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R12i.x; -PV1i.y = R12i.x; -PV1i.z = R12i.x; -PV1i.w = R12i.x; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(PS0i)) + intBitsToFloat(R10i.y))); -PS1i = R126i.z; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.z))); -PS0i = R127i.x; -// 17 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.z = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R1i.y)) + intBitsToFloat(R126i.w))); -PS1i = R122i.x; -// 18 -backupReg0i = R126i.z; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),intBitsToFloat(PS1i)) + intBitsToFloat(R10i.x))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(R125i.w))); -R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -R10i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -PS0i = R10i.y; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(R9i.x))); -PS1i = R127i.z; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R124i.z; -// 21 -backupReg0i = R9i.w; -backupReg1i = R9i.y; -R9i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(uf_remappedVS[12].w))); -PV1i.y = R9i.y; -R10i.z = floatBitsToInt(intBitsToFloat(R125i.x) + 0.5); -R9i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.y)) + intBitsToFloat(backupReg1i))); -R7i.x = floatBitsToInt(intBitsToFloat(R127i.z) + 0.5); -PS1i = R7i.x; -// 22 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.z = tempi.x; -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R124i.z))); -PS0i = R11i.x; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.y = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R9i.x))); -PS0i = R125i.w; -// 1 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(R11i.x)); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedVS[0].z))); -R126i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R125i.w)); -R124i.z = ((R0i.z == 0)?(PS1i):(PS1i)); -R126i.w = floatBitsToInt(-(intBitsToFloat(R10i.w)) + 1.0); -R7i.y = floatBitsToInt(intBitsToFloat(R9i.w) + 0.5); -PS0i = R7i.y; -// 3 -backupReg0i = R0i.z; -backupReg1i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -R124i.y = ((backupReg0i == 0)?(PV0i.x):(backupReg1i)); -PS1i = R124i.y; -// 4 -backupReg0i = R124i.z; -R123i.x = ((R0i.z == 0)?(PV1i.x):(PV1i.x)); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt(-(intBitsToFloat(R11i.z))); -R124i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((R0i.z == 0)?(R126i.y):(R126i.y)); -PV0i.w = R123i.w; -R2i.x = ((R5i.x == 0)?(backupReg0i):(0x3f800000)); -PS0i = R2i.x; -// 5 -backupReg0i = R11i.y; -R0i.x = 0; -R11i.y = ((R5i.x == 0)?(PV0i.w):(0x3f800000)); -R2i.z = ((R5i.x == 0)?(R124i.y):(0x3f800000)); -R0i.w = ((R5i.x == 0)?(PV0i.x):(0x3f800000)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS1i = R9i.y; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.y = tempi.x; -R0i.z = 0; -PS0i = R0i.z; -// 7 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R2i.w = 0; -PS1i = R2i.w; -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R9i.x = ((R124i.z == 0)?(backupReg0i):(R127i.z)); -PS0i = R9i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(R124i.y)); -R125i.w = floatBitsToInt(tempResultf); -PS1i = R125i.w; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PS1i))); -PS0i = R125i.x; -// 11 -R6i.x = floatBitsToInt(intBitsToFloat(R1i.x) + 0.5); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R125i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R125i.w))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -// 13 -backupReg0i = R9i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PS0i), -(intBitsToFloat(PS0i)))); -R9i.z = ((R124i.z == 0)?(R0i.z):(R125i.y)); -R9i.w = ((R124i.z == 0)?(R2i.w):(R127i.w)); -R9i.y = ((R124i.z == 0)?(backupReg0i):(R126i.y)); -PS1i = R9i.y; -// 14 -backupReg0i = R7i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(uf_remappedVS[14].y))); -R7i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -R7i.z = R10i.z; -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R7i.w = R126i.w; -PS0i = R7i.w; -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedVS[20].y)) + intBitsToFloat(R1i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedVS[20].x)) + intBitsToFloat(R2i.y))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R10i.y)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedVS[20].z)) + intBitsToFloat(R1i.z))); -PV1i.w = R123i.w; -R6i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + 0.5); -PS1i = R6i.y; -// 16 -R123i.x = ((R0i.y == 0)?(PV1i.z):(0x3f800000)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -// 17 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.x = R0i.x; -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.z = R0i.z; -R1i.z = PV0i.x; -R1i.z = clampFI32(R1i.z); -PS1i = R1i.z; -// 18 -backupReg0i = R3i.z; -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV1i.y))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.z))); -// 19 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R0i.y))); -PV0i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R0i.z))); -PS0i = R127i.w; -// 1 -R4i.x = ((PV0i.w == 0)?(R2i.x):(0x3f800000)); -R4i.y = ((PV0i.w == 0)?(R11i.y):(0x3f800000)); -R4i.z = ((PV0i.w == 0)?(R2i.z):(0x3f800000)); -R4i.w = ((PV0i.w == 0)?(R0i.w):(0x3f800000)); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[21].y))); -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R5i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R5i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PS1i), 0.0)); -PS0i = R127i.z; -// 3 -R0i.x = floatBitsToInt(max(intBitsToFloat(R1i.x), 0.0)); -R0i.y = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.z = floatBitsToInt(max(intBitsToFloat(R3i.z), 0.0)); -PS1i = R0i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedVS[21].z))); -R2i.y = floatBitsToInt(max(intBitsToFloat(R126i.z), 0.0)); -R2i.z = floatBitsToInt(max(intBitsToFloat(R127i.w), 0.0)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R2i.x = floatBitsToInt(max(intBitsToFloat(R126i.y), 0.0)); -PS0i = R2i.x; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].z), intBitsToFloat(R127i.z))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),1.0,0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedVS[24].w))); -PV1i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), 1.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedVS[21].w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedVS[25].w))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 11 -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].y)) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].x)) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R126i.w; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedVS[24].z)) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.x = R123i.x; -// 13 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].x)) + intBitsToFloat(R127i.z))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].y)) + intBitsToFloat(R125i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].z)) + intBitsToFloat(PV0i.x))); -// 14 -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_remappedVS[19].w))); -} -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -// export -gl_Position = vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R9i.x)*(origRatio / newRatio), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -// export -passParameterSem5 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.z)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/948500d0191d1ed8_0000000000000000_vs.txt b/Source/XenobladeX/948500d0191d1ed8_0000000000000000_vs.txt deleted file mode 100644 index 08bc9155..00000000 --- a/Source/XenobladeX/948500d0191d1ed8_0000000000000000_vs.txt +++ /dev/null @@ -1,320 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 948500d0191d1ed8 -// invation cutscene skell lights -uniform ivec4 uf_remappedVS[13]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem6; -layout(location = 6) in uvec4 attrDataSem7; -layout(location = 7) in uvec4 attrDataSem8; -layout(location = 8) in uvec4 attrDataSem9; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem9; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R2i.w) + -(0.5)); -R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R7i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R7i.y))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R7i.z))); -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.z)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(PV0i.w)); -PS1i = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(PS0i)); -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.y)) + intBitsToFloat(R5i.z))); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PV1i.y)) + intBitsToFloat(R5i.y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.y)) + intBitsToFloat(R5i.x))); -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -PS0i = 0; -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R7i.y))); -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.z = R126i.z; -R125i.w = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.x)); -R125i.z = 0; -PS1i = R125i.z; -// 4 -R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.z)); -R125i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R127i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].y) * 1.0); -PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.z))/0.1591549367)); -// 5 -backupReg0i = R126i.z; -R127i.x = PS0i; -R127i.y = floatBitsToInt(-(intBitsToFloat(PS0i))); -R126i.z = R125i.w; -R126i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].z) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 6 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -PV0i.x = PS1i; -R126i.y = PS1i; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].w) * 1.0); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].x)) + intBitsToFloat(backupReg0i))); -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].y)) + intBitsToFloat(backupReg1i))); -PS0i = R124i.x; -// 7 -backupReg0i = R126i.w; -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].z)) + intBitsToFloat(backupReg0i))); -PS1i = R126i.w; -// 8 -backupReg0i = R126i.y; -backupReg1i = R127i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[1].w)) + intBitsToFloat(backupReg1i))); -PS0i = R127i.z; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R9i.w)) + intBitsToFloat(R9i.y))); -PS1i = R124i.z; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R125i.z; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * 1.0); -PS1i = R126i.y; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].y)) + intBitsToFloat(R124i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].x)) + intBitsToFloat(R127i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].w)) + intBitsToFloat(R127i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[5].z)) + intBitsToFloat(R126i.w))); -PV0i.w = R123i.w; -R124i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R124i.x; -// 13 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R8i.w)) + intBitsToFloat(R8i.y))); -PS1i = R127i.z; -// 14 -backupReg0i = R126i.y; -R125i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.z)); -PV0i.x = R125i.x; -R126i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(backupReg0i)); -PV0i.y = R126i.y; -R125i.z = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R124i.x)); -PV0i.z = R125i.z; -R127i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[7].w))?int(0xFFFFFFFF):int(0x0)); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R9i.z)) + intBitsToFloat(R9i.x))); -PS0i = R126i.w; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(R126i.z)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt(intBitsToFloat(R124i.z) + 0.5); -PS1i = R125i.y; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),intBitsToFloat(R126i.z)),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.0); -PS0i = R2i.x; -// 17 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),intBitsToFloat(R126i.z)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = R124i.x; -PV1i.y = R124i.x; -PV1i.z = R124i.x; -PV1i.w = R124i.x; -R2i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.0); -PS1i = R2i.y; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),intBitsToFloat(R126i.z)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.w = tempi.x; -R9i.x = ((R127i.w == 0)?(R2i.x):(0x3f800000)); -PS0i = R9i.x; -// 19 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R8i.z)) + intBitsToFloat(R8i.x))); -R9i.y = ((R127i.w == 0)?(R2i.y):(0x3f800000)); -R9i.z = ((R127i.w == 0)?(backupReg0i):(0x3f800000)); -R9i.w = ((R127i.w == 0)?(PV0i.x):(0x3f800000)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) + 0.5); -PS1i = R127i.y; -// 20 -backupReg0i = R126i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),intBitsToFloat(R126i.z)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -// 21 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R125i.y)) + 1.0); -R8i.y = floatBitsToInt(-(intBitsToFloat(R127i.y)) + 1.0); -R8i.z = PS0i; -R1i.w = R3i.w; -R1i.w = floatBitsToInt(intBitsToFloat(R1i.w) * 2.0); -R8i.x = floatBitsToInt(intBitsToFloat(R124i.x) + 0.5); -PS1i = R8i.x; -// 22 -R1i.x = floatBitsToInt(max(intBitsToFloat(R3i.x), 0.0)); -R1i.y = floatBitsToInt(max(intBitsToFloat(R3i.y), 0.0)); -R2i.z = floatBitsToInt(-(intBitsToFloat(R126i.w))); -R8i.w = PV1i.x; -R1i.z = floatBitsToInt(max(intBitsToFloat(R3i.z), 0.0)); -PS0i = R1i.z; -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R9i.x)*(origRatio / newRatio), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R8i.x), intBitsToFloat(R8i.y), intBitsToFloat(R8i.z), intBitsToFloat(R8i.w)); -// 0 -backupReg0i = R4i.x; -backupReg1i = R4i.y; -backupReg2i = R4i.z; -R4i.x = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -R4i.y = floatBitsToInt(max(intBitsToFloat(backupReg1i), 0.0)); -R4i.z = floatBitsToInt(max(intBitsToFloat(backupReg2i), 0.0)); -// export -passParameterSem1 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// 0 -} diff --git a/Source/XenobladeX/9ae7833e513d2c25_0000000000000079_ps.txt b/Source/XenobladeX/9ae7833e513d2c25_0000000000000079_ps.txt index 73be7a9e..fb8bf155 100644 --- a/Source/XenobladeX/9ae7833e513d2c25_0000000000000079_ps.txt +++ b/Source/XenobladeX/9ae7833e513d2c25_0000000000000079_ps.txt @@ -1,16 +1,8 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader 9ae7833e513d2c25 // bloom sampling scale -const float resScale = ; -//const float resScale = 4.0; +const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[1]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4f4c800 res 80x46x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(location = 0) in vec4 passParameterSem0; diff --git a/Source/XenobladeX/9bc5e526132c9534_0000000000000000_vs.txt b/Source/XenobladeX/9bc5e526132c9534_0000000000000000_vs.txt deleted file mode 100644 index 201b3c5a..00000000 --- a/Source/XenobladeX/9bc5e526132c9534_0000000000000000_vs.txt +++ /dev/null @@ -1,150 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader 9bc5e526132c9534 -// selection fill *dumped* -uniform ivec4 uf_remappedVS[11]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -uniform float uf_alphaTestRef; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem1.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder = attrDataSem0; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -// 0 -PV0f.x = intBitsToFloat(uf_remappedVS[0].w) * 1.0; -PV0f.y = intBitsToFloat(uf_remappedVS[0].z) * 1.0; -PV0f.z = intBitsToFloat(uf_remappedVS[0].y) * 1.0; -PV0f.w = intBitsToFloat(uf_remappedVS[0].x) * 1.0; -// 1 -R123f.x = (R2f.y * intBitsToFloat(uf_remappedVS[1].w) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R2f.y * intBitsToFloat(uf_remappedVS[1].z) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R2f.y * intBitsToFloat(uf_remappedVS[1].y) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R2f.y * intBitsToFloat(uf_remappedVS[1].x) + PV0f.w); -PV1f.w = R123f.w; -// 2 -R123f.x = (R2f.x * intBitsToFloat(uf_remappedVS[2].w) + PV1f.x); -PV0f.x = R123f.x; -R127f.y = (R2f.x * intBitsToFloat(uf_remappedVS[2].z) + PV1f.y); -R127f.z = (R2f.x * intBitsToFloat(uf_remappedVS[2].y) + PV1f.z); -R127f.w = (R2f.x * intBitsToFloat(uf_remappedVS[2].x) + PV1f.w); -// 3 -PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[3].w); -PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[3].z); -PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[3].y); -PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[3].x); -// 4 -R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[4].w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[4].z) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[4].y) + PV1f.z); -PV0f.z = R123f.z; -R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[4].x) + PV1f.w); -PV0f.w = R123f.w; -// 5 -R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[5].w) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[5].z) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[5].y) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[5].x) + PV0f.w); -PV1f.w = R123f.w; -// 6 -backupReg0f = R127f.w; -R123f.x = (R127f.w * intBitsToFloat(uf_remappedVS[6].w) + PV1f.x); -PV0f.x = R123f.x; -R127f.y = (R127f.w * intBitsToFloat(uf_remappedVS[6].z) + PV1f.y); -R127f.z = (R127f.w * intBitsToFloat(uf_remappedVS[6].y) + PV1f.z); -R127f.w = (backupReg0f * intBitsToFloat(uf_remappedVS[6].x) + PV1f.w); -// 7 -PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[7].w); -PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[7].z); -PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[7].y); -PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[7].x); -// 8 -R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[8].w) + PV1f.x); -PV0f.x = R123f.x; -R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[8].z) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[8].y) + PV1f.z); -PV0f.z = R123f.z; -R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[8].x) + PV1f.w); -PV0f.w = R123f.w; -// 9 -R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[9].w) + PV0f.x); -PV1f.x = R123f.x; -R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[9].z) + PV0f.y); -PV1f.y = R123f.y; -R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[9].y) + PV0f.z); -PV1f.z = R123f.z; -R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[9].x) + PV0f.w); -PV1f.w = R123f.w; -// 10 -R2f.x = (R127f.w * intBitsToFloat(uf_remappedVS[10].x) + PV1f.w); -R2f.y = (R127f.w * intBitsToFloat(uf_remappedVS[10].y) + PV1f.z); -R2f.z = (R127f.w * intBitsToFloat(uf_remappedVS[10].z) + PV1f.y); -R2f.w = (R127f.w * intBitsToFloat(uf_remappedVS[10].w) + PV1f.x); -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(R2f.x*(origRatio / newRatio), R2f.y, R2f.z, R2f.w); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// 0 -} diff --git a/Source/XenobladeX/_59df1c7e1806366c_00000000000003c9_ps.txt b/Source/XenobladeX/_59df1c7e1806366c_00000000000003c9_ps.txt deleted file mode 100644 index dde71f07..00000000 --- a/Source/XenobladeX/_59df1c7e1806366c_00000000000003c9_ps.txt +++ /dev/null @@ -1,214 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader 59df1c7e1806366c -// aaremoval. Can't be combined with AA restore as they share the same shader. -uniform ivec4 uf_remappedPS[2]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e12000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -/* -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem1); -if( activeMaskStackC[1] == true ) { -R2i.xyzw = floatBitsToInt(textureGather(textureUnitPS0, intBitsToFloat(R0i.zw)).xyzw); -R0i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).x); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0x3b2aaaab)); -PV0i.x = R2i.x; -R127i.y = floatBitsToInt(max(intBitsToFloat(R2i.y), intBitsToFloat(R2i.w))); -R127i.z = floatBitsToInt(min(intBitsToFloat(R2i.y), intBitsToFloat(R2i.w))); -// 1 -PV1i.y = floatBitsToInt(min(intBitsToFloat(R2i.z), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(R2i.z), intBitsToFloat(PV0i.x))); -// 2 -R4i.y = floatBitsToInt(max(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.w))); -PV0i.y = R4i.y; -R4i.z = floatBitsToInt(min(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.y))); -PV0i.z = R4i.z; -// 3 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedPS[0].x)); -PV1i.y = floatBitsToInt(max(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.z))); -// 4 -R0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.y)); -R0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedPS[0].y))); -// 5 -backupReg0i = R0i.x; -predResult = (intBitsToFloat(R0i.w) > intBitsToFloat(backupReg0i)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -if( (0 == 0)) discard; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(-(1.0),1.0,1.0,-(1.0)))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -R127i.z = 0; -PS0i = R127i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R2i.w)),vec4(-(1.0),1.0,-(1.0),1.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R4i.w = 0x3f800000; -PS1i = R4i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -// 3 -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS1i)); -PV0i.x = R127i.x; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i)); -PV0i.w = R127i.w; -// 5 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedPS[1].y)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedPS[1].x)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); -// 6 -R0i.x = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(PV1i.z))); -R0i.y = floatBitsToInt(intBitsToFloat(R1i.y) + -(intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(min(intBitsToFloat(PV1i.x), intBitsToFloat(PV1i.w))); -R2i.w = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(PV1i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(PV1i.y)); -PS0i = R2i.y; -// 7 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedPS[0].z)); -// 8 -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 9 -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(PS0i)); -// 10 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.z), intBitsToFloat(0xc0000000))); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), intBitsToFloat(0xc0000000))); -// 11 -PV1i.z = floatBitsToInt(min(intBitsToFloat(PV0i.x), 2.0)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(PV0i.y), 2.0)); -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(uf_remappedPS[1].w)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedPS[1].z)); -// 13 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(PV0i.w))); -R1i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + -(intBitsToFloat(PV0i.x))); -R0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)); -R0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(PV0i.x)); -} -if( activeMaskStackC[1] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.xy)).xyz); -R3i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.zw)).xyz); -R0i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyz); -R2i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.wy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R3i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(R1i.y) + intBitsToFloat(R3i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(R3i.x)); -// 1 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R2i.x)); -R127i.y = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R2i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * 0.25); -PV1i.w = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(R2i.y)); -PS1i = floatBitsToInt(intBitsToFloat(PV0i.z) * 0.25); -// 2 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * 0.25 + intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * 0.25); -R127i.z = PV1i.x; -R127i.z = floatBitsToInt(intBitsToFloat(R127i.z) / 2.0); -R127i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * 0.25 + intBitsToFloat(PV1i.z))); -PV0i.w = R127i.w; -R126i.y = PV1i.w; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) / 2.0); -PS0i = R126i.y; -// 3 -PV1i.x = ((intBitsToFloat(PV0i.w) > intBitsToFloat(R4i.y))?int(0xFFFFFFFF):int(0x0)); -PV1i.y = ((intBitsToFloat(R4i.z) > intBitsToFloat(PV0i.w))?int(0xFFFFFFFF):int(0x0)); -R126i.z = floatBitsToInt((intBitsToFloat(R127i.y) * 0.25 + intBitsToFloat(PV0i.y))); -R126i.w = R127i.y; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) / 2.0); -// 4 -R123i.w = ((PV1i.y == 0)?(PV1i.x):(int(-1))); -PV0i.w = R123i.w; -// 5 -R4i.x = ((PV0i.w == 0)?(R127i.x):(R127i.z)); -R4i.y = ((PV0i.w == 0)?(R127i.w):(R126i.y)); -R4i.z = ((PV0i.w == 0)?(R126i.z):(R126i.w)); -} -// export -passPixelColor0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -*/ -} diff --git a/Source/XenobladeX/_cf4eda5057e1a527_0000000000000000_vs.txt b/Source/XenobladeX/_cf4eda5057e1a527_0000000000000000_vs.txt deleted file mode 100644 index f4135a3d..00000000 --- a/Source/XenobladeX/_cf4eda5057e1a527_0000000000000000_vs.txt +++ /dev/null @@ -1,67 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader cf4eda5057e1a527 -//shadow acne fix in city. -// to-do Magic value, review other solution. -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -backupReg0f = R2f.x; -backupReg1f = R2f.y; -R2f.x = backupReg0f; -R2f.y = backupReg1f; -PV0f.z = R1f.y * intBitsToFloat(uf_remappedVS[0].y); -PV0f.w = R1f.x * intBitsToFloat(uf_remappedVS[0].x); -// 1 -R1f.x = PV0f.w + intBitsToFloat(uf_remappedVS[0].z) + 0.0006; -R1f.y = PV0f.z + intBitsToFloat(uf_remappedVS[0].w); -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.z); -// 0 -} diff --git a/Source/XenobladeX/_fe436d1abf8cc6f6_000000000000000f_ps.txt b/Source/XenobladeX/_fe436d1abf8cc6f6_000000000000000f_ps.txt deleted file mode 100644 index 3726873a..00000000 --- a/Source/XenobladeX/_fe436d1abf8cc6f6_000000000000000f_ps.txt +++ /dev/null @@ -1,61 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader fe436d1abf8cc6f6 -//noise texture for AO, don't scale, use AO sahder. -const float resScale = 1.0; -uniform ivec4 uf_uniformRegisterPS[256]; -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(passParameterSem0); -// 0 -R127i.y = R0i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 4.0/ resScale); -R0i.z = 0; -PV0i.w = R0i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 4.0/ resScale); -// 1 -PS1i = int(intBitsToFloat(PV0i.w)); -// 2 -PV0i.y = PS1i << 0x00000002; -PS0i = int(intBitsToFloat(R127i.y)); -// 3 -PV1i.x = PS0i + PV0i.y; -// 4 -R127i.w = floatBitsToInt(float(PV1i.x)); -PS0i = R127i.w; -// 5 -tempResultf = intBitsToFloat(PS0i); -tempResultf = floor(tempResultf); -tempResultf = clamp(tempResultf, -256.0, 255.0); -ARi.x = int(tempResultf); -PV1i.x = floatBitsToInt(tempResultf); -// 6 -R0i.x = uf_uniformRegisterPS[ARi.x+0].x; -R0i.y = uf_uniformRegisterPS[ARi.x+0].y; -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.z)); -} diff --git a/Source/XenobladeX/a225baec4db6d89e_0000000000000000_vs.txt b/Source/XenobladeX/a225baec4db6d89e_0000000000000000_vs.txt deleted file mode 100644 index 5a10c842..00000000 --- a/Source/XenobladeX/a225baec4db6d89e_0000000000000000_vs.txt +++ /dev/null @@ -1,1410 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader a225baec4db6d89e -//flying trails desert -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 4) out vec4 passParameterSem5; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 3) out vec4 passParameterSem4; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem9; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R125i.x = floatBitsToInt(max(intBitsToFloat(R5i.x), -(intBitsToFloat(R5i.x)))); -PV0i.x = R125i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(R5i.y), -(intBitsToFloat(R5i.y)))); -PV0i.z = R127i.z; -R127i.w = R5i.z; -R127i.y = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV0i.z))); -PS1i = R126i.x; -// 2 -PV0i.x = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R127i.w))); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(R127i.x)); -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -R126i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R126i.z; -// 4 -backupReg0i = R127i.y; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -R126i.y = R6i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 5 -R127i.x = R6i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R8i.x))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R8i.y))); -R126i.w = R6i.y; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R8i.z))); -PS1i = R125i.w; -// 6 -PV0i.x = R8i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R0i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R8i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R126i.z; -// 7 -backupReg0i = R126i.w; -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -R7i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R11i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R125i.x)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R126i.y))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(backupReg0i))); -PS1i = R124i.y; -// 8 -PV0i.x = R6i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -R127i.y = R6i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PV0i.z = R6i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R127i.x))); -R126i.y = R6i.w; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 9 -backupReg0i = R125i.y; -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R125i.w)); -R125i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(R125i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV0i.x))); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.z))); -PS1i = R125i.x; -// 10 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R126i.y))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.z))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R126i.y))); -PS1i = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -// 12 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R126i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.y))); -R6i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R8i.x))); -PV1i.x = R0i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R8i.y))); -PV1i.y = R5i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R127i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R124i.y)); -R13i.x = 0; -PS1i = R13i.x; -// 14 -R0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R7i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.z)); -R14i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R125i.y)); -R8i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R8i.y = 0; -PS0i = R8i.y; -// 15 -R5i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R127i.x)); -R5i.y = 0x3f800000; -R8i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -R12i.w = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x)); -PS1i = R12i.w; -// 16 -R8i.x = 0x3f800000; -R0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R127i.x))); -R4i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R13i.w = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(R126i.x))); -PS0i = R13i.w; -// 17 -R1i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R7i.z = 0; -PS1i = R7i.z; -// 18 -R12i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R5i.w))/0.1591549367)); -// 19 -R127i.z = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R5i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R0i.y))/0.1591549367)); -// 22 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 23 -R14i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); -R5i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.w; -// 24 -R6i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -// 25 -R14i.x = PS0i; -R13i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R6i.y = PS0i; -PS1i = R6i.y; -// 26 -R13i.z = floatBitsToInt(sqrt(intBitsToFloat(R124i.x))); -PS0i = R13i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R7i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R5i.z,R0i.w,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R8i.x = uf_remappedVS[1].z; -PS0i = R8i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.y = uf_remappedVS[4].z; -PS1i = R8i.y; -// 4 -R8i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -// 6 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), -(intBitsToFloat(PV1i.x)))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R5i.x = PV1i.x; -PS0i = R5i.x; -// 9 -R14i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R14i.x; -PV1i.y = R14i.x; -PV1i.z = R14i.x; -PV1i.w = R14i.x; -R5i.y = R127i.y; -PS1i = R5i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R14i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R14i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.z = tempi.x; -// 12 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R7i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R13i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -R5i.x = uf_remappedVS[1].x; -PS0i = R5i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R7i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R14i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R8i.z))); -R5i.y = uf_remappedVS[1].y; -R5i.z = uf_remappedVS[1].z; -// 3 -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R13i.y)) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R12i.z; -R12i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R8i.z))); -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R14i.x)) + intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[1].y))); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R5i.z; -// 2 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[1].y))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[4].y))); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[4].y))); -// 5 -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[5].y))); -// 6 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[5].y))); -// 7 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.w))); -R12i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R126i.x))); -PS0i = R12i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R7i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R5i.y = 0; -R5i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R12i.y = 0; -R0i.z = 0; -R12i.z = uf_remappedVS[1].x; -PS1i = R12i.z; -// 2 -R11i.z = 0; -// 3 -R7i.z = R13i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R14i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = R14i.x; -PV0i.y = R14i.x; -PV0i.z = R14i.x; -PV0i.w = R14i.x; -R8i.x = R5i.z; -PS0i = R8i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.y = tempi.x; -R8i.y = backupReg1i; -PS1i = R8i.y; -// 2 -backupReg0i = R14i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R14i.z = tempi.x; -R8i.z = R12i.z; -PS0i = R8i.z; -// 3 -backupReg0i = R0i.z; -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(backupReg0i))); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R12i.z))); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R7i.x = R14i.z; -R7i.z = R0i.x; -R12i.x = R12i.z; -PS0i = R12i.x; -// 1 -R12i.y = R1i.y; -R12i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R7i.y):(R0i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R14i.z):(R14i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R0i.x):(R7i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R7i.y; -R7i.x = ((R127i.y == 0)?(PV1i.x):(R0i.x)); -R7i.y = ((R127i.y == 0)?(PV1i.w):(R14i.z)); -R7i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R12i.z):(R12i.z)); -PV0i.w = R123i.w; -R12i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R12i.x; -// 3 -R8i.x = ((R127i.y == 0)?(0):(R13i.x)); -R12i.y = ((R127i.y == 0)?(R127i.z):(R12i.z)); -R12i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R8i.y = ((R127i.y == 0)?(0):(R5i.y)); -PS1i = R8i.y; -// 4 -backupReg0i = R8i.z; -R8i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R6i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R6i.z) * 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(R6i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(R6i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R6i.y))); -PS0i = R127i.z; -// 1 -R126i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R14i.x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R13i.y)) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R6i.x))); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R6i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.z))); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.x))); -PS0i = R125i.x; -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R14i.x)) + intBitsToFloat(R127i.x))); -R125i.y = floatBitsToInt((intBitsToFloat(R5i.w) * 0.0 + intBitsToFloat(R127i.y))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R13i.y)) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R126i.w))); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.w), intBitsToFloat(R125i.z))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg0i))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.w), intBitsToFloat(backupReg0i))); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.w), intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(PV0i.y))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R11i.z = 0; -PS1i = R11i.z; -// 6 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(R125i.w))); -// 7 -backupReg0i = R126i.y; -backupReg1i = R124i.x; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(R126i.z))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R124i.z)) + intBitsToFloat(R127i.w))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(R127i.y))); -PV1i.z = R126i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.x))); -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(R125i.z))); -PS1i = R125i.x; -// 8 -backupReg0i = R127i.z; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(R127i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(PV1i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.x))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R125i.y; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R124i.z)) + intBitsToFloat(R126i.w))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.x))); -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(PS0i))); -PS1i = R125i.x; -// 10 -backupReg0i = R126i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R124i.z)) + intBitsToFloat(R127i.w))); -PS0i = R124i.y; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[6].x))); -PS1i = R127i.w; -// 12 -backupReg0i = R126i.z; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(uf_remappedVS[6].z))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].y))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg1i))); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R127i.z))); -PS0i = R0i.x; -// 13 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R127i.w))); -PS1i = R127i.x; -// 14 -backupReg0i = R125i.x; -backupReg1i = R127i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R124i.y))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(backupReg1i))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R126i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R127i.z))); -// 15 -R14i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R127i.x))); -R14i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.w))); -R14i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(R0i.x))); -PS1i = R122i.x; -// 16 -backupReg0i = R124i.w; -backupReg0i = R124i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PS1i))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(uf_remappedVS[6].y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].x))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].z))); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.x; -backupReg0i = R125i.x; -backupReg0i = R125i.x; -backupReg1i = R125i.z; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R125i.z))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].z))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].y))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(backupReg1i)) + intBitsToFloat(R127i.y))); -PS1i = R122i.x; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.x),intBitsToFloat(R6i.x)) + intBitsToFloat(PS1i))); -PS0i = R124i.y; -// 19 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R125i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R126i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R124i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R127i.z))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R126i.w))); -PS1i = R127i.x; -// 20 -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV1i.z))); -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV1i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R125i.z))); -PV0i.w = R123i.w; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV1i.x))); -PS0i = R6i.x; -// 21 -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(R127i.x))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(R127i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.w))); -PS1i = R6i.z; -// 22 -R7i.z = R13i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -R0i.x = 0; -PS0i = R0i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R5i.z = R3i.w; -R5i.z = floatBitsToInt(intBitsToFloat(R5i.z) * 2.0); -PS1i = R5i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].w)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R5i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R5i.x; -// 3 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV0i.y))); -PV1i.x = R126i.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.w))); -PV1i.y = R124i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.x))); -PV1i.z = R126i.z; -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R0i.w; -R127i.w = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R7i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -R127i.x = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R127i.y = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(PV1i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R126i.y; -// 7 -R123i.x = ((intBitsToFloat(PV0i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.x = R123i.x; -R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -R0i.z = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R127i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R127i.y))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R127i.w; -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.w)); -R125i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -PV1i.y = R125i.y; -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983)); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.y; -// 10 -R125i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + -(0.0)); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R127i.w = floatBitsToInt(sin((intBitsToFloat(PV1i.y))/0.1591549367)); -PS0i = R127i.w; -// 11 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -R0i.y = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R123i.w = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R125i.z = floatBitsToInt(sin((intBitsToFloat(R127i.z))/0.1591549367)); -PS1i = R125i.z; -// 12 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.x), intBitsToFloat(PV1i.w))); -PV0i.x = R11i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.y), intBitsToFloat(PV1i.w))); -PV0i.y = R127i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R14i.z), intBitsToFloat(PV1i.w))); -PV0i.z = R124i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R124i.x = floatBitsToInt(cos((intBitsToFloat(R127i.z))/0.1591549367)); -PS0i = R124i.x; -// 13 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R126i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.y))); -PS1i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 14 -R2i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV1i.x)); -PV0i.x = R2i.x; -R11i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(PV1i.w)); -PV0i.y = R11i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.y)); -PV0i.z = R2i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.x))); -PS0i = R122i.x; -// 15 -backupReg0i = R0i.w; -R12i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R12i.x; -PV1i.y = R12i.x; -PV1i.z = R12i.x; -PV1i.w = R12i.x; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(PS0i)) + intBitsToFloat(R10i.y))); -PS1i = R126i.z; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.z))); -PS0i = R127i.x; -// 17 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.z = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R1i.y)) + intBitsToFloat(R126i.w))); -PS1i = R122i.x; -// 18 -backupReg0i = R126i.z; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),intBitsToFloat(PS1i)) + intBitsToFloat(R10i.x))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(R125i.w))); -R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R10i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -R10i.y = floatBitsToInt(1.0 / intBitsToFloat(backupReg1i)); -PS0i = R10i.y; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(R127i.x)) + intBitsToFloat(R9i.x))); -PS1i = R127i.z; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R124i.z; -// 21 -backupReg0i = R9i.w; -backupReg1i = R9i.y; -R9i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(uf_remappedVS[12].w))); -PV1i.y = R9i.y; -R10i.z = floatBitsToInt(intBitsToFloat(R125i.x) + 0.5); -R9i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.y)) + intBitsToFloat(backupReg1i))); -R7i.x = floatBitsToInt(intBitsToFloat(R127i.z) + 0.5); -PS1i = R7i.x; -// 22 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.z = tempi.x; -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R124i.z))); -PS0i = R11i.x; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.y = tempi.x; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.y), intBitsToFloat(R9i.x))); -PS0i = R125i.w; -// 1 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt(intBitsToFloat(R9i.z) + intBitsToFloat(R11i.x)); -PS1i = R127i.z; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedVS[0].z))); -R126i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R125i.w)); -R124i.z = ((R0i.z == 0)?(PS1i):(PS1i)); -R126i.w = floatBitsToInt(-(intBitsToFloat(R10i.w)) + 1.0); -R7i.y = floatBitsToInt(intBitsToFloat(R9i.w) + 0.5); -PS0i = R7i.y; -// 3 -backupReg0i = R0i.z; -backupReg1i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -R124i.y = ((backupReg0i == 0)?(PV0i.x):(backupReg1i)); -PS1i = R124i.y; -// 4 -backupReg0i = R124i.z; -R123i.x = ((R0i.z == 0)?(PV1i.x):(PV1i.x)); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt(-(intBitsToFloat(R11i.z))); -R124i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((R0i.z == 0)?(R126i.y):(R126i.y)); -PV0i.w = R123i.w; -R2i.x = ((R5i.x == 0)?(backupReg0i):(0x3f800000)); -PS0i = R2i.x; -// 5 -backupReg0i = R11i.y; -R0i.x = 0; -R11i.y = ((R5i.x == 0)?(PV0i.w):(0x3f800000)); -R2i.z = ((R5i.x == 0)?(R124i.y):(0x3f800000)); -R0i.w = ((R5i.x == 0)?(PV0i.x):(0x3f800000)); -R9i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS1i = R9i.y; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.y = tempi.x; -R0i.z = 0; -PS0i = R0i.z; -// 7 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R2i.w = 0; -PS1i = R2i.w; -// 8 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R9i.x = ((R124i.z == 0)?(backupReg0i):(R127i.z)); -PS0i = R9i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(R124i.y)); -R125i.w = floatBitsToInt(tempResultf); -PS1i = R125i.w; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PS1i))); -PS0i = R125i.x; -// 11 -R6i.x = floatBitsToInt(intBitsToFloat(R1i.x) + 0.5); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R125i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R125i.w))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -// 13 -backupReg0i = R9i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -PV1i.y = floatBitsToInt(max(intBitsToFloat(PS0i), -(intBitsToFloat(PS0i)))); -R9i.z = ((R124i.z == 0)?(R0i.z):(R125i.y)); -R9i.w = ((R124i.z == 0)?(R2i.w):(R127i.w)); -R9i.y = ((R124i.z == 0)?(backupReg0i):(R126i.y)); -PS1i = R9i.y; -// 14 -backupReg0i = R7i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(uf_remappedVS[14].y))); -R7i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -R7i.z = R10i.z; -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -R7i.w = R126i.w; -PS0i = R7i.w; -// 15 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedVS[20].y)) + intBitsToFloat(R1i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedVS[20].x)) + intBitsToFloat(R2i.y))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R10i.y)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedVS[20].z)) + intBitsToFloat(R1i.z))); -PV1i.w = R123i.w; -R6i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + 0.5); -PS1i = R6i.y; -// 16 -R123i.x = ((R0i.y == 0)?(PV1i.z):(0x3f800000)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -// 17 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.x = R0i.x; -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.z = R0i.z; -R1i.z = PV0i.x; -R1i.z = clampFI32(R1i.z); -PS1i = R1i.z; -// 18 -backupReg0i = R3i.z; -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.x))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV1i.y))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.z))); -// 19 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R0i.y))); -PV0i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R0i.z))); -PS0i = R127i.w; -// 1 -R4i.x = ((PV0i.w == 0)?(R2i.x):(0x3f800000)); -R4i.y = ((PV0i.w == 0)?(R11i.y):(0x3f800000)); -R4i.z = ((PV0i.w == 0)?(R2i.z):(0x3f800000)); -R4i.w = ((PV0i.w == 0)?(R0i.w):(0x3f800000)); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[21].y))); -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R5i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R5i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PS1i), 0.0)); -PS0i = R127i.z; -// 3 -R0i.x = floatBitsToInt(max(intBitsToFloat(R1i.x), 0.0)); -R0i.y = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.z = floatBitsToInt(max(intBitsToFloat(R3i.z), 0.0)); -PS1i = R0i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedVS[21].z))); -R2i.y = floatBitsToInt(max(intBitsToFloat(R126i.z), 0.0)); -R2i.z = floatBitsToInt(max(intBitsToFloat(R127i.w), 0.0)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R2i.x = floatBitsToInt(max(intBitsToFloat(R126i.y), 0.0)); -PS0i = R2i.x; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].z), intBitsToFloat(R127i.z))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),1.0,0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedVS[24].w))); -PV1i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), 1.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedVS[21].w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedVS[25].w))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 11 -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].y)) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].x)) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R126i.w; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedVS[24].z)) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.x = R123i.x; -// 13 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].x)) + intBitsToFloat(R127i.z))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].y)) + intBitsToFloat(R125i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].z)) + intBitsToFloat(PV0i.x))); -// 14 -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_remappedVS[19].w))); -} -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -// export -gl_Position = vec4(intBitsToFloat(R4i.x) *(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem5 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.z)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/af7acf7fb6dca1be_0000000000079249_ps.txt b/Source/XenobladeX/af7acf7fb6dca1be_0000000000079249_ps.txt index 4172c290..5eb0cfeb 100644 --- a/Source/XenobladeX/af7acf7fb6dca1be_0000000000079249_ps.txt +++ b/Source/XenobladeX/af7acf7fb6dca1be_0000000000079249_ps.txt @@ -1,18 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader af7acf7fb6dca1be //cutscene shadow scaling //to do - extra edge smooth pass, -const float resScaleDetail = 2.0; -const float resScale = ; +const float resScale = ($height/$gameHeight); +const float resScaleDetail = ($height/$gameHeight)*0.75; const float shadowExposure = 0.85; //By truncating shadow, we decrease overall exposure during day only. uniform ivec4 uf_remappedPS[31]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4386000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 diff --git a/Source/XenobladeX/b253dca415790207_0000000000000079_ps.txt b/Source/XenobladeX/b253dca415790207_0000000000000079_ps.txt deleted file mode 100644 index 79dfeb7a..00000000 --- a/Source/XenobladeX/b253dca415790207_0000000000000079_ps.txt +++ /dev/null @@ -1,140 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -// shader b253dca415790207 -// motion blur alpha - -const float resScale = ; -//const float resScale = 3; -uniform ivec4 uf_remappedPS[5]; - -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e12000 res 320x180x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = passParameterSem0; -// 0 -R1f.x = R0f.x + intBitsToFloat(uf_remappedPS[0].x)/ resScale; -R1f.y = R0f.y + intBitsToFloat(uf_remappedPS[0].y)/ resScale; -R0f.z = R0f.x + intBitsToFloat(uf_remappedPS[1].x)/ resScale; -R0f.w = R0f.y + intBitsToFloat(uf_remappedPS[1].y)/ resScale; -R5f.w = 1.0; -PS0f = R5f.w; -// 1 -R2f.x = R0f.x + intBitsToFloat(uf_remappedPS[2].x)/ resScale; -R2f.y = R0f.y + intBitsToFloat(uf_remappedPS[2].y)/ resScale; -R1f.z = R0f.x + intBitsToFloat(uf_remappedPS[3].x)/ resScale; -R1f.w = R0f.y + intBitsToFloat(uf_remappedPS[3].y)/ resScale; -// 2 -backupReg0f = R0f.x; -backupReg1f = R0f.y; -R0f.x = backupReg0f + intBitsToFloat(uf_remappedPS[4].x)/ resScale; -R0f.y = backupReg1f + intBitsToFloat(uf_remappedPS[4].y)/resScale; -R3f.xyz = (texture(textureUnitPS0, R1f.xy).xyz); -R4f.xyz = (texture(textureUnitPS0, R0f.zw).xyz); -R2f.xyz = (texture(textureUnitPS0, R2f.xy).xyz); -R1f.xyz = (texture(textureUnitPS0, R1f.zw).xyz); -R0f.xyz = (texture(textureUnitPS0, R0f.xy).xyz); -// 0 -PV0f.x = R3f.y + -(0.5); -PV0f.x *= 2.0; -PV0f.y = R3f.x + -(0.5); -PV0f.y *= 2.0; -R127f.z = R4f.x + -(0.5); -R127f.z *= 2.0; -R127f.w = R4f.y + -(0.5); -R127f.w *= 2.0; -PS0f = R3f.z * intBitsToFloat(uf_remappedPS[0].z); -// 1 -R123f.x = (R4f.z * intBitsToFloat(uf_remappedPS[1].z) + PS0f); -PV1f.x = R123f.x; -R127f.y = R2f.x + -(0.5); -R127f.y *= 2.0; -PV1f.z = PV0f.y * intBitsToFloat(uf_remappedPS[0].z); -PV1f.w = PV0f.x * intBitsToFloat(uf_remappedPS[0].z); -R126f.z = R2f.y + -(0.5); -R126f.z *= 2.0; -PS1f = R126f.z; -// 2 -R123f.x = (R127f.z * intBitsToFloat(uf_remappedPS[1].z) + PV1f.z); -PV0f.x = R123f.x; -R126f.y = R1f.x + -(0.5); -R126f.y *= 2.0; -R123f.z = (R127f.w * intBitsToFloat(uf_remappedPS[1].z) + PV1f.w); -PV0f.z = R123f.z; -R123f.w = (R2f.z * intBitsToFloat(uf_remappedPS[2].z) + PV1f.x); -PV0f.w = R123f.w; -R127f.w = R1f.y + -(0.5); -R127f.w *= 2.0; -PS0f = R127f.w; -// 3 -R123f.x = (R126f.z * intBitsToFloat(uf_remappedPS[2].z) + PV0f.z); -PV1f.x = R123f.x; -R123f.y = (R127f.y * intBitsToFloat(uf_remappedPS[2].z) + PV0f.x); -PV1f.y = R123f.y; -R126f.z = R0f.x + -(0.5); -R126f.z *= 2.0; -R123f.w = (R1f.z * intBitsToFloat(uf_remappedPS[3].z) + PV0f.w); -PV1f.w = R123f.w; -R126f.w = R0f.y + -(0.5); -R126f.w *= 2.0; -PS1f = R126f.w; -// 4 -R123f.x = (R0f.z * intBitsToFloat(uf_remappedPS[4].z) + PV1f.w); -PV0f.x = R123f.x; -R123f.y = (R126f.y * intBitsToFloat(uf_remappedPS[3].z) + PV1f.y); -PV0f.y = R123f.y; -R123f.z = (R127f.w * intBitsToFloat(uf_remappedPS[3].z) + PV1f.x); -PV0f.z = R123f.z; -// 5 -R123f.y = (R126f.w * intBitsToFloat(uf_remappedPS[4].z) + PV0f.z); -PV1f.y = R123f.y; -R123f.z = (R126f.z * intBitsToFloat(uf_remappedPS[4].z) + PV0f.y); -PV1f.z = R123f.z; -R5f.z = PV0f.x; -PS1f = R5f.z; -// 6 -R5f.x = PV1f.z + 1.0; -R5f.x /= 2.0; -R5f.y = PV1f.y + 1.0; -R5f.y /= 2.0; -// export -passPixelColor0 = vec4(R5f.x, R5f.y, R5f.z, R5f.w); -} diff --git a/Source/XenobladeX/b3fb199c73caa796_00000000000003c9_ps.txt b/Source/XenobladeX/b3fb199c73caa796_00000000000003c9_ps.txt index 87e323ff..b4742d3a 100644 --- a/Source/XenobladeX/b3fb199c73caa796_00000000000003c9_ps.txt +++ b/Source/XenobladeX/b3fb199c73caa796_00000000000003c9_ps.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader b3fb199c73caa796 // bloom pyramid sample 1st -const float resScale = ; -//const float resScale = 3.0; +const float resScale = ($height/$gameHeight); +//const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[4]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf551a000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 diff --git a/Source/XenobladeX/b77e14af90eec1bd_00000000000003c9_ps.txt b/Source/XenobladeX/b77e14af90eec1bd_00000000000003c9_ps.txt index 27c16cea..e787539b 100644 --- a/Source/XenobladeX/b77e14af90eec1bd_00000000000003c9_ps.txt +++ b/Source/XenobladeX/b77e14af90eec1bd_00000000000003c9_ps.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader b77e14af90eec1bd //skell view separate AA fix -const float resScale = ; +const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[3]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5f0a000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 diff --git a/Source/XenobladeX/ba19276703190072_0000000000001e49_ps.txt b/Source/XenobladeX/ba19276703190072_0000000000001e49_ps.txt index 98c9bd74..bacd709a 100644 --- a/Source/XenobladeX/ba19276703190072_0000000000001e49_ps.txt +++ b/Source/XenobladeX/ba19276703190072_0000000000001e49_ps.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader ba19276703190072 //point light scaling v2, -const float resScale = ; +const float resScale = ($height/$gameHeight); uniform ivec4 uf_remappedPS[11]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5196000 res 1280x720x1 dim 1 tm: 4 format 0810 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4386000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 diff --git a/Source/XenobladeX/ba529c2c3078fff0_0000000000000000_vs.txt b/Source/XenobladeX/ba529c2c3078fff0_0000000000000000_vs.txt deleted file mode 100644 index fdd5c2f0..00000000 --- a/Source/XenobladeX/ba529c2c3078fff0_0000000000000000_vs.txt +++ /dev/null @@ -1,288 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader ba529c2c3078fff0 // rain engine glow // drop frame blend? -uniform ivec4 uf_remappedVS[13]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem5; -layout(location = 5) in uvec4 attrDataSem6; -layout(location = 6) in uvec4 attrDataSem7; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem6.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem3.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem7; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -// 0 -R123i.x = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(R2i.w) + -(0.5)); -PV0i.z = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R6i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R6i.y)); -PS0i = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(R6i.z)); -// 1 -R123i.x = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(PV0i.z)); -PV1i.z = floatBitsToInt(fract(intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(PV0i.w)); -PS1i = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(PS0i)); -// 2 -R127i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(PV1i.x) + intBitsToFloat(R4i.y))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(PV1i.x) + intBitsToFloat(R4i.x))); -R123i.z = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(PV1i.x) + intBitsToFloat(R4i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -PS0i = 0; -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R6i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.y = R126i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R6i.y)); -R125i.w = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.z)); -R126i.z = 0; -PS1i = R126i.z; -// 4 -R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.y)); -R125i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R127i.x)); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) * 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].y) * 1.0); -PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.y))/0.1591549367)); -// 5 -backupReg0i = R126i.y; -R127i.x = PS0i; -R126i.y = floatBitsToInt(-(intBitsToFloat(PS0i))); -R125i.z = R125i.w; -R126i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].z) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 6 -backupReg0i = R127i.z; -backupReg1i = R127i.w; -PV0i.x = PS1i; -R127i.y = PS1i; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].w) * 1.0); -R127i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[1].x) + intBitsToFloat(backupReg0i))); -R124i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[1].y) + intBitsToFloat(backupReg1i))); -PS0i = R124i.z; -// 7 -backupReg0i = R126i.w; -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R126i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[1].z) + intBitsToFloat(backupReg0i))); -PS1i = R126i.w; -// 8 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R125i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[1].w) + intBitsToFloat(R127i.z))); -PS0i = R125i.y; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(R7i.w) + intBitsToFloat(R7i.y))); -PS1i = R127i.z; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R127i.x; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * 1.0); -PS1i = R125i.w; -// 12 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[5].x) + intBitsToFloat(R127i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[5].w) + intBitsToFloat(R125i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[5].y) + intBitsToFloat(R124i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[5].z) + intBitsToFloat(R126i.w))); -PV0i.w = R123i.w; -R124i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * 1.0); -PS0i = R124i.z; -// 13 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[6].x) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[6].z) + intBitsToFloat(PV0i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[6].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[6].w) + intBitsToFloat(PV0i.y))); -R127i.w = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(R7i.z) + intBitsToFloat(R7i.x))); -PS1i = R127i.w; -// 14 -backupReg0i = R127i.x; -backupReg1i = R124i.z; -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(backupReg0i)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R125i.w)); -PV0i.y = R127i.y; -R124i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(backupReg1i)); -PV0i.z = R124i.z; -R125i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[7].w))?int(0xFFFFFFFF):int(0x0)); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.z) + 0.5); -PS0i = R125i.y; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt(intBitsToFloat(R127i.w) + 0.5); -PS1i = R7i.x; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.0); -PS0i = R2i.x; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R2i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.0); -PS1i = R2i.y; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),intBitsToFloat(R126i.w)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.w = tempi.x; -R1i.x = ((R125i.w == 0)?(R2i.x):(0x3f800000)); -PS0i = R1i.x; -// 19 -PV1i.x = floatBitsToInt(intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[12].w)); -R1i.y = ((R125i.w == 0)?(R2i.y):(0x3f800000)); -R1i.z = ((R125i.w == 0)?(R127i.z):(0x3f800000)); -R1i.w = ((R125i.w == 0)?(PV0i.x):(0x3f800000)); -R7i.y = floatBitsToInt(-(intBitsToFloat(R125i.y)) + 1.0); -PS1i = R7i.y; -// 20 -backupReg0i = R3i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R124i.z),intBitsToFloat(PV1i.x)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),1.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R3i.w = backupReg0i; -R3i.w = floatBitsToInt(intBitsToFloat(R3i.w) * 2.0); -PS0i = R3i.w; -// 21 -R2i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x))); -float origRatio = 1.777f; -float newRatio = ; - - -// export -gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.z)); -// 0 -} diff --git a/Source/XenobladeX/c01cc5b7af21f689_0000000000000000_vs.txt b/Source/XenobladeX/c01cc5b7af21f689_0000000000000000_vs.txt deleted file mode 100644 index d5b895c7..00000000 --- a/Source/XenobladeX/c01cc5b7af21f689_0000000000000000_vs.txt +++ /dev/null @@ -1,1399 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader c01cc5b7af21f689 -//fog skell flight -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 4) out vec4 passParameterSem4; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem4; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem6.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem3.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem7; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem9.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(max(intBitsToFloat(R4i.x), -(intBitsToFloat(R4i.x)))); -PV0i.x = R126i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(max(intBitsToFloat(R4i.y), -(intBitsToFloat(R4i.y)))); -PV0i.z = R126i.z; -R126i.w = R4i.z; -R127i.z = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.z))); -PS1i = R127i.x; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R126i.w))); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.w)); -R4i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R127i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -R125i.x = R5i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 5 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R7i.y))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R7i.x))); -R126i.z = R5i.z; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = R5i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R7i.z))); -PS1i = R125i.w; -// 6 -PV0i.x = R7i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R7i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R124i.y; -// 7 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R10i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.x)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R125i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PS1i = R127i.x; -// 8 -R126i.x = R5i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = R5i.z; -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = R5i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.z))); -R125i.x = R5i.w; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 9 -backupReg0i = R124i.x; -backupReg1i = R126i.y; -R124i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(backupReg0i)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(backupReg1i)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -PS1i = R127i.z; -// 10 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R10i.z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R4i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R4i.z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R124i.w)) + intBitsToFloat(R4i.y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R125i.x))); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R125i.x))); -PS1i = R124i.x; -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R125i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.x)); -R1i.z = 0; -PS0i = R1i.z; -// 13 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x))); -PV1i.x = R4i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R7i.y))); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -R7i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R14i.x = 0; -PS1i = R14i.x; -// 14 -R4i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R13i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.z)); -R14i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R126i.y)); -R10i.w = floatBitsToInt(intBitsToFloat(R126i.x) + -(intBitsToFloat(R124i.x))); -R12i.y = 0; -PS0i = R12i.y; -// 15 -R12i.x = 0x3f800000; -R7i.y = 0x3f800000; -R12i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R12i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R124i.x)); -PS1i = R12i.w; -// 16 -R1i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R125i.z)); -R5i.w = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R125i.z))); -R13i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -PS0i = R13i.w; -// 17 -R4i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R13i.z = 0; -PS1i = R13i.z; -// 18 -R7i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R4i.w))/0.1591549367)); -// 19 -R126i.x = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R4i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R125i.y))/0.1591549367)); -// 22 -R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 23 -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); -R4i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R124i.y))/0.1591549367)); -PS1i = R127i.w; -// 24 -R6i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R124i.y))/0.1591549367)); -// 25 -R5i.x = PS0i; -R4i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R5i.y = PS0i; -PS1i = R5i.y; -// 26 -R11i.z = floatBitsToInt(sqrt(intBitsToFloat(R0i.x))); -PS0i = R11i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R6i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R5i.z,R0i.w,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R6i.x = uf_remappedVS[1].z; -PS0i = R6i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = uf_remappedVS[4].z; -PS1i = R6i.y; -// 4 -R6i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), -(intBitsToFloat(PV1i.x)))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R13i.y)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R13i.y)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R4i.x = PV1i.x; -PS0i = R4i.x; -// 9 -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R5i.x; -PV1i.y = R5i.x; -PV1i.z = R5i.x; -PV1i.w = R5i.x; -R4i.y = R127i.y; -PS1i = R4i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.z = tempi.x; -// 12 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 14 -backupReg0i = R7i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R6i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R4i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R13i.y),intBitsToFloat(R14i.z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -R0i.x = uf_remappedVS[1].x; -PS0i = R0i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R13i.y),intBitsToFloat(R14i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R12i.z))); -R0i.y = uf_remappedVS[1].y; -R0i.z = uf_remappedVS[1].z; -// 3 -backupReg0i = R4i.y; -R4i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R12i.z; -R12i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(backupReg0i))); -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PS1i))); -PS0i = R13i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[1].y))); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R0i.z; -// 2 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[1].y))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[4].y))); -R4i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[4].y))); -// 5 -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[5].y))); -// 6 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[5].y))); -// 7 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.y))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.w))); -R12i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R126i.x))); -PS0i = R12i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R6i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R0i.y = 0; -R0i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R4i.y = 0x3f800000; -PS0i = R4i.y; -// 1 -R12i.y = 0; -R4i.z = 0; -R12i.z = uf_remappedVS[1].x; -PS1i = R12i.z; -// 2 -R10i.z = 0; -// 3 -R13i.z = R11i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R5i.x; -PV0i.y = R5i.x; -PV0i.z = R5i.x; -PV0i.w = R5i.x; -R6i.x = backupReg1i; -PS0i = R6i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.y = tempi.x; -R6i.y = R4i.z; -PS1i = R6i.y; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.z = tempi.x; -R6i.z = R12i.z; -PS0i = R6i.z; -// 3 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R4i.z))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R12i.z))); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R13i.x = R14i.z; -R13i.z = R4i.x; -R7i.x = R7i.z; -PS0i = R7i.x; -// 1 -R7i.y = R1i.y; -R7i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R13i.y):(R4i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R14i.z):(R14i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R4i.x):(R13i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R13i.y; -R13i.x = ((R127i.y == 0)?(PV1i.x):(R4i.x)); -R13i.y = ((R127i.y == 0)?(PV1i.w):(R14i.z)); -R13i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R7i.z):(R7i.z)); -PV0i.w = R123i.w; -R7i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R7i.x; -// 3 -backupReg0i = R7i.y; -R12i.x = ((R127i.y == 0)?(0):(R14i.x)); -R7i.y = ((R127i.y == 0)?(R127i.z):(R7i.z)); -R7i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R12i.y = ((R127i.y == 0)?(0):(backupReg0i)); -PS1i = R12i.y; -// 4 -backupReg0i = R12i.z; -R12i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R6i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R6i.z) * 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R6i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R5i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R5i.y))); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R4i.y)) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R6i.x))); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R5i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.z))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(PV1i.x))); -PS0i = R126i.x; -// 3 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(R4i.w) * 0.0 + intBitsToFloat(R127i.y))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R4i.y)) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(R126i.w))); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(R125i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R10i.z = 0; -PS0i = R10i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(PV0i.y))); -PS1i = R125i.z; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -// 7 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R124i.z)) + intBitsToFloat(R127i.w))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R125i.z; -backupReg1i = R127i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV1i.y))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R126i.z))); -// 9 -backupReg0i = R124i.z; -backupReg1i = R125i.y; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R124i.z)) + intBitsToFloat(R126i.w))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.x))); -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R124i.y),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.x),intBitsToFloat(R124i.y)) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.w = tempi.x; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[6].x))); -PS1i = R126i.w; -// 12 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_remappedVS[6].z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].y))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedVS[6].x))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedVS[6].y))); -PS0i = R126i.y; -// 13 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R126i.w))); -PS1i = R125i.x; -// 14 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R124i.y)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R124i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R127i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(R125i.z))); -// 15 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R125i.x))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.w))); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 16 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w))); -PV0i.x = R124i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedVS[6].z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_remappedVS[6].x))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_remappedVS[6].y))); -// 17 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(PV0i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].z))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R126i.y))); -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(PS0i))); -PS1i = R126i.x; -// 18 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R125i.z))); -PS0i = R127i.y; -// 19 -backupReg0i = R0i.x; -backupReg1i = R127i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(backupReg1i))); -PS1i = R127i.w; -// 20 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R127i.x))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(R125i.w))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(R127i.y))); -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R124i.y))); -PS0i = R7i.x; -// 21 -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(R126i.x))); -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(R127i.w))); -// 22 -R13i.z = R11i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -R1i.w = 0; -PS0i = R1i.w; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R4i.z = R3i.w; -R4i.z = floatBitsToInt(intBitsToFloat(R4i.z) * 2.0); -PS1i = R4i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].w)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R4i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R4i.x; -// 3 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV0i.w))); -PV1i.x = R125i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.z))); -PV1i.y = R125i.y; -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.y))); -PV1i.z = R124i.z; -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].w)) + intBitsToFloat(PV0i.x))); -PV1i.w = R0i.w; -R127i.y = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.y; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.w; -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R13i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R10i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(intBitsToFloat(R13i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.y)); -R126i.y = ((intBitsToFloat(PV1i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(PV1i.w))); -R126i.w = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R125i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R125i.z; -// 7 -R0i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.w))); -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R127i.z; -// 9 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.z = R126i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R127i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.x; -// 10 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + -(0.0)); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R126i.y = floatBitsToInt(sin((intBitsToFloat(PV1i.z))/0.1591549367)); -PS0i = R126i.y; -// 11 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R1i.z = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.x; -// 12 -R11i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV1i.w))); -PV0i.x = R11i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.w))); -PV0i.y = R124i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV1i.w))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.x))/0.1591549367)); -PS0i = R127i.w; -// 13 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.z))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R125i.z))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R125i.z))); -R125i.z = floatBitsToInt(cos((intBitsToFloat(R126i.x))/0.1591549367)); -PS1i = R125i.z; -// 14 -R2i.x = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(PV1i.y)); -PV0i.x = R2i.x; -R11i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(PV1i.x)); -PV0i.y = R11i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R124i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = R2i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R125i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.y)),intBitsToFloat(R1i.y)) + intBitsToFloat(R126i.w))); -PS0i = R125i.x; -// 15 -backupReg0i = R0i.w; -R12i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R12i.x; -PV1i.y = R12i.x; -PV1i.z = R12i.x; -PV1i.w = R12i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.w)),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.y = tempi.x; -R4i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS0i = R4i.w; -// 17 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.z = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(R124i.x))); -PS1i = R122i.x; -// 18 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg2i = R126i.z; -backupReg1i = R1i.y; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(PS1i)) + intBitsToFloat(R8i.y))); -R1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(backupReg1i)) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R5i.x = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + 0.5); -PS0i = R5i.x; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(R125i.x)) + intBitsToFloat(R8i.x))); -PS1i = R126i.w; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R125i.w; -// 21 -backupReg0i = R9i.x; -R9i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(uf_remappedVS[12].w))); -PV1i.z = R9i.z; -R8i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),intBitsToFloat(R126i.z)) + intBitsToFloat(R9i.y))); -R8i.x = floatBitsToInt(intBitsToFloat(R126i.w) + 0.5); -PS1i = R8i.x; -// 22 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.w = tempi.x; -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.w))); -PS0i = R9i.y; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.z), intBitsToFloat(R9i.x))); -PS0i = R126i.x; -// 1 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(intBitsToFloat(R9i.w) + intBitsToFloat(R9i.y)); -PS1i = R127i.w; -// 2 -backupReg0i = R126i.x; -backupReg1i = R8i.y; -R126i.x = ((R0i.x == 0)?(PS1i):(PS1i)); -R8i.y = floatBitsToInt(intBitsToFloat(R1i.x) + 0.5); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedVS[0].z))); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(backupReg0i)); -R9i.x = floatBitsToInt(intBitsToFloat(backupReg1i) + 0.5); -PS0i = R9i.x; -// 3 -backupReg0i = R0i.w; -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = R124i.x; -PV1i.y = R124i.x; -PV1i.z = R124i.x; -PV1i.w = R124i.x; -R125i.x = ((R0i.x == 0)?(PV0i.z):(R1i.w)); -PS1i = R125i.x; -// 4 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -R0i.x = ((R4i.x == 0)?(R126i.x):(0x3f800000)); -R123i.y = ((backupReg0i == 0)?(R126i.w):(R126i.w)); -PV0i.y = R123i.y; -R127i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((backupReg0i == 0)?(PV1i.x):(PV1i.x)); -PV0i.w = R123i.w; -R5i.y = floatBitsToInt(intBitsToFloat(R8i.w) + 0.5); -PS0i = R5i.y; -// 5 -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.z))); -R0i.y = ((R4i.x == 0)?(PV0i.y):(0x3f800000)); -R10i.z = ((R4i.x == 0)?(R125i.x):(0x3f800000)); -R0i.w = ((R4i.x == 0)?(PV0i.w):(0x3f800000)); -R1i.x = 0; -PS1i = R1i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.y = floatBitsToInt(intBitsToFloat(R11i.y) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS0i = R9i.y; -// 7 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R125i.w = floatBitsToInt(tempResultf); -PS1i = R125i.w; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.y = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PS1i))); -PS0i = R126i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = tempi.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R125i.w))); -PS1i = R127i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R125i.w))); -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(PS0i),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); -R2i.z = 0; -PV0i.z = R2i.z; -R1i.w = 0; -PV0i.w = R1i.w; -R6i.x = ((R127i.z == 0)?(R1i.x):(R127i.w)); -PS0i = R6i.x; -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -PV1i.x = R127i.x; -R6i.y = ((R127i.z == 0)?(R9i.y):(R126i.w)); -R6i.z = ((R127i.z == 0)?(PV0i.z):(backupReg0i)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); -R6i.w = ((R127i.z == 0)?(PV0i.w):(R124i.x)); -PS1i = R6i.w; -// 14 -backupReg0i = R8i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedVS[20].x)) + intBitsToFloat(R2i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(uf_remappedVS[14].y))); -R8i.z = R1i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedVS[20].y)) + intBitsToFloat(R0i.z))); -PV0i.w = R123i.w; -R8i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PS0i = R8i.y; -// 15 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(R4i.w)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[20].z)) + intBitsToFloat(R2i.y))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); -R9i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0); -PS1i = R9i.y; -// 16 -R123i.x = ((R1i.z == 0)?(PV1i.y):(0x3f800000)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R8i.w = R5i.x; -PS0i = R8i.w; -// 17 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV0i.z))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV0i.y))); -R0i.z = PV0i.x; -R0i.z = clampFI32(R0i.z); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.w = R123i.w; -R9i.z = floatBitsToInt(intBitsToFloat(R10i.x) * intBitsToFloat(0x3c800000)); -PS1i = R9i.z; -// 18 -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV1i.w))); -R9i.w = R10i.y; -// 19 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R5i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R4i.z; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R4i.z; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R5i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R4i.z))); -PS0i = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R5i.z)); -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.w; -R0i.x = ((PV0i.x == 0)?(backupReg0i):(0x3f800000)); -R0i.y = ((PV0i.x == 0)?(backupReg1i):(0x3f800000)); -R0i.z = ((PV0i.x == 0)?(R10i.z):(0x3f800000)); -R0i.w = ((PV0i.x == 0)?(backupReg2i):(0x3f800000)); -R122i.x = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(R4i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -R123i.z = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R12i.x) + intBitsToFloat(PS1i))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedVS[21].y))); -// 3 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(tempResultf); -// 4 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedVS[21].z))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].z), intBitsToFloat(R127i.z))); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(R126i.y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R123i.x = clampFI32(R123i.x); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(min(intBitsToFloat(PS1i), 1.0)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedVS[21].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedVS[24].w))); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedVS[25].w))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedVS[19].w))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 11 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].y)) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].x)) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R126i.y; -// 12 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[24].z)) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.y = R123i.y; -// 13 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[25].x)) + intBitsToFloat(R127i.w))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[25].y)) + intBitsToFloat(R127i.z))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[25].z)) + intBitsToFloat(PV0i.y))); -} - -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -// export -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R6i.x)*(origRatio / newRatio), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R8i.x), intBitsToFloat(R8i.y), intBitsToFloat(R8i.z), intBitsToFloat(R8i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/ccc475eb7e537add_0000000000000000_vs.txt b/Source/XenobladeX/ccc475eb7e537add_0000000000000000_vs.txt deleted file mode 100644 index c0cab249..00000000 --- a/Source/XenobladeX/ccc475eb7e537add_0000000000000000_vs.txt +++ /dev/null @@ -1,556 +0,0 @@ - - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader ccc475eb7e537add -//motion streaks sword -uniform ivec4 uf_remappedVS[22]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 4) out vec4 passParameterSem5; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 3) out vec4 passParameterSem4; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem5.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem6.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].y) + -(intBitsToFloat(0x3dcccccd))); -R127i.y = 0; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].w) + -(intBitsToFloat(0x3dcccccd))); -R124i.w = 0x3f800000; -PV0i.w = R124i.w; -R124i.z = 0; -PS0i = R124i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS1i = R126i.z; -// 2 -backupReg0i = R127i.z; -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + -(intBitsToFloat(uf_remappedVS[0].w))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(uf_remappedVS[0].x)); -R127i.z = ((intBitsToFloat(backupReg0i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R2i.w = floatBitsToInt(intBitsToFloat(R6i.x) + -(0.5)); -R8i.z = 0; -PS0i = R8i.z; -// 3 -R123i.x = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.x = R123i.x; -R126i.y = ((-(1.0) > intBitsToFloat(uf_remappedVS[2].y))?int(0xFFFFFFFF):int(0x0)); -R123i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[3].z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.z = R123i.z; -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R6i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R125i.z = floatBitsToInt(tempResultf); -PS1i = R125i.z; -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(R127i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(R126i.z)); -R123i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[3].w) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.z = R123i.z; -R126i.w = uf_remappedVS[4].z; -PS0i = floatBitsToInt(fract(intBitsToFloat(PV1i.z))); -// 5 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.z))); -R125i.y = uf_remappedVS[5].z; -R1i.z = uf_remappedVS[1].z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.x)); -R122i.x = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R122i.x; -// 6 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(R125i.z) * intBitsToFloat(uf_remappedVS[3].x)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + -(0.0)); -R127i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x3e22f983)); -R125i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[6].x) + -(1.0)); -PS0i = R125i.z; -// 7 -R6i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[6].y) + -(1.0)); -R125i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[6].z) + -(1.0)); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R127i.x; -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PV1i.y)); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PV1i.y)); -R7i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[7].x) + -(intBitsToFloat(uf_remappedVS[7].y))); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(PV1i.y)); -R126i.z = floatBitsToInt(sin((intBitsToFloat(R127i.w))/0.1591549367)); -PS0i = R126i.z; -// 9 -backupReg0i = R2i.y; -R125i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(PV0i.x)); -PV1i.x = R125i.x; -R2i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.w)); -PV1i.y = R2i.y; -R0i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = R0i.z; -R5i.w = floatBitsToInt(intBitsToFloat(R127i.x) + -(0.5)); -R124i.y = floatBitsToInt(cos((intBitsToFloat(R127i.w))/0.1591549367)); -PS1i = R124i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.z = tempi.x; -R2i.z = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(PS1i)); -PS0i = R2i.z; -// 11 -backupReg0i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R124i.w)),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.y = tempi.x; -R9i.x = ((R126i.y == 0)?(PV0i.x):(PV0i.x)); -PS1i = R9i.x; -// 12 -backupReg0i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R124i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.y = ((R126i.y == 0)?(PV1i.x):(PV1i.x)); -PS0i = R9i.y; -// 13 -backupReg0i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R124i.w)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = tempi.x; -R9i.z = ((R126i.y == 0)?(PV0i.x):(R127i.y)); -PS1i = R9i.z; -// 14 -R127i.x = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(R126i.z)); -R5i.y = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(uf_remappedVS[6].w) + 1.0)); -R6i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[6].w) + 1.0)); -R9i.w = ((R126i.y == 0)?(PV1i.x):(PV1i.x)); -R0i.x = floatBitsToInt(sin((intBitsToFloat(R6i.x))/0.1591549367)); -PS0i = R0i.x; -// 15 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R124i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R5i.x = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(PS0i)); -PS1i = R5i.x; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.w),intBitsToFloat(R125i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R126i.w),intBitsToFloat(R125i.y),intBitsToFloat(R1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.z = tempi.x; -R6i.y = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(uf_remappedVS[6].w) + 1.0)); -PS0i = R6i.y; -// 17 -backupReg0i = R124i.y; -R2i.x = ((intBitsToFloat(uf_remappedVS[7].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -PV1i.x = R2i.x; -R124i.y = floatBitsToInt((-(intBitsToFloat(R126i.z)) * intBitsToFloat(R5i.w) + intBitsToFloat(R2i.z))); -R2i.z = ((intBitsToFloat(uf_remappedVS[7].x) == intBitsToFloat(uf_remappedVS[7].y))?int(0xFFFFFFFF):int(0x0)); -R126i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R5i.w) + intBitsToFloat(R127i.x))); -R8i.x = 0; -PS1i = R8i.x; -// 18 -backupReg0i = R0i.z; -R10i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R124i.w)),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w)))); -PV0i.x = R10i.x; -PV0i.y = R10i.x; -PV0i.z = R10i.x; -PV0i.w = R10i.x; -R8i.x = ((PV1i.x == 0)?(PS1i):(R5i.z)); -PS0i = R8i.x; -// 19 -backupReg0i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R124i.w)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.y = tempi.x; -R5i.z = R3i.w; -R5i.z = floatBitsToInt(intBitsToFloat(R5i.z) * 2.0); -PS1i = R5i.z; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R2i.y),intBitsToFloat(R0i.z),intBitsToFloat(R124i.w)),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.z = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(R126i.x)); -PS0i = floatBitsToInt(tempResultf); -// 21 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -R1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.x = R1i.x; -R1i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(PS0i)); -PV1i.y = R1i.y; -R0i.z = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(uf_remappedVS[12].z) + intBitsToFloat(uf_remappedVS[12].x))); -R0i.w = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[12].w) + intBitsToFloat(uf_remappedVS[12].y))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R124i.z)); -PS1i = floatBitsToInt(tempResultf); -// 22 -backupReg0i = R1i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(R8i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[13].x)),-(intBitsToFloat(uf_remappedVS[13].y)),-(intBitsToFloat(uf_remappedVS[13].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = tempi.x; -R1i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS1i)); -PS0i = R1i.x; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.w; -R11i.x = floatBitsToInt(intBitsToFloat(R0i.z) + 0.5); -PV0i.y = floatBitsToInt(intBitsToFloat(R1i.z) + 0.5); -R124i.z = floatBitsToInt(-(intBitsToFloat(R10i.z))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(R1i.x), -(intBitsToFloat(R1i.x)))); -R1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -PS0i = R1i.y; -// 1 -backupReg0i = R2i.y; -PV1i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -R124i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(uf_remappedVS[7].y))); -R0i.z = 0; -PV1i.z = R0i.z; -R0i.w = 0; -R2i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedVS[7].w))); -PS1i = R2i.y; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[14].x) + intBitsToFloat(R5i.y))); -PV0i.x = R123i.x; -R8i.y = ((R2i.x == 0)?(PS1i):(R0i.y)); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[14].z) + intBitsToFloat(R6i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[14].y) + intBitsToFloat(R6i.z))); -PV0i.w = R123i.w; -R8i.z = ((R2i.x == 0)?(PV1i.z):(R124i.z)); -PS0i = R8i.z; -// 3 -backupReg0i = R0i.w; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); -R8i.w = ((R2i.x == 0)?(backupReg0i):(R1i.w)); -PS1i = R8i.w; -// 4 -R1i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[14].w) + 1.0)); -PV0i.x = R1i.x; -R0i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[14].w) + 1.0)); -PV0i.y = R0i.y; -R0i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[14].w) + 1.0)); -PV0i.z = R0i.z; -R11i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + 1.0); -PS0i = R11i.y; -// 5 -backupReg0i = R3i.x; -R3i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -R1i.y = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(PV0i.y)); -R1i.z = floatBitsToInt(intBitsToFloat(R3i.z) * intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(cos((intBitsToFloat(R6i.x))/0.1591549367)); -// 6 -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(PS1i)); -R123i.w = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(R5i.w) + intBitsToFloat(R5i.x))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R7i.z)); -// 7 -R126i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[15].w) + intBitsToFloat(uf_remappedVS[15].y))); -R123i.y = floatBitsToInt((-(intBitsToFloat(R0i.x)) * intBitsToFloat(R5i.w) + intBitsToFloat(PV0i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R124i.y) * intBitsToFloat(PS0i)); -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[15].z) + intBitsToFloat(uf_remappedVS[15].x))); -PV0i.x = R123i.x; -R123i.y = ((R2i.z == 0)?(PV1i.z):(0x3f800000)); -PV0i.y = R123i.y; -// 9 -R2i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -R2i.y = floatBitsToInt(intBitsToFloat(R126i.x) + 0.5); -PV1i.y = R2i.y; -R0i.w = PV0i.y; -R0i.w = clampFI32(R0i.w); -// 10 -R2i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R2i.z = R7i.x; -R2i.w = R7i.y; -// 11 -predResult = (intBitsToFloat(uf_remappedVS[0].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R10i.z)) + -(intBitsToFloat(uf_remappedVS[0].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[0].x)) + intBitsToFloat(uf_remappedVS[0].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[0].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(uf_remappedVS[0].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[0].z)) + intBitsToFloat(uf_remappedVS[0].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R10i.z)) + -(intBitsToFloat(uf_remappedVS[16].x))); -// 1 -R126i.x = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R0i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(R0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[16].y)); -R127i.w = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R1i.x)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -backupReg0i = R0i.w; -R127i.x = floatBitsToInt(intBitsToFloat(R10i.x) * intBitsToFloat(PS1i)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R10i.y) * intBitsToFloat(PS1i)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R10i.z) * intBitsToFloat(PS1i)); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -R4i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R5i.z)); -PS0i = R4i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 4 -R4i.x = floatBitsToInt(max(intBitsToFloat(R3i.x), 0.0)); -R4i.y = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[16].z)); -R4i.z = floatBitsToInt(max(intBitsToFloat(R1i.z), 0.0)); -PS0i = R4i.z; -// 5 -R1i.x = floatBitsToInt(max(intBitsToFloat(R127i.w), 0.0)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0); -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[18].z) * intBitsToFloat(R127i.z)); -R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),1.0,0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV1i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -PV1i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), 1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[19].w)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -R127i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[20].w)); -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[16].w)); -R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV1i.w))); -PS0i = R127i.z; -// 9 -backupReg0i = R126i.y; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[19].y) + intBitsToFloat(uf_remappedVS[21].y))); -R126i.y = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[19].x) + intBitsToFloat(uf_remappedVS[21].x))); -R1i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), 0.0)); -R1i.y = floatBitsToInt(max(intBitsToFloat(backupReg1i), 0.0)); -PS1i = R1i.y; -// 10 -R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[19].z) + intBitsToFloat(uf_remappedVS[21].z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(exp2(intBitsToFloat(R127i.x))); -// 11 -R0i.x = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[20].x) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[20].y) + intBitsToFloat(R126i.x))); -R0i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[20].z) + intBitsToFloat(PV0i.w))); -// 12 -R0i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[13].w)); -} -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -// export -gl_Position = vec4(intBitsToFloat(R9i.x)*(origRatio / newRatio), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem5 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R11i.x), intBitsToFloat(R11i.y), intBitsToFloat(R11i.z), intBitsToFloat(R11i.z)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/ccc6fb8b53f5f651_0000000000000000_vs.txt b/Source/XenobladeX/ccc6fb8b53f5f651_0000000000000000_vs.txt deleted file mode 100644 index 012e86e0..00000000 --- a/Source/XenobladeX/ccc6fb8b53f5f651_0000000000000000_vs.txt +++ /dev/null @@ -1,1416 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader ccc6fb8b53f5f651 -//flying enemies trails 2 -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -layout(location = 11) in uvec4 attrDataSem11; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 5) out vec4 passParameterSem5; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 4) out vec4 passParameterSem4; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -ivec4 R16i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem9; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem11.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R12i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(max(intBitsToFloat(R5i.x), -(intBitsToFloat(R5i.x)))); -PV0i.x = R126i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(max(intBitsToFloat(R5i.y), -(intBitsToFloat(R5i.y)))); -PV0i.z = R126i.z; -R126i.w = R5i.z; -R127i.z = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV0i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV0i.z))); -PS1i = R127i.x; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(R126i.w))); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.w)); -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R127i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -R125i.x = R6i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 5 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R8i.y))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R8i.x))); -R126i.z = R6i.z; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = R6i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R8i.z))); -PS1i = R125i.w; -// 6 -PV0i.x = R8i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R8i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R124i.y; -// 7 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R11i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.x)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R125i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R127i.w))); -PS1i = R127i.x; -// 8 -R126i.x = R6i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = R6i.z; -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = R6i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R126i.z))); -R125i.x = R6i.w; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 9 -backupReg0i = R124i.x; -backupReg1i = R126i.y; -R124i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(backupReg0i)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg1i)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV0i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV0i.y))); -PS1i = R127i.z; -// 10 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R11i.z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R124i.w)) + intBitsToFloat(R5i.y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R125i.x))); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R125i.x))); -PS1i = R124i.x; -// 12 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(R125i.x))); -PV0i.z = R125i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(backupReg0i)); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R8i.x))); -PV1i.x = R6i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R8i.y))); -PV1i.y = R0i.y; -R15i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(PV0i.z))); -R6i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R5i.x = 0; -PS1i = R5i.x; -// 14 -R7i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R8i.yzw = floatBitsToInt(vec3(intBitsToFloat(PV1i.y),intBitsToFloat(R0i.z),intBitsToFloat(R126i.x)) + vec3(intBitsToFloat(R126i.z),intBitsToFloat(R126i.y),-(intBitsToFloat(R124i.x)))); -R13i.y = 0; -PS0i = R13i.y; -// 15 -R13i.x = 0x3f800000; -R7i.y = 0x3f800000; -R13i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R12i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R124i.x)); -PS1i = R12i.w; -// 16 -R6i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R125i.z)); -R4i.w = floatBitsToInt(-(intBitsToFloat(R127i.x)) + 1.0); -R13i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -PS0i = R13i.w; -// 17 -R0i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R14i.z = 0; -PS1i = R14i.z; -// 18 -R7i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R5i.w))/0.1591549367)); -// 19 -R127i.x = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R5i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R125i.y))/0.1591549367)); -// 22 -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 23 -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); -R5i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R124i.y))/0.1591549367)); -PS1i = R127i.w; -// 24 -R14i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R124i.y))/0.1591549367)); -// 25 -R6i.x = PS0i; -R0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R6i.y = PS0i; -PS1i = R6i.y; -// 26 -R12i.z = floatBitsToInt(sqrt(intBitsToFloat(R0i.x))); -PS0i = R12i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R7i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R1i.z,R0i.w,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R13i.x = uf_remappedVS[1].z; -PS0i = R13i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = uf_remappedVS[4].z; -PS1i = R13i.y; -// 4 -R13i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), -(intBitsToFloat(PV1i.x)))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R8i.y)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R5i.x = PV1i.x; -PS0i = R5i.x; -// 9 -R8i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R8i.x; -PV1i.y = R8i.x; -PV1i.z = R8i.x; -PV1i.w = R8i.x; -R5i.y = R127i.y; -PS1i = R5i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R8i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.z = tempi.x; -// 12 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R7i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -backupReg0i = R0i.y; -R15i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),0.0))); -PV0i.x = R15i.x; -PV0i.y = R15i.x; -PV0i.z = R15i.x; -PV0i.w = R15i.x; -R5i.x = uf_remappedVS[1].x; -PS0i = R5i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R6i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R13i.z))); -R5i.y = uf_remappedVS[1].y; -R5i.z = uf_remappedVS[1].z; -// 3 -backupReg0i = R0i.y; -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R7i.z; -R7i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R13i.z))); -R16i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R6i.x)) + intBitsToFloat(PS1i))); -PS0i = R16i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R14i.x),intBitsToFloat(R6i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[1].y))); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R5i.z; -// 2 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[1].y))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[4].y))); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[4].y))); -// 5 -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[5].y))); -// 6 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[5].y))); -// 7 -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.w))); -R7i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R126i.x))); -PS0i = R7i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R7i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R5i.y = 0; -R5i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R7i.y = 0; -R0i.z = 0; -R7i.z = uf_remappedVS[1].x; -PS1i = R7i.z; -// 2 -R11i.z = 0; -// 3 -R14i.z = R12i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R8i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R15i.x),intBitsToFloat(R11i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = R8i.x; -PV0i.y = R8i.x; -PV0i.z = R8i.x; -PV0i.w = R8i.x; -R13i.x = R5i.z; -PS0i = R13i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R15i.x),intBitsToFloat(R11i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.y = tempi.x; -R13i.y = backupReg1i; -PS1i = R13i.y; -// 2 -backupReg0i = R8i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R15i.x),intBitsToFloat(R11i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.z = tempi.x; -R13i.z = R7i.z; -PS0i = R13i.z; -// 3 -backupReg0i = R0i.z; -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R16i.x),intBitsToFloat(R14i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(backupReg0i))); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R16i.x),intBitsToFloat(R14i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R7i.z))); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R16i.x),intBitsToFloat(R14i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R8i.x = R8i.z; -R8i.z = R7i.x; -R7i.x = R7i.z; -PS0i = R7i.x; -// 1 -R7i.y = R1i.y; -R7i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R8i.y):(R7i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R8i.z):(R8i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R7i.x):(R8i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R8i.y; -R8i.x = ((R127i.y == 0)?(PV1i.x):(R7i.x)); -R8i.y = ((R127i.y == 0)?(PV1i.w):(R8i.z)); -R8i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R7i.z):(R7i.z)); -PV0i.w = R123i.w; -R7i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R7i.x; -// 3 -backupReg0i = R7i.y; -R13i.x = ((R127i.y == 0)?(0):(R5i.x)); -R7i.y = ((R127i.y == 0)?(R127i.z):(R7i.z)); -R7i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R13i.y = ((R127i.y == 0)?(0):(backupReg0i)); -PS1i = R13i.y; -// 4 -backupReg0i = R13i.z; -R13i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R14i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R14i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R6i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R6i.y))); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R1i.z) * 1.0); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R6i.x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R0i.y)) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R14i.x))); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R6i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.z))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PV1i.x))); -PS0i = R126i.x; -// 3 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R6i.x)) + intBitsToFloat(R127i.x))); -R125i.y = floatBitsToInt((intBitsToFloat(R5i.w) * 0.0 + intBitsToFloat(R127i.y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R0i.y)) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.z), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.z), intBitsToFloat(R126i.w))); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R15i.z), intBitsToFloat(R125i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg1i))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R125i.x))); -PS0i = R124i.z; -// 5 -backupReg0i = R127i.z; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.w), intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(PV0i.y))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -R11i.z = 0; -PS1i = R11i.z; -// 6 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(R125i.w))); -// 7 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(R126i.z))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R127i.w))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -PV1i.z = R126i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(backupReg1i)) + intBitsToFloat(R125i.x))); -// 8 -backupReg0i = R127i.z; -backupReg1i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(R124i.z))); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(R127i.x))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(PV1i.z))); -// 9 -backupReg0i = R125i.y; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R126i.w))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R126i.z))); -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(PS0i))); -PS1i = R127i.x; -// 10 -backupReg0i = R126i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R127i.w))); -PS0i = R124i.y; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R127i.y),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[6].x))); -PS1i = R127i.w; -// 12 -backupReg0i = R126i.z; -backupReg1i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(R126i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(uf_remappedVS[6].z))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].y))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg1i))); -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(R127i.z))); -PS0i = R0i.x; -// 13 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R124i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R127i.w))); -PS1i = R124i.x; -// 14 -backupReg0i = R127i.x; -backupReg1i = R126i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(R124i.y))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(backupReg1i))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R126i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R127i.z))); -// 15 -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R124i.x))); -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.w))); -R8i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(R0i.x))); -PS1i = R122i.x; -// 16 -backupReg0i = R127i.y; -backupReg1i = R126i.w; -backupReg1i = R126i.w; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(PS1i))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(uf_remappedVS[6].y))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedVS[6].x))); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedVS[6].z))); -PS0i = R124i.x; -// 17 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg1i = R124i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].x))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R124i.z))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].z))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedVS[6].y))); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.z),intBitsToFloat(backupReg1i)) + intBitsToFloat(R126i.y))); -PS1i = R122i.x; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R124i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PS1i))); -PS0i = R124i.y; -// 19 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R124i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R126i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R127i.z))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R124i.w))); -PS1i = R127i.x; -// 20 -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV1i.z))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV1i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R124i.z))); -PV0i.w = R123i.w; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV1i.x))); -PS0i = R6i.x; -// 21 -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(R127i.x))); -R13i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.y),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(R126i.y))); -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.w))); -PS1i = R6i.z; -// 22 -R14i.z = R12i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -R0i.x = 0; -PS0i = R0i.x; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R7i.z = R3i.w; -R7i.z = floatBitsToInt(intBitsToFloat(R7i.z) * 2.0); -PS1i = R7i.z; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].w)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R5i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R5i.x; -// 3 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R126i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.z))); -PV1i.y = R126i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.w))); -PV1i.z = R126i.z; -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].w)) + intBitsToFloat(PV0i.y))); -PV1i.w = R0i.w; -R127i.w = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(R14i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R14i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -R127i.x = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.w)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(PV1i.x))); -R126i.w = ((intBitsToFloat(PV1i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R125i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R125i.w; -// 7 -R123i.x = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.x = R123i.x; -R12i.y = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -PV1i.z = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -R123i.w = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R126i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R127i.x))); -R123i.w = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R126i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R126i.w; -// 9 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -PV1i.x = R127i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(PV0i.z)); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.y; -// 10 -R2i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + -(0.0)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R126i.w = floatBitsToInt(sin((intBitsToFloat(PV1i.x))/0.1591549367)); -PS0i = R126i.w; -// 11 -R123i.x = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.x = R123i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R2i.w = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R125i.z = floatBitsToInt(cos((intBitsToFloat(R127i.x))/0.1591549367)); -PS1i = R125i.z; -// 12 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.x), intBitsToFloat(PV1i.x))); -PV0i.x = R124i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV1i.x))); -PV0i.y = R124i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.z), intBitsToFloat(PV1i.x))); -PV0i.z = R124i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R127i.y = floatBitsToInt(sin((intBitsToFloat(R127i.z))/0.1591549367)); -PS0i = R127i.y; -// 13 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R125i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R125i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R125i.w))); -R127i.x = floatBitsToInt(cos((intBitsToFloat(R127i.z))/0.1591549367)); -PS1i = R127i.x; -// 14 -R12i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV1i.z)); -PV0i.x = R12i.x; -R2i.y = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(PV1i.y)); -PV0i.y = R2i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = R2i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.w)),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.w))); -PS0i = R126i.z; -// 15 -backupReg0i = R0i.w; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R1i.x; -PV1i.y = R1i.x; -PV1i.z = R1i.x; -PV1i.w = R1i.x; -R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.w))); -PS1i = R127i.z; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R125i.y))); -PS0i = R126i.x; -// 17 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.z = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(R125i.x))); -PS1i = R122i.x; -// 18 -backupReg0i = R126i.x; -backupReg1i = R9i.y; -backupReg2i = R126i.z; -R126i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R9i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(PS1i)) + intBitsToFloat(R10i.y))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg1i))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.z),intBitsToFloat(backupReg2i)) + intBitsToFloat(R9i.x))); -R0i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -PS0i = R0i.z; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.z),intBitsToFloat(R127i.z)) + intBitsToFloat(R10i.x))); -PS1i = R9i.w; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R124i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R124i.x; -// 21 -R10i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R0i.y = floatBitsToInt(intBitsToFloat(R126i.z) + 0.5); -R9i.z = floatBitsToInt(-(intBitsToFloat(R11i.z))); -R10i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedVS[12].w))); -PV1i.w = R10i.w; -R7i.x = floatBitsToInt(intBitsToFloat(R127i.w) + 0.5); -PS1i = R7i.x; -// 22 -backupReg0i = R0i.w; -R9i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = R9i.x; -PV0i.y = R9i.x; -PV0i.z = R9i.x; -PV0i.w = R9i.x; -R10i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R124i.x))); -PS0i = R10i.z; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(R10i.x))); -PS0i = R124i.y; -// 1 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(intBitsToFloat(R9i.x) + intBitsToFloat(R10i.z)); -PS1i = R126i.x; -// 2 -backupReg0i = R127i.w; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedVS[0].z))); -R1i.y = floatBitsToInt(intBitsToFloat(R9i.y) + 0.5); -R126i.z = ((R12i.y == 0)?(PS1i):(PS1i)); -R127i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R124i.y)); -R8i.x = floatBitsToInt(intBitsToFloat(R9i.w) + 0.5); -PS0i = R8i.x; -// 3 -backupReg0i = R0i.w; -backupReg1i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R124i.y = ((R12i.y == 0)?(PV0i.x):(backupReg1i)); -PS1i = R124i.y; -// 4 -R123i.x = ((R12i.y == 0)?(PV1i.x):(PV1i.x)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R6i.z)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(uf_remappedVS[2].z))); -R123i.w = ((R12i.y == 0)?(R127i.w):(R127i.w)); -PV0i.w = R123i.w; -R9i.x = ((R5i.x == 0)?(R126i.z):(0x3f800000)); -PS0i = R9i.x; -// 5 -R123i.x = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.y))); -PV1i.x = R123i.x; -R9i.y = ((R5i.x == 0)?(PV0i.w):(0x3f800000)); -R2i.z = ((R5i.x == 0)?(R124i.y):(0x3f800000)); -R0i.w = ((R5i.x == 0)?(PV0i.x):(0x3f800000)); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.y),intBitsToFloat(uf_remappedVS[2].y)) + intBitsToFloat(PV0i.z))); -PS1i = R122i.x; -// 6 -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R13i.x),intBitsToFloat(uf_remappedVS[2].x)) + intBitsToFloat(PS1i))); -R124i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.z), intBitsToFloat(uf_remappedVS[3].z))); -R0i.x = 0; -PS0i = R0i.x; -// 7 -backupReg0i = R2i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = tempi.x; -R2i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS1i = R2i.y; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R8i.z = 0; -PS0i = R8i.z; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(R124i.y)); -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -R3i.w = 0; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PS0i))); -// 12 -backupReg0i = R0i.z; -backupReg1i = R0i.x; -PV0i.x = floatBitsToInt(max(intBitsToFloat(PS1i), -(intBitsToFloat(PS1i)))); -R6i.y = ((R0i.z == 0)?(R2i.y):(R127i.w)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); -R6i.x = ((backupReg0i == 0)?(backupReg1i):(R126i.x)); -PS0i = R6i.x; -// 13 -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -R6i.z = ((R0i.z == 0)?(R8i.z):(R9i.z)); -R127i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R6i.w = ((R0i.z == 0)?(R3i.w):(R127i.y)); -PS1i = R6i.w; -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[20].y)) + intBitsToFloat(R1i.w))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[20].x)) + intBitsToFloat(R1i.z))); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[20].z)) + intBitsToFloat(R5i.z))); -PV0i.w = R123i.w; -R7i.y = floatBitsToInt(-(intBitsToFloat(R0i.y)) + 1.0); -PS0i = R7i.y; -// 15 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + -(1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); -R8i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + 1.0); -PS1i = R8i.y; -// 16 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV0i.x = R0i.x; -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV0i.y = R0i.y; -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV0i.z = R0i.z; -R8i.w = 0x3f800000; -R8i.z = floatBitsToInt(intBitsToFloat(R11i.x) * intBitsToFloat(0x3c800000)); -PS0i = R8i.z; -// 17 -backupReg0i = R2i.x; -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV0i.x))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PV0i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PV0i.z))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -// 18 -PV0i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -// 19 -R123i.w = ((R2i.w == 0)?(PV0i.z):(0x3f800000)); -PV1i.w = R123i.w; -// 20 -R3i.z = PV1i.w; -R3i.z = clampFI32(R3i.z); -// 21 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R7i.z; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R7i.z; -R7i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(backupReg0i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R0i.y))); -PV0i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R0i.z))); -PS0i = R127i.w; -// 1 -R4i.x = ((PV0i.w == 0)?(R9i.x):(0x3f800000)); -R4i.y = ((PV0i.w == 0)?(R9i.y):(0x3f800000)); -R4i.z = ((PV0i.w == 0)?(R2i.z):(0x3f800000)); -R4i.w = ((PV0i.w == 0)?(R0i.w):(0x3f800000)); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[21].y))); -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R5i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R5i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PS1i), 0.0)); -PS0i = R127i.z; -// 3 -R0i.x = floatBitsToInt(max(intBitsToFloat(R2i.x), 0.0)); -R0i.y = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R7i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.z = floatBitsToInt(max(intBitsToFloat(R1i.z), 0.0)); -PS1i = R0i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedVS[21].z))); -R2i.y = floatBitsToInt(max(intBitsToFloat(R126i.z), 0.0)); -R2i.z = floatBitsToInt(max(intBitsToFloat(R127i.w), 0.0)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R2i.x = floatBitsToInt(max(intBitsToFloat(R126i.y), 0.0)); -PS0i = R2i.x; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].z), intBitsToFloat(R127i.z))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),1.0,0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedVS[24].w))); -PV1i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), 1.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedVS[21].w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedVS[25].w))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 11 -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].y)) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].x)) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R126i.w; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedVS[24].z)) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.x = R123i.x; -// 13 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].x)) + intBitsToFloat(R127i.z))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].y)) + intBitsToFloat(R125i.y))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[25].z)) + intBitsToFloat(PV0i.x))); -// 14 -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_remappedVS[19].w))); -} - -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -// export -gl_Position = vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -// export -passParameterSem5 = vec4(intBitsToFloat(R8i.x), intBitsToFloat(R8i.y), intBitsToFloat(R8i.z), intBitsToFloat(R8i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.z)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/d0664898dbf28dfa_0000000000000000_vs.txt b/Source/XenobladeX/d0664898dbf28dfa_0000000000000000_vs.txt deleted file mode 100644 index 84afcc8e..00000000 --- a/Source/XenobladeX/d0664898dbf28dfa_0000000000000000_vs.txt +++ /dev/null @@ -1,84 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader d0664898dbf28dfa// Pillarbox cutscene fmvs 16:9 -> 21:9 -uniform ivec4 uf_remappedVS[1]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem1.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -// 0 -backupReg0f = R2f.x; -backupReg1f = R2f.y; -backupReg2f = R1f.z; -R2f.x = backupReg0f; -R2f.y = backupReg1f; -PV0f.z = R1f.y * intBitsToFloat(uf_remappedVS[0].y); -PV0f.w = R1f.x * intBitsToFloat(uf_remappedVS[0].x); -R1f.z = backupReg2f; -PS0f = R1f.z; -// 1 -R1f.x = PV0f.w + intBitsToFloat(uf_remappedVS[0].z); -R1f.y = PV0f.z + intBitsToFloat(uf_remappedVS[0].w); -R1f.w = 1.0; -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(R1f.x*(origRatio / newRatio), R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.z); -// 0 -} diff --git a/Source/XenobladeX/d321199dc854621f_0000000000000000_vs.txt b/Source/XenobladeX/d321199dc854621f_0000000000000000_vs.txt deleted file mode 100644 index 972615f8..00000000 --- a/Source/XenobladeX/d321199dc854621f_0000000000000000_vs.txt +++ /dev/null @@ -1,1286 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader d321199dc854621f -//flying enemies trails -uniform ivec4 uf_remappedVS[26]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 4) out vec4 passParameterSem4; -layout(location = 3) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem4; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem6.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem3.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem7.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(max(intBitsToFloat(R4i.x), -(intBitsToFloat(R4i.x)))); -PV0i.x = R126i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(max(intBitsToFloat(R4i.y), -(intBitsToFloat(R4i.y)))); -PV0i.z = R126i.z; -R126i.w = R4i.z; -R127i.z = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.z))); -PS1i = R127i.x; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R126i.w))); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.w)); -R4i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R127i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R124i.w)) + intBitsToFloat(R126i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -R125i.x = R5i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 5 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R7i.y))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R7i.x))); -R126i.z = R5i.z; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = R5i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R7i.z))); -PS1i = R125i.w; -// 6 -PV0i.x = R7i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R7i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R124i.y; -// 7 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R8i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.x)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R125i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.w))); -PS1i = R127i.x; -// 8 -R126i.x = R5i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = R5i.z; -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = R5i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.z))); -R125i.x = R5i.w; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 9 -backupReg0i = R124i.x; -backupReg1i = R126i.y; -R124i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(backupReg0i)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(backupReg1i)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.y))); -PS1i = R127i.z; -// 10 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R8i.z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R4i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R4i.z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R124i.w)) + intBitsToFloat(R4i.y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R125i.x))); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R125i.x))); -PS1i = R124i.x; -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R125i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.x)); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x))); -PV1i.x = R5i.x; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R7i.y))); -PV1i.y = R0i.y; -R12i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -R7i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R4i.x = 0; -PS1i = R4i.x; -// 14 -R6i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R7i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.z)); -R7i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R126i.y)); -R8i.w = floatBitsToInt(intBitsToFloat(R126i.x) + -(intBitsToFloat(R124i.x))); -R10i.y = 0; -PS0i = R10i.y; -// 15 -R10i.x = 0x3f800000; -R6i.y = 0x3f800000; -R10i.z = 0; -R9i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R10i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R124i.x)); -PS1i = R10i.w; -// 16 -R5i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R125i.z)); -R5i.w = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R125i.z))); -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -PS0i = R11i.w; -// 17 -R0i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R11i.z = 0; -PS1i = R11i.z; -// 18 -R6i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R4i.w))/0.1591549367)); -// 19 -R126i.x = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R4i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R125i.y))/0.1591549367)); -// 22 -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS1i))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 23 -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); -R4i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R124i.y))/0.1591549367)); -PS1i = R127i.w; -// 24 -R11i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R124i.y))/0.1591549367)); -// 25 -R5i.x = PS0i; -R0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R5i.y = PS0i; -PS1i = R5i.y; -// 26 -R9i.z = floatBitsToInt(sqrt(intBitsToFloat(R0i.x))); -PS0i = R9i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R6i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R1i.z,R0i.w,R4i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R5i.x = uf_remappedVS[1].z; -PS0i = R5i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.y = uf_remappedVS[4].z; -PS1i = R5i.y; -// 4 -R5i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), -(intBitsToFloat(PV1i.x)))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R7i.y)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R4i.x = PV1i.x; -PS0i = R4i.x; -// 9 -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R1i.x; -PV1i.y = R1i.x; -PV1i.z = R1i.x; -PV1i.w = R1i.x; -R4i.y = R127i.y; -PS1i = R4i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.z = tempi.x; -// 12 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R6i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -backupReg0i = R0i.y; -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -R4i.x = uf_remappedVS[1].x; -PS0i = R4i.x; -// 1 -backupReg0i = R7i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R5i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R10i.z))); -R4i.y = uf_remappedVS[1].y; -R4i.z = uf_remappedVS[1].z; -// 3 -backupReg0i = R0i.y; -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R6i.z; -R6i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R10i.z))); -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(PS1i))); -PS0i = R10i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.y = tempi.x; -R10i.z = 0; -PS1i = R10i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[1].y))); -R4i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R4i.z; -// 2 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[1].y))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[4].y))); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[4].y))); -// 5 -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[5].y))); -// 6 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[5].y))); -// 7 -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.w))); -R6i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R6i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R126i.x))); -PS0i = R6i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R6i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R4i.y = 0; -R4i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R6i.y = 0; -R0i.z = 0; -R6i.z = uf_remappedVS[1].x; -PS1i = R6i.z; -// 2 -R8i.z = 0; -// 3 -R11i.z = R9i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -R5i.x = R4i.z; -PS0i = R5i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.y = tempi.x; -R5i.y = backupReg1i; -PS1i = R5i.y; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = tempi.x; -R5i.z = R6i.z; -PS0i = R5i.z; -// 3 -backupReg0i = R0i.z; -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(backupReg0i))); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R6i.z))); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R7i.x = R7i.z; -R7i.z = R6i.x; -R6i.x = R6i.z; -PS0i = R6i.x; -// 1 -R6i.y = R1i.y; -R6i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R7i.y):(R6i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R7i.z):(R7i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R6i.x):(R7i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R7i.y; -R7i.x = ((R127i.y == 0)?(PV1i.x):(R6i.x)); -R7i.y = ((R127i.y == 0)?(PV1i.w):(R7i.z)); -R7i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R6i.z):(R6i.z)); -PV0i.w = R123i.w; -R6i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R6i.x; -// 3 -backupReg0i = R6i.y; -R10i.x = ((R127i.y == 0)?(0):(R4i.x)); -R6i.y = ((R127i.y == 0)?(R127i.z):(R6i.z)); -R6i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R10i.y = ((R127i.y == 0)?(0):(backupReg0i)); -PS1i = R10i.y; -// 4 -backupReg0i = R10i.z; -R10i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R11i.x))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R11i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R5i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) * 1.0); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.y), intBitsToFloat(R5i.y))); -PS0i = R126i.x; -// 1 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.x))); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.w))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R0i.y)) + intBitsToFloat(PV0i.z))); -PV1i.z = R127i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R1i.z) * 1.0); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R11i.x))); -PS1i = R125i.z; -// 2 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(PV1i.x))); -R125i.y = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(PV1i.z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R5i.y))); -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R9i.w), intBitsToFloat(PV1i.y))); -PS0i = R124i.x; -// 3 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg1i = R127i.z; -backupReg1i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(backupReg0i))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(R127i.y))); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(backupReg1i))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg1i))); -PS1i = R124i.w; -// 4 -backupReg0i = R127i.y; -backupReg1i = R126i.x; -backupReg2i = R127i.w; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(R126i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(backupReg0i))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R0i.y)) + intBitsToFloat(backupReg1i))); -R127i.w = floatBitsToInt((intBitsToFloat(R4i.w) * 0.0 + intBitsToFloat(backupReg2i))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R125i.z)) + intBitsToFloat(R125i.x))); -PS0i = R124i.z; -// 5 -backupReg0i = R126i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R125i.y)) + intBitsToFloat(R124i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(R126i.w))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(R125i.w)) + intBitsToFloat(backupReg0i))); -R8i.z = 0; -PS1i = R8i.z; -// 6 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(R124i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(PV1i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.z),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg1i))); -PV0i.w = R123i.w; -// 7 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(R124i.y))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(R124i.z))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(R126i.y))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w))); -// 8 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R126i.z))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R126i.w))); -PV0i.y = R126i.y; -// 9 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(R126i.x)) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(R0i.z)) + intBitsToFloat(R124i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(backupReg1i))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PV0i.y))); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R125i.z))); -// 10 -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R124i.y),intBitsToFloat(R126i.y),intBitsToFloat(R125i.z),0.0))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R124i.y)) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R127i.z),intBitsToFloat(R125i.x),intBitsToFloat(R125i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.y = tempi.x; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(R126i.y)) + intBitsToFloat(PS0i))); -PS1i = R5i.x; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.z = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y)) + intBitsToFloat(R127i.w))); -PS0i = R122i.x; -// 13 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(R125i.w))); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R125i.w))); -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R127i.z),intBitsToFloat(R125i.x),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R125i.x)) + intBitsToFloat(PV1i.y))); -PS0i = R122i.x; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.z = tempi.x; -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(PS0i))); -PS1i = R7i.y; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.z = tempi.x; -// 17 -R11i.z = R9i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(R11i.z)) + intBitsToFloat(uf_remappedVS[6].x)); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[6].y) + -(intBitsToFloat(0x3dcccccd))); -R127i.z = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(uf_remappedVS[6].w)); -R2i.w = 0x3f800000; -PV0i.w = R2i.w; -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[6].w) + -(intBitsToFloat(0x3dcccccd))); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS1i = R126i.x; -// 2 -R0i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -PV0i.y = floatBitsToInt(-(intBitsToFloat(R8i.z)) + -(intBitsToFloat(PV1i.x))); -R126i.z = ((intBitsToFloat(R127i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[8].w)) + 1.0); -R0i.z = 0; -PS0i = R0i.z; -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[9].z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(R127i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[9].w) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R127i.x)); -tempResultf = log2(intBitsToFloat(R8i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 4 -R123i.x = ((intBitsToFloat(PV1i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.x))); -R123i.z = ((intBitsToFloat(PV1i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(fract(intBitsToFloat(PV1i.z))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedVS[9].x))); -PS0i = R127i.x; -// 5 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R126i.x))); -R126i.y = floatBitsToInt(intBitsToFloat(R8i.x) + -(0.5)); -PS1i = R126i.y; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.y)); -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e22f983)); -PV0i.y = R127i.y; -R126i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e22f983)); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[10].x) + -(1.0)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(R127i.x))); -// 7 -R127i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[10].y) + -(1.0)); -R125i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[10].z) + -(1.0)); -R125i.z = floatBitsToInt(intBitsToFloat(PS0i) + -(0.5)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + -(0.0)); -R125i.w = floatBitsToInt(sin((intBitsToFloat(PV0i.y))/0.1591549367)); -PS1i = R125i.w; -// 8 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedVS[10].w)) + 1.0)); -R123i.z = ((intBitsToFloat(PV1i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = R123i.z; -R124i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].x) + -(intBitsToFloat(uf_remappedVS[11].y))); -R126i.x = floatBitsToInt(cos((intBitsToFloat(R127i.y))/0.1591549367)); -PS0i = R126i.x; -// 9 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.z))); -PV1i.x = R124i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z))); -PV1i.y = R124i.y; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV0i.z))); -PV1i.z = R124i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -R127i.z = floatBitsToInt(sin((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.z; -// 10 -backupReg0i = R126i.z; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R126i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(R126i.w))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -PS0i = R127i.y; -// 11 -R6i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(PV0i.y)); -PV1i.x = R6i.x; -R10i.y = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.x)); -PV1i.y = R10i.y; -R9i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.w)); -PV1i.z = R9i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS0i))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[10].w)) + 1.0)); -PS1i = R1i.y; -// 12 -R11i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV0i.x = R11i.x; -PV0i.y = R11i.x; -PV0i.z = R11i.x; -PV0i.w = R11i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.w)),intBitsToFloat(R125i.z)) + intBitsToFloat(R127i.w))); -PS0i = R127i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -R2i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.z)),intBitsToFloat(R125i.z)) + intBitsToFloat(R126i.w))); -PS1i = R2i.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -R2i.z = floatBitsToInt(1.0 / intBitsToFloat(R124i.w)); -PS0i = R2i.z; -// 15 -backupReg0i = R127i.y; -backupReg1i = R126i.z; -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(uf_remappedVS[10].w)) + 1.0)); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R125i.z)) + intBitsToFloat(R125i.x))); -R126i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) * intBitsToFloat(0x42800000)); -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.z)) + intBitsToFloat(backupReg1i))); -R4i.y = ((intBitsToFloat(uf_remappedVS[11].x) == intBitsToFloat(uf_remappedVS[11].y))?int(0xFFFFFFFF):int(0x0)); -PS1i = R4i.y; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R124i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.x = floatBitsToInt(-(intBitsToFloat(R6i.z))); -PS0i = R4i.x; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R124i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3a4ccccd)); -PS1i = R124i.z; -// 18 -R124i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3ab60b61)); -R11i.y = floatBitsToInt(intBitsToFloat(R10i.y) + -(intBitsToFloat(uf_remappedVS[11].w))); -R4i.z = ((intBitsToFloat(uf_remappedVS[11].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(uf_remappedVS[8].w))); -PV0i.w = R124i.w; -R12i.x = 0; -PS0i = R12i.x; -// 19 -backupReg0i = R124i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(backupReg0i))); -PS1i = R124i.y; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(R124i.x))); -// 21 -R8i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[14].z)) + intBitsToFloat(uf_remappedVS[14].x))); -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(uf_remappedVS[14].w)) + intBitsToFloat(uf_remappedVS[14].y))); -R1i.z = floatBitsToInt(intBitsToFloat(R124i.z) + intBitsToFloat(R124i.y)); -PV1i.z = R1i.z; -R1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PS0i)); -R8i.z = 0; -PS1i = R8i.z; -// 22 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.y = tempi.x; -R10i.x = ((backupReg0i == 0)?(PV1i.z):(PV1i.z)); -PS0i = R10i.x; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R10i.y),intBitsToFloat(R9i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R10i.y = ((R0i.x == 0)?(R1i.w):(R1i.w)); -PS0i = R10i.y; -// 1 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[17].z)) + intBitsToFloat(uf_remappedVS[17].x))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(uf_remappedVS[17].w)) + intBitsToFloat(uf_remappedVS[17].y))); -R10i.z = ((R0i.x == 0)?(R2i.y):(R0i.z)); -R10i.w = ((R0i.x == 0)?(PV0i.x):(PV0i.x)); -R2i.x = floatBitsToInt(intBitsToFloat(R8i.x) + 0.5); -PS1i = R2i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.y = floatBitsToInt(intBitsToFloat(R8i.y) + 0.5); -PS0i = R2i.y; -// 3 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R124i.y = floatBitsToInt(tempResultf); -PS1i = R124i.y; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PS1i))); -PS0i = R124i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R124i.y))); -PS1i = R125i.y; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R124i.y))); -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(PS0i),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[18].x)),-(intBitsToFloat(uf_remappedVS[18].y)),-(intBitsToFloat(uf_remappedVS[18].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); -R5i.y = floatBitsToInt(intBitsToFloat(R126i.y) + 0.5); -PV0i.y = R5i.y; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS1i))); -R5i.x = floatBitsToInt(intBitsToFloat(R126i.x) + 0.5); -PS0i = R5i.x; -// 9 -backupReg0i = R2i.y; -R126i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.x = R126i.x; -R2i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); -R0i.w = 0; -R5i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -PS1i = R5i.y; -// 10 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(uf_remappedVS[11].y))); -R0i.y = R3i.w; -R0i.y = floatBitsToInt(intBitsToFloat(R0i.y) * 2.0); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedVS[19].y)) + intBitsToFloat(R1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedVS[19].x)) + intBitsToFloat(backupReg0i))); -PV0i.w = R123i.w; -R5i.z = R9i.x; -PS0i = R5i.z; -// 11 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R2i.z)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedVS[19].z)) + intBitsToFloat(R1i.x))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); -R5i.w = R9i.y; -PS1i = R5i.w; -// 12 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedVS[19].w)) + 1.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedVS[19].w)) + 1.0)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0)); -R124i.w = ((R4i.y == 0)?(PV1i.x):(0x3f800000)); -R1i.x = ((R4i.z == 0)?(R12i.x):(R1i.z)); -PS0i = R1i.x; -// 13 -backupReg0i = R3i.x; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.y))); -R1i.y = ((R4i.z == 0)?(R11i.y):(R1i.w)); -R1i.z = ((R4i.z == 0)?(R8i.z):(R4i.x)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedVS[19].w)) + 1.0)); -PV1i.w = R123i.w; -R1i.w = ((R4i.z == 0)?(R0i.w):(R125i.x)); -PS1i = R1i.w; -// 14 -backupReg0i = R3i.y; -backupReg1i = R3i.z; -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R126i.x))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV1i.w))); -R4i.y = R124i.w; -R4i.y = clampFI32(R4i.y); -PS0i = R4i.y; -// 15 -predResult = (intBitsToFloat(uf_remappedVS[6].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.y = floatBitsToInt(-(intBitsToFloat(R6i.z)) + -(intBitsToFloat(uf_remappedVS[6].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(uf_remappedVS[6].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[6].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.y = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(uf_remappedVS[6].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(uf_remappedVS[6].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R6i.z)) + -(intBitsToFloat(uf_remappedVS[20].x))); -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedVS[20].y))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R0i.y))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.x), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedVS[20].z))); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[22].z), intBitsToFloat(R127i.z))); -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 6 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PS1i), 1.0)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R123i.w = clampFI32(R123i.w); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedVS[23].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedVS[20].w))); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedVS[24].w))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(uf_remappedVS[18].w))); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 9 -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[23].y)) + intBitsToFloat(uf_remappedVS[25].y))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[23].x)) + intBitsToFloat(uf_remappedVS[25].x))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R127i.x; -// 10 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedVS[23].z)) + intBitsToFloat(uf_remappedVS[25].z))); -PV0i.x = R123i.x; -// 11 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[24].x)) + intBitsToFloat(R127i.z))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[24].y)) + intBitsToFloat(R127i.y))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[24].z)) + intBitsToFloat(PV0i.x))); -} -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -// export -gl_Position = vec4(intBitsToFloat(R10i.x)*(origRatio / newRatio), intBitsToFloat(R10i.y), intBitsToFloat(R10i.z), intBitsToFloat(R10i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.z)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/d7074f19f5ca3b20_0000000000000000_vs.txt b/Source/XenobladeX/d7074f19f5ca3b20_0000000000000000_vs.txt deleted file mode 100644 index 93b7850a..00000000 --- a/Source/XenobladeX/d7074f19f5ca3b20_0000000000000000_vs.txt +++ /dev/null @@ -1,302 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader d7074f19f5ca3b20 -//tower counter -uniform ivec4 uf_remappedVS[14]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem1.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem2; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem3.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -// 0 -R123i.x = floatBitsToInt((intBitsToFloat(R3i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R3i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R125i.z = 0; -R126i.w = 0; -R126i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R4i.x)); -PS0i = R126i.x; -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -PV1i.y = floatBitsToInt(fract(intBitsToFloat(PV0i.x))); -R0i.z = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R4i.y)); -R125i.w = 0x3f800000; -R125i.x = ((0.0 > intBitsToFloat(R3i.w))?int(0xFFFFFFFF):int(0x0)); -PS1i = R125i.x; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -R124i.y = 0x3f800000; -R1i.z = 0; -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R3i.z = 0; -PS0i = R3i.z; -// 3 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R4i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + 0.5); -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.z = R127i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(R1i.x) + 0.5); -// 4 -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3d579436)); -PS0i = floatBitsToInt(sin((intBitsToFloat(PV1i.z))/0.1591549367)); -// 5 -R4i.x = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(PV0i.z)); -R124i.z = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -R127i.w = PS0i; -PS1i = floatBitsToInt(cos((intBitsToFloat(R127i.z))/0.1591549367)); -// 6 -R126i.y = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -R127i.z = PS1i; -PV0i.z = R127i.z; -PS0i = floatBitsToInt(sin((intBitsToFloat(R127i.x))/0.1591549367)); -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 8 -backupReg0i = R127i.z; -PV0i.x = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS1i)); -// 9 -backupReg0i = R126i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.w),intBitsToFloat(R0i.z),intBitsToFloat(R126i.x),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.y),intBitsToFloat(backupReg0i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = tempi.x; -// 10 -backupReg0i = R126i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.z),intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),-0.0),vec4(intBitsToFloat(R126i.w),intBitsToFloat(R0i.z),intBitsToFloat(R126i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.w),intBitsToFloat(R0i.z),intBitsToFloat(R126i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(R126i.z)); -PS1i = R127i.x; -// 12 -backupReg0i = R126i.y; -R126i.y = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(backupReg0i)); -PV0i.y = R126i.y; -R126i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = R126i.z; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(R125i.w)),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),intBitsToFloat(R125i.w)),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = ((R125i.x == 0)?(PV1i.x):(0)); -PS0i = R127i.z; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),intBitsToFloat(R125i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.x = ((R125i.x == 0)?(PV0i.x):(R1i.z)); -PS1i = R1i.x; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),intBitsToFloat(R125i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = ((R125i.x == 0)?(PV1i.x):(R3i.z)); -PS0i = R1i.y; -// 17 -PV1i.x = floatBitsToInt(intBitsToFloat(R125i.w) * intBitsToFloat(uf_remappedVS[4].w)); -R1i.z = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3f7fff58)); -R1i.w = ((R125i.x == 0)?(PV0i.x):(R124i.y)); -R125i.x = floatBitsToInt(intBitsToFloat(R125i.w) * intBitsToFloat(uf_remappedVS[5].w)); -PS1i = R125i.x; -// 18 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),intBitsToFloat(PV1i.x)),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),1.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),intBitsToFloat(R125i.x)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),1.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.y = tempi.x; -// 20 -backupReg0i = R126i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R125i.w)),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -// 21 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + -(intBitsToFloat(uf_remappedVS[7].x))); -// 22 -PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[7].y)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 23 -backupReg0i = R126i.z; -R0i.x = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS0i)); -PV1i.x = R0i.x; -R2i.y = floatBitsToInt(intBitsToFloat(R124i.y) * intBitsToFloat(PS0i)); -PV1i.y = R2i.y; -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.z = R126i.z; -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), 0.0)); -// 24 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 25 -R3i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[7].z)); -R3i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); -R2i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * intBitsToFloat(R126i.z)); -PS1i = R2i.x; -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R1i.x) *(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.z)); -// 0 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[9].y) * intBitsToFloat(R2i.y) + intBitsToFloat(R2i.x))); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(-(intBitsToFloat(R3i.w)) + 1.0); -PS0i = floatBitsToInt(exp2(intBitsToFloat(R3i.x))); -// 1 -PV1i.y = floatBitsToInt(min(intBitsToFloat(PS0i), 1.0)); -R123i.w = floatBitsToInt((intBitsToFloat(uf_remappedVS[9].x) * intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.x))); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[10].w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[7].w)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 3 -PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[11].w)); -R0i.w = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[12].w)); -R125i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R125i.w; -// 4 -R124i.y = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[10].y) + intBitsToFloat(uf_remappedVS[13].y))); -R126i.z = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[10].x) + intBitsToFloat(uf_remappedVS[13].x))); -R126i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R126i.x; -// 5 -R123i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(uf_remappedVS[10].z) + intBitsToFloat(uf_remappedVS[13].z))); -PV1i.x = R123i.x; -// 6 -R0i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[11].x) + intBitsToFloat(R126i.z))); -R0i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[11].y) + intBitsToFloat(R124i.y))); -R0i.z = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[11].z) + intBitsToFloat(PV1i.x))); -passParameterSem0 = vec4(intBitsToFloat(R0i.x) *(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// 0 -} diff --git a/Source/XenobladeX/d8e69e8df8c227f5_00000000000003c9_ps.txt b/Source/XenobladeX/d8e69e8df8c227f5_00000000000003c9_ps.txt index ab75d9ff..a0a121c7 100644 --- a/Source/XenobladeX/d8e69e8df8c227f5_00000000000003c9_ps.txt +++ b/Source/XenobladeX/d8e69e8df8c227f5_00000000000003c9_ps.txt @@ -1,10 +1,3 @@ - #version 420 #extension GL_ARB_texture_gather : enable @@ -19,8 +12,8 @@ layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4386000 res layout(location = 0) in vec4 passParameterSem0; layout(location = 0) out vec4 passPixelColor0; uniform vec2 uf_fragCoordScale; -const float resScale = ; -const int sampleScale = ; +const float resScale = ($height/$gameHeight); +const int sampleScale = 3; highp float lineRand(vec2 co) diff --git a/Source/XenobladeX/df832bc2e6d22e45_0000000000000000_vs.txt b/Source/XenobladeX/df832bc2e6d22e45_0000000000000000_vs.txt deleted file mode 100644 index 834d84ad..00000000 --- a/Source/XenobladeX/df832bc2e6d22e45_0000000000000000_vs.txt +++ /dev/null @@ -1,1394 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader df832bc2e6d22e45 // water splash drinking -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem3; -layout(location = 3) out vec4 passParameterSem4; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem4; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem6.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem3.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem7; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem9.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(max(intBitsToFloat(R4i.x), -(intBitsToFloat(R4i.x)))); -PV0i.x = R126i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(max(intBitsToFloat(R4i.y), -(intBitsToFloat(R4i.y)))); -PV0i.z = R126i.z; -R126i.w = R4i.z; -R127i.z = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -R127i.w = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(PV0i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(PV0i.z)); -PS1i = R127i.x; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R126i.w)); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.w)); -R4i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R127i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R124i.w) + intBitsToFloat(R126i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R126i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -R125i.x = R5i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 5 -R124i.x = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R7i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R7i.x)); -R126i.z = R5i.z; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = R5i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(R7i.z)); -PS1i = R125i.w; -// 6 -PV0i.x = R7i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R7i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R124i.y; -// 7 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R10i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R125i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R127i.w)); -PS1i = R127i.x; -// 8 -R126i.x = R5i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = R5i.z; -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = R5i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R126i.z)); -R125i.x = R5i.w; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 9 -backupReg0i = R124i.x; -backupReg1i = R126i.y; -R124i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(backupReg0i)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(backupReg1i)); -R0i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PV0i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PV0i.y)); -PS1i = R127i.z; -// 10 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R10i.z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R125i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(backupReg0i)); -R126i.y = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R125i.x)); -R124i.x = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R125i.x)); -PS1i = R124i.x; -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R125i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.x)); -R1i.z = 0; -PS0i = R1i.z; -// 13 -R4i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R7i.x)); -PV1i.x = R4i.x; -R0i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R7i.y)); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -R7i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R14i.x = 0; -PS1i = R14i.x; -// 14 -R4i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R13i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.z)); -R14i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R126i.y)); -R10i.w = floatBitsToInt(intBitsToFloat(R126i.x) + -(intBitsToFloat(R124i.x))); -R12i.y = 0; -PS0i = R12i.y; -// 15 -R12i.x = 0x3f800000; -R7i.y = 0x3f800000; -R12i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R12i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R124i.x)); -PS1i = R12i.w; -// 16 -R1i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R125i.z)); -R5i.w = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R125i.z))); -R13i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -PS0i = R13i.w; -// 17 -R4i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R13i.z = 0; -PS1i = R13i.z; -// 18 -R7i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R4i.w))/0.1591549367)); -// 19 -R126i.x = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R4i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R125i.y))/0.1591549367)); -// 22 -R6i.y = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS1i)); -R5i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 23 -R0i.y = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS0i)); -R6i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -R4i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R124i.y))/0.1591549367)); -PS1i = R127i.w; -// 24 -R6i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R124i.y))/0.1591549367)); -// 25 -R5i.x = PS0i; -R4i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R5i.y = PS0i; -PS1i = R5i.y; -// 26 -R11i.z = floatBitsToInt(sqrt(intBitsToFloat(R0i.x))); -PS0i = R11i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R6i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R5i.z,R0i.w,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R6i.x = uf_remappedVS[1].z; -PS0i = R6i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = uf_remappedVS[4].z; -PS1i = R6i.y; -// 4 -R6i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * -(intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.x) * -(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R4i.x = PV1i.x; -PS0i = R4i.x; -// 9 -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R5i.x; -PV1i.y = R5i.x; -PV1i.z = R5i.x; -PV1i.w = R5i.x; -R4i.y = R127i.y; -PS1i = R4i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.z = tempi.x; -// 12 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 14 -backupReg0i = R7i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R6i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R4i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R13i.y),intBitsToFloat(R14i.z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -R0i.x = uf_remappedVS[1].x; -PS0i = R0i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R13i.y),intBitsToFloat(R14i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R12i.z)); -R0i.y = uf_remappedVS[1].y; -R0i.z = uf_remappedVS[1].z; -// 3 -backupReg0i = R4i.y; -R4i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R12i.z; -R12i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(backupReg0i)); -R13i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(R5i.x) + intBitsToFloat(PS1i))); -PS0i = R13i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[1].y)); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R0i.z; -// 2 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[1].y)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[4].y)); -R4i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R4i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[4].y)); -// 5 -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 7 -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R12i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.y))); -R4i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w))); -R12i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R12i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R126i.x))); -PS0i = R12i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R6i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R0i.y = 0; -R0i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R4i.y = 0x3f800000; -PS0i = R4i.y; -// 1 -R12i.y = 0; -R4i.z = 0; -R12i.z = uf_remappedVS[1].x; -PS1i = R12i.z; -// 2 -R10i.z = 0; -// 3 -R13i.z = R11i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R5i.x; -PV0i.y = R5i.x; -PV0i.z = R5i.x; -PV0i.w = R5i.x; -R6i.x = backupReg1i; -PS0i = R6i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.y = tempi.x; -R6i.y = R4i.z; -PS1i = R6i.y; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.z = tempi.x; -R6i.z = R12i.z; -PS0i = R6i.z; -// 3 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R10i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -PS1i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R4i.z)); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R12i.z)); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R10i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R13i.x = R14i.z; -R13i.z = R4i.x; -R7i.x = R7i.z; -PS0i = R7i.x; -// 1 -R7i.y = R1i.y; -R7i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R13i.y):(R4i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R14i.z):(R14i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R4i.x):(R13i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R13i.y; -R13i.x = ((R127i.y == 0)?(PV1i.x):(R4i.x)); -R13i.y = ((R127i.y == 0)?(PV1i.w):(R14i.z)); -R13i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R7i.z):(R7i.z)); -PV0i.w = R123i.w; -R7i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R7i.x; -// 3 -backupReg0i = R7i.y; -R12i.x = ((R127i.y == 0)?(0):(R14i.x)); -R7i.y = ((R127i.y == 0)?(R127i.z):(R7i.z)); -R7i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R12i.y = ((R127i.y == 0)?(0):(backupReg0i)); -PS1i = R12i.y; -// 4 -backupReg0i = R12i.z; -R12i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R6i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(R6i.z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R6i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R5i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R5i.y)); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -R125i.z = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R5i.x) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R4i.y) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R6i.x)); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R5i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.z)); -R126i.x = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.x)); -PS0i = R126i.x; -// 3 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R5i.x) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(R4i.w) * 0.0 + intBitsToFloat(R127i.y))); -R124i.z = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R4i.y) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(intBitsToFloat(R5i.w) * intBitsToFloat(R125i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R5i.w) * intBitsToFloat(R126i.w)); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -R126i.x = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.w) * intBitsToFloat(R125i.x)); -R126i.z = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R10i.z = 0; -PS0i = R10i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R126i.w)); -R127i.y = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R125i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(backupReg0i)); -R126i.w = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R124i.x) + intBitsToFloat(PV0i.y))); -PS1i = R125i.z; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i))); -// 7 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R127i.w))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R125i.z; -backupReg1i = R127i.y; -R124i.x = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(PV1i.y)); -R125i.z = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R126i.z)); -// 9 -backupReg0i = R124i.z; -backupReg1i = R125i.y; -R0i.x = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R126i.w))); -R124i.z = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.x))); -R0i.w = floatBitsToInt((intBitsToFloat(R7i.w) * intBitsToFloat(backupReg1i) + intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R124i.y),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R124i.y) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.w = tempi.x; -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].x)); -PS1i = R126i.w; -// 12 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(R126i.z) + intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[6].z)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].y)); -R125i.w = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].x)); -R126i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].y)); -PS0i = R126i.y; -// 13 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R125i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R126i.w))); -PS1i = R125i.x; -// 14 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(R124i.y) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(R124i.x)); -R123i.z = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R127i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R125i.z)); -// 15 -R5i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R125i.x))); -R5i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.w))); -R5i.z = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 16 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w))); -PV0i.x = R124i.x; -R125i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(R125i.z) + intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R125i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].z)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[6].x)); -PS0i = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[6].y)); -// 17 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV0i.w))); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].z)); -R125i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R126i.y))); -R126i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PS0i))); -PS1i = R126i.x; -// 18 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R125i.z))); -PS0i = R127i.y; -// 19 -backupReg0i = R0i.x; -backupReg1i = R127i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(backupReg1i))); -PS1i = R127i.w; -// 20 -R6i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R127i.x))); -R6i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R125i.w))); -R6i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R127i.y))); -R7i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R124i.y))); -PS0i = R7i.x; -// 21 -R7i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R126i.x))); -R7i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R127i.w))); -// 22 -R13i.z = R11i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -R1i.w = 0; -PS0i = R1i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R4i.z = R3i.w; -R4i.z = floatBitsToInt(intBitsToFloat(R4i.z) * 2.0); -PS1i = R4i.z; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R4i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R4i.x; -// 3 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV0i.w))); -PV1i.x = R125i.x; -R125i.y = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.z))); -PV1i.y = R125i.y; -R124i.z = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.y))); -PV1i.z = R124i.z; -R0i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].w) + intBitsToFloat(PV0i.x))); -PV1i.w = R0i.w; -R127i.y = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.y; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.w; -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R13i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R10i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(intBitsToFloat(R13i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.y)); -R126i.y = ((intBitsToFloat(PV1i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(PV1i.w))); -R126i.w = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R125i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R125i.z; -// 7 -R0i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(R126i.y)); -R123i.y = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R126i.w)); -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R127i.z; -// 9 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.z = R126i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R127i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.x; -// 10 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + -(0.0)); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R0i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R2i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R126i.y = floatBitsToInt(sin((intBitsToFloat(PV1i.z))/0.1591549367)); -PS0i = R126i.y; -// 11 -R124i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -R2i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R1i.z = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.x; -// 12 -R11i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PV1i.w)); -PV0i.x = R11i.x; -R124i.y = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(PV1i.w)); -PV0i.y = R124i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PV1i.w)); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.x))/0.1591549367)); -PS0i = R127i.w; -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(R125i.z)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R125i.z)); -R126i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(R125i.z)); -R125i.z = floatBitsToInt(cos((intBitsToFloat(R126i.x))/0.1591549367)); -PS1i = R125i.z; -// 14 -R2i.x = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(PV1i.y)); -PV0i.x = R2i.x; -R11i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(PV1i.x)); -PV0i.y = R11i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R124i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = R2i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R125i.x = floatBitsToInt((-(intBitsToFloat(R126i.y)) * intBitsToFloat(R1i.y) + intBitsToFloat(R126i.w))); -PS0i = R125i.x; -// 15 -backupReg0i = R0i.w; -R12i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R12i.x; -PV1i.y = R12i.x; -PV1i.z = R12i.x; -PV1i.w = R12i.x; -R126i.x = floatBitsToInt((-(intBitsToFloat(R127i.w)) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.y = tempi.x; -R4i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS0i = R4i.w; -// 17 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.z = tempi.x; -R122i.x = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(R124i.x))); -PS1i = R122i.x; -// 18 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg2i = R126i.z; -backupReg1i = R1i.y; -R1i.x = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(PS1i) + intBitsToFloat(R8i.y))); -R1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -R126i.z = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R5i.x = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + 0.5); -PS0i = R5i.x; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(R125i.x) + intBitsToFloat(R8i.x))); -PS1i = R126i.w; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R125i.w; -// 21 -backupReg0i = R9i.x; -R9i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R8i.y = floatBitsToInt((intBitsToFloat(R9i.z) * intBitsToFloat(R126i.x) + intBitsToFloat(backupReg0i))); -R9i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[12].w)); -PV1i.z = R9i.z; -R8i.w = floatBitsToInt((intBitsToFloat(R9i.w) * intBitsToFloat(R126i.z) + intBitsToFloat(R9i.y))); -R8i.x = floatBitsToInt(intBitsToFloat(R126i.w) + 0.5); -PS1i = R8i.x; -// 22 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.w = tempi.x; -R9i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(R125i.w)); -PS0i = R9i.y; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R126i.x = floatBitsToInt(intBitsToFloat(R9i.z) * intBitsToFloat(R9i.x)); -PS0i = R126i.x; -// 1 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(intBitsToFloat(R9i.w) + intBitsToFloat(R9i.y)); -PS1i = R127i.w; -// 2 -backupReg0i = R126i.x; -R126i.x = ((R0i.x == 0)?(PS1i):(PS1i)); -R0i.y = floatBitsToInt(intBitsToFloat(R1i.x) + 0.5); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[0].z)); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(backupReg0i)); -R9i.x = floatBitsToInt(intBitsToFloat(R8i.y) + 0.5); -PS0i = R9i.x; -// 3 -backupReg0i = R0i.w; -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = R124i.x; -PV1i.y = R124i.x; -PV1i.z = R124i.x; -PV1i.w = R124i.x; -R125i.x = ((R0i.x == 0)?(PV0i.z):(R1i.w)); -PS1i = R125i.x; -// 4 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -R0i.x = ((R4i.x == 0)?(R126i.x):(0x3f800000)); -R123i.y = ((backupReg0i == 0)?(R126i.w):(R126i.w)); -PV0i.y = R123i.y; -R127i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((backupReg0i == 0)?(PV1i.x):(PV1i.x)); -PV0i.w = R123i.w; -R9i.y = floatBitsToInt(intBitsToFloat(R8i.w) + 0.5); -PS0i = R9i.y; -// 5 -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.z))); -R5i.y = ((R4i.x == 0)?(PV0i.y):(0x3f800000)); -R10i.z = ((R4i.x == 0)?(R125i.x):(0x3f800000)); -R0i.w = ((R4i.x == 0)?(PV0i.w):(0x3f800000)); -R1i.x = 0; -PS1i = R1i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.y = floatBitsToInt(intBitsToFloat(R11i.y) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS0i = R8i.y; -// 7 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R125i.w = floatBitsToInt(tempResultf); -PS1i = R125i.w; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.y = tempi.x; -R126i.x = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(PS1i)); -PS0i = R126i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = tempi.x; -R127i.y = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(R125i.w)); -PS1i = R127i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R125i.w)); -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(PS0i),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(PS1i)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); -R2i.z = 0; -PV0i.z = R2i.z; -R1i.w = 0; -PV0i.w = R1i.w; -R6i.x = ((R127i.z == 0)?(R1i.x):(R127i.w)); -PS0i = R6i.x; -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -PV1i.x = R127i.x; -R6i.y = ((R127i.z == 0)?(R8i.y):(R126i.w)); -R6i.z = ((R127i.z == 0)?(PV0i.z):(backupReg0i)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); -R6i.w = ((R127i.z == 0)?(PV0i.w):(R124i.x)); -PS1i = R6i.w; -// 14 -backupReg0i = R0i.y; -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[20].x) + intBitsToFloat(R2i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(uf_remappedVS[14].y))); -R8i.z = R1i.y; -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[20].y) + intBitsToFloat(R0i.z))); -PV0i.w = R123i.w; -R8i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PS0i = R8i.y; -// 15 -backupReg0i = R9i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(R4i.w)); -R123i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[20].z) + intBitsToFloat(R2i.y))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); -R9i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PS1i = R9i.y; -// 16 -R123i.x = ((R1i.z == 0)?(PV1i.y):(0x3f800000)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R8i.w = R5i.x; -PS0i = R8i.w; -// 17 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(PV0i.y)); -R0i.z = PV0i.x; -R0i.z = clampFI32(R0i.z); -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.w = R123i.w; -R9i.z = floatBitsToInt(intBitsToFloat(R10i.x) * intBitsToFloat(0x3c800000)); -PS1i = R9i.z; -// 18 -R2i.z = floatBitsToInt(intBitsToFloat(R3i.z) * intBitsToFloat(PV1i.w)); -R9i.w = 0x3f800000; -// 19 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R5i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R4i.z; -R4i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R4i.z; -R4i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R5i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R2i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R4i.z)); -PS0i = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R5i.z)); -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.w; -R0i.x = ((PV0i.x == 0)?(backupReg0i):(0x3f800000)); -R0i.y = ((PV0i.x == 0)?(R5i.y):(0x3f800000)); -R0i.z = ((PV0i.x == 0)?(R10i.z):(0x3f800000)); -R0i.w = ((PV0i.x == 0)?(backupReg1i):(0x3f800000)); -R122i.x = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(R4i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -R123i.z = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R12i.x) + intBitsToFloat(PS1i))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].y)); -// 3 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(tempResultf); -// 4 -R127i.x = floatBitsToInt(intBitsToFloat(R12i.x) * intBitsToFloat(PS1i)); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(PS1i)); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PS1i)); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].z)); -PS0i = floatBitsToInt(intBitsToFloat(uf_remappedVS[23].z) * intBitsToFloat(R127i.z)); -// 7 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[23].y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[23].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R123i.x = clampFI32(R123i.x); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(min(intBitsToFloat(PS1i), 1.0)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[21].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].w)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[25].w)); -R1i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[19].w)); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 11 -R127i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].y) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].x) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R126i.y; -// 12 -R123i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[24].z) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.y = R123i.y; -// 13 -R1i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].x) + intBitsToFloat(R127i.w))); -R1i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].y) + intBitsToFloat(R127i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].z) + intBitsToFloat(PV0i.y))); -} -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -// export -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem3 = vec4(intBitsToFloat(R8i.x), intBitsToFloat(R8i.y), intBitsToFloat(R8i.z), intBitsToFloat(R8i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/dfacd3f8f448aeaa_0000000000000000_vs.txt b/Source/XenobladeX/dfacd3f8f448aeaa_0000000000000000_vs.txt deleted file mode 100644 index 5a1c2cd8..00000000 --- a/Source/XenobladeX/dfacd3f8f448aeaa_0000000000000000_vs.txt +++ /dev/null @@ -1,1278 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader dfacd3f8f448aeaa // car lights streaks -uniform ivec4 uf_remappedVS[26]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem4; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem6.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem3.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem7.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R125i.x = floatBitsToInt(max(intBitsToFloat(R4i.x), -(intBitsToFloat(R4i.x)))); -PV0i.x = R125i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(R4i.y), -(intBitsToFloat(R4i.y)))); -PV0i.z = R127i.z; -R127i.w = R4i.z; -R127i.y = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(PV0i.x)); -R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R126i.x = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(PV0i.z)); -PS1i = R126i.x; -// 2 -PV0i.x = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R127i.w)); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(R127i.x)); -R4i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -R126i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R126i.z; -// 4 -backupReg0i = R127i.y; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R127i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -R126i.y = R5i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 5 -R127i.x = R5i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R7i.x)); -R125i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R7i.y)); -R126i.w = R5i.y; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(R7i.z)); -PS1i = R125i.w; -// 6 -PV0i.x = R7i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R0i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R7i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R126i.z; -// 7 -backupReg0i = R126i.w; -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -R6i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R7i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R125i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R126i.y)); -R124i.y = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(backupReg0i)); -PS1i = R124i.y; -// 8 -PV0i.x = R5i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -R127i.y = R5i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PV0i.z = R5i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R127i.x)); -R126i.y = R5i.w; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 9 -backupReg0i = R125i.y; -R127i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R125i.w)); -R125i.y = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(R125i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(backupReg0i)); -R0i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PV0i.x)); -R125i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PV0i.z)); -PS1i = R125i.x; -// 10 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R6i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R125i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R126i.y)); -PV1i.x = R127i.x; -R125i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.z))); -R125i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R126i.y)); -R4i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PS1i = R4i.y; -// 12 -R126i.x = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R126i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R127i.y)); -R9i.w = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(PV1i.x))); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R4i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R7i.x)); -PV1i.x = R4i.x; -R5i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R7i.y)); -PV1i.y = R5i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R127i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R124i.y)); -R0i.x = 0; -PS1i = R0i.x; -// 14 -R5i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R10i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.z)); -R12i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R125i.y)); -R10i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R9i.y = 0; -PS0i = R9i.y; -// 15 -R6i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R127i.x)); -R5i.y = 0x3f800000; -R9i.z = 0; -R5i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -R7i.w = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x)); -PS1i = R7i.w; -// 16 -R9i.x = 0x3f800000; -R6i.z = floatBitsToInt(-(intBitsToFloat(R4i.y)) + 1.0); -R8i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R11i.w = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(R126i.x))); -PS0i = R11i.w; -// 17 -R0i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R10i.z = 0; -PS1i = R10i.z; -// 18 -R5i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R4i.w))/0.1591549367)); -// 19 -R127i.z = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R4i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R0i.y))/0.1591549367)); -// 22 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -R1i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 23 -R6i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -R4i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -R4i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.w; -// 24 -R4i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -// 25 -R7i.x = PS0i; -R7i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R4i.y = PS0i; -PS1i = R4i.y; -// 26 -R8i.z = floatBitsToInt(sqrt(intBitsToFloat(R124i.x))); -PS0i = R8i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R6i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R1i.z,R0i.w,R4i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R11i.x = uf_remappedVS[1].z; -PS0i = R11i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.y = uf_remappedVS[4].z; -PS1i = R11i.y; -// 4 -R11i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * -(intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.x) * -(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R1i.x = PV1i.x; -PS0i = R1i.x; -// 9 -R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R4i.x; -PV1i.y = R4i.x; -PV1i.z = R4i.x; -PV1i.w = R4i.x; -R1i.y = R127i.y; -PS1i = R1i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.z = tempi.x; -// 12 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R6i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R9i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R10i.y),intBitsToFloat(R12i.z),0.0))); -PV0i.x = R9i.x; -PV0i.y = R9i.x; -PV0i.z = R9i.x; -PV0i.w = R9i.x; -R6i.x = uf_remappedVS[1].x; -PS0i = R6i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R10i.y),intBitsToFloat(R12i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R9i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R9i.z)); -R6i.y = uf_remappedVS[1].y; -R6i.z = uf_remappedVS[1].z; -// 3 -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R5i.z; -backupReg1i = R7i.x; -R5i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R9i.z)); -R7i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(backupReg1i) + intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -backupReg0i = R1i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[1].y)); -R6i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R6i.z; -// 2 -R6i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[1].y)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[4].y)); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[4].y)); -// 5 -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 7 -R6i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R5i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w))); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R5i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R126i.x))); -PS0i = R5i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R6i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R6i.y = 0; -R6i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R5i.y = 0; -R0i.z = 0; -R5i.z = uf_remappedVS[1].x; -PS1i = R5i.z; -// 2 -R7i.z = 0; -// 3 -R10i.z = R8i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = R4i.x; -PV0i.y = R4i.x; -PV0i.z = R4i.x; -PV0i.w = R4i.x; -R11i.x = R6i.z; -PS0i = R11i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.y = tempi.x; -R11i.y = backupReg1i; -PS1i = R11i.y; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.z = tempi.x; -R11i.z = R5i.z; -PS0i = R11i.z; -// 3 -backupReg0i = R6i.x; -backupReg1i = R0i.z; -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -PS1i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(backupReg1i)); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R1i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R5i.z)); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R1i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R10i.x = R12i.z; -R10i.z = R5i.x; -R5i.x = R5i.z; -PS0i = R5i.x; -// 1 -R5i.y = R1i.y; -R5i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R10i.y):(R5i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R12i.z):(R12i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R5i.x):(R10i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R10i.y; -R10i.x = ((R127i.y == 0)?(PV1i.x):(R5i.x)); -R10i.y = ((R127i.y == 0)?(PV1i.w):(R12i.z)); -R10i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R5i.z):(R5i.z)); -PV0i.w = R123i.w; -R5i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R5i.x; -// 3 -backupReg0i = R5i.y; -R9i.x = ((R127i.y == 0)?(0):(R0i.x)); -R5i.y = ((R127i.y == 0)?(R127i.z):(R5i.z)); -R5i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R9i.y = ((R127i.y == 0)?(0):(backupReg0i)); -PS1i = R9i.y; -// 4 -backupReg0i = R9i.z; -R9i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R4i.x)); -R126i.y = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R4i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R4i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.z) * 1.0); -R126i.x = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R4i.y)); -PS0i = R126i.x; -// 1 -R127i.x = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R7i.x) + intBitsToFloat(PV0i.x))); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.w))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.z))); -PV1i.z = R127i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R1i.z) * 1.0); -R125i.z = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R4i.x)); -PS1i = R125i.z; -// 2 -R125i.x = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(PV1i.x)); -R124i.y = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.z = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(PV1i.z)); -R125i.w = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R4i.y)); -R124i.x = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(PV1i.y)); -PS0i = R124i.x; -// 3 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg1i = R127i.z; -backupReg1i = R127i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R9i.w) * intBitsToFloat(backupReg0i)); -R125i.y = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(backupReg0i)); -R127i.z = floatBitsToInt(intBitsToFloat(R9i.w) * intBitsToFloat(R127i.y)); -R126i.w = floatBitsToInt(intBitsToFloat(R9i.w) * intBitsToFloat(backupReg1i)); -R124i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(backupReg1i)); -PS1i = R124i.w; -// 4 -backupReg0i = R127i.y; -backupReg1i = R126i.x; -backupReg2i = R127i.w; -R126i.x = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R7i.x) + intBitsToFloat(R126i.y))); -R127i.y = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(backupReg0i)); -R0i.z = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R7i.y) + intBitsToFloat(backupReg1i))); -R127i.w = floatBitsToInt((intBitsToFloat(R4i.w) * 0.0 + intBitsToFloat(backupReg2i))); -R124i.z = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R125i.z) + intBitsToFloat(R125i.x))); -PS0i = R124i.z; -// 5 -backupReg0i = R127i.x; -backupReg1i = R126i.z; -backupReg2i = R125i.y; -R127i.x = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(R125i.z) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R124i.y) + intBitsToFloat(R124i.x))); -R126i.z = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(R125i.w) + intBitsToFloat(R126i.w))); -R126i.w = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R125i.w) + intBitsToFloat(backupReg1i))); -R124i.x = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R125i.z) + intBitsToFloat(backupReg2i))); -PS1i = R124i.x; -// 6 -backupReg0i = R127i.y; -backupReg1i = R124i.z; -R125i.x = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R125i.w) + intBitsToFloat(R124i.w))); -R127i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R124i.y) + intBitsToFloat(backupReg0i))); -R124i.z = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R126i.x) + intBitsToFloat(backupReg1i))); -R125i.w = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(R124i.y) + intBitsToFloat(R127i.z))); -R7i.z = 0; -PS0i = R7i.z; -// 7 -backupReg0i = R125i.y; -R125i.y = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R0i.z) + intBitsToFloat(R126i.w))); -PV1i.y = R125i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R127i.w) + intBitsToFloat(backupReg0i))); -PV1i.z = R127i.z; -// 8 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R126i.x) + intBitsToFloat(backupReg0i))); -R124i.y = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R0i.z) + intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R127i.w) + intBitsToFloat(R125i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(PV1i.y)); -PS0i = floatBitsToInt(intBitsToFloat(R9i.z) * intBitsToFloat(PV1i.z)); -// 9 -backupReg0i = R126i.x; -backupReg1i = R127i.y; -R126i.x = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R124i.x))); -R127i.y = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(R0i.z) + intBitsToFloat(R125i.x))); -R125i.z = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(R127i.w) + intBitsToFloat(backupReg1i))); -R127i.w = floatBitsToInt((intBitsToFloat(R5i.z) * intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.w))); -R122i.x = floatBitsToInt((intBitsToFloat(R9i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 10 -R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R124i.z),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = R4i.x; -PV0i.y = R4i.x; -PV0i.z = R4i.x; -PV0i.w = R4i.x; -R11i.x = floatBitsToInt((intBitsToFloat(R9i.x) * intBitsToFloat(R124i.z) + intBitsToFloat(PS1i))); -PS0i = R11i.x; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(R126i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.y = tempi.x; -R6i.x = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(R124i.z) + intBitsToFloat(R127i.w))); -PS1i = R6i.x; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R125i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.z = tempi.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(R126i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(R9i.z) * intBitsToFloat(R125i.z)); -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R11i.z = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R126i.z)); -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R125i.z)); -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -// 17 -R10i.z = R8i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(-(intBitsToFloat(R10i.z)) + intBitsToFloat(uf_remappedVS[6].x)); -R126i.y = floatBitsToInt(intBitsToFloat(R10i.z) + intBitsToFloat(uf_remappedVS[6].w)); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[6].y) + -(intBitsToFloat(0x3dcccccd))); -R4i.w = 0x3f800000; -PV0i.w = R4i.w; -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[6].w) + -(intBitsToFloat(0x3dcccccd))); -PS0i = R127i.y; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS1i = R126i.x; -// 2 -R125i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[8].w)) + 1.0); -R0i.y = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R7i.z)) + -(intBitsToFloat(PV1i.x))); -R127i.w = ((intBitsToFloat(R127i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R0i.z = 0; -PS0i = R0i.z; -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[9].z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(R127i.x)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(R126i.y))); -R123i.w = floatBitsToInt((intBitsToFloat(uf_remappedVS[9].w) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.w = R123i.w; -tempResultf = log2(intBitsToFloat(R8i.y)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 4 -R123i.x = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.w))); -R123i.w = ((intBitsToFloat(PV1i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.w = R123i.w; -R127i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[9].x)); -PS0i = R127i.x; -// 5 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV1i.x = R123i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(R126i.x)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R127i.w)); -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV1i.w = R123i.w; -R126i.z = floatBitsToInt(intBitsToFloat(R8i.x) + -(0.5)); -PS1i = R126i.z; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(PV1i.z)); -R126i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3e22f983)); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e22f983)); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[10].x) + -(1.0)); -PS0i = floatBitsToInt(exp2(intBitsToFloat(R127i.x))); -// 7 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[10].y) + -(1.0)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + -(0.0)); -R125i.z = floatBitsToInt(intBitsToFloat(PS0i) + -(0.5)); -R125i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[10].z) + -(1.0)); -R126i.w = floatBitsToInt(sin((intBitsToFloat(PV0i.y))/0.1591549367)); -PS1i = R126i.w; -// 8 -R127i.x = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(PS1i)); -R125i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].x) + -(intBitsToFloat(uf_remappedVS[11].y))); -R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[10].w) + 1.0)); -R123i.w = ((intBitsToFloat(PV1i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.w = R123i.w; -R127i.y = floatBitsToInt(sin((intBitsToFloat(R127i.z))/0.1591549367)); -PS0i = R127i.y; -// 9 -R8i.x = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(PV0i.w)); -PV1i.x = R8i.x; -R124i.y = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(PV0i.w)); -PV1i.y = R124i.y; -R124i.z = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV0i.w)); -PV1i.z = R124i.z; -R124i.w = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(PS0i)); -R124i.x = floatBitsToInt(cos((intBitsToFloat(R127i.z))/0.1591549367)); -PS1i = R124i.x; -// 10 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(R125i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(R125i.x)); -R127i.z = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(PS1i)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R125i.x)); -PS0i = floatBitsToInt(cos((intBitsToFloat(R126i.y))/0.1591549367)); -// 11 -R7i.x = floatBitsToInt(intBitsToFloat(R2i.x) + intBitsToFloat(PV0i.x)); -PV1i.x = R7i.x; -R5i.y = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(PV0i.w)); -PV1i.y = R5i.y; -R8i.z = floatBitsToInt(intBitsToFloat(R2i.z) + intBitsToFloat(PV0i.y)); -PV1i.z = R8i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(PS0i)); -R126i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(R125i.z) + intBitsToFloat(R127i.x))); -PS1i = R126i.z; -// 12 -R9i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV0i.x = R9i.x; -PV0i.y = R9i.x; -PV0i.z = R9i.x; -PV0i.w = R9i.x; -R0i.x = floatBitsToInt((-(intBitsToFloat(R127i.y)) * intBitsToFloat(R125i.z) + intBitsToFloat(R127i.z))); -PS0i = R0i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.y = tempi.x; -R127i.x = floatBitsToInt((-(intBitsToFloat(R126i.w)) * intBitsToFloat(R125i.z) + intBitsToFloat(R127i.w))); -PS1i = R127i.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.z = tempi.x; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(R125i.y)); -PS0i = R1i.w; -// 15 -R4i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[10].w) + 1.0)); -R125i.y = floatBitsToInt(-(intBitsToFloat(PV0i.x)) * intBitsToFloat(0x42800000)); -R4i.z = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(uf_remappedVS[10].w) + 1.0)); -R0i.w = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(R125i.z) + intBitsToFloat(R124i.w))); -R5i.z = ((intBitsToFloat(uf_remappedVS[11].x) == intBitsToFloat(uf_remappedVS[11].y))?int(0xFFFFFFFF):int(0x0)); -PS1i = R5i.z; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R124i.y),intBitsToFloat(R124i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.x = floatBitsToInt(-(intBitsToFloat(R7i.z))); -PS0i = R5i.x; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R124i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3a4ccccd)); -PS1i = R124i.y; -// 18 -R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3ab60b61)); -R8i.y = ((intBitsToFloat(uf_remappedVS[11].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R124i.z = floatBitsToInt(intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[8].w)); -PV0i.z = R124i.z; -R125i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R6i.z)); -R10i.x = 0; -PS0i = R10i.x; -// 19 -backupReg0i = R124i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.y = tempi.x; -R124i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(backupReg0i)); -PS1i = R124i.x; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R124i.z) * intBitsToFloat(R126i.x)); -// 21 -R2i.x = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(R6i.y) + intBitsToFloat(R125i.w))); -R2i.y = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R124i.x)); -PV1i.y = R2i.y; -R2i.z = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[14].w) + intBitsToFloat(uf_remappedVS[14].y))); -R2i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PS0i)); -R1i.x = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[14].z) + intBitsToFloat(uf_remappedVS[14].x))); -PS1i = R1i.x; -// 22 -backupReg0i = R0i.y; -R8i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = R8i.x; -PV0i.y = R8i.x; -PV0i.z = R8i.x; -PV0i.w = R8i.x; -R12i.x = ((backupReg0i == 0)?(PV1i.y):(PV1i.y)); -PS0i = R12i.x; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R5i.y),intBitsToFloat(R8i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.w = tempi.x; -R12i.y = ((backupReg0i == 0)?(R2i.w):(R2i.w)); -PS0i = R12i.y; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(R2i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R0i.w) * intBitsToFloat(uf_remappedVS[17].w) + intBitsToFloat(uf_remappedVS[17].y))); -R12i.z = ((R0i.y == 0)?(R8i.x):(R0i.z)); -R12i.w = ((R0i.y == 0)?(PV0i.x):(PV0i.x)); -R126i.x = floatBitsToInt(intBitsToFloat(R2i.z) + 0.5); -PS1i = R126i.x; -// 2 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -R126i.z = floatBitsToInt(tempResultf); -PS0i = R126i.z; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.y = tempi.x; -R124i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PS0i)); -PS1i = R124i.x; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.z = tempi.x; -R125i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R126i.z)); -PS0i = R125i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV0i.x),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R126i.z)); -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(PS1i),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[18].x)),-(intBitsToFloat(uf_remappedVS[18].y)),-(intBitsToFloat(uf_remappedVS[18].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 7 -backupReg0i = R0i.x; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -PV1i.y = floatBitsToInt(intBitsToFloat(R124i.z) * intBitsToFloat(PS0i)); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[17].z) + intBitsToFloat(uf_remappedVS[17].x))); -PV1i.z = R123i.z; -R125i.w = floatBitsToInt(intBitsToFloat(R1i.x) + 0.5); -R125i.y = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -PS1i = R125i.y; -// 8 -R126i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.x = R126i.x; -R0i.y = floatBitsToInt(intBitsToFloat(R127i.y) + 0.5); -PV0i.y = R0i.y; -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), -(intBitsToFloat(PV1i.y)))); -R1i.x = floatBitsToInt(intBitsToFloat(PV1i.z) + 0.5); -PS0i = R1i.x; -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(uf_remappedVS[11].y))); -R1i.y = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R123i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[19].y) + intBitsToFloat(R4i.x))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[19].x) + intBitsToFloat(R1i.z))); -PV1i.w = R123i.w; -R1i.z = R125i.w; -PS1i = R1i.z; -// 10 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -R123i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[19].z) + intBitsToFloat(R4i.z))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(R1i.w)); -R125i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R0i.y = floatBitsToInt(intBitsToFloat(R5i.y) + -(intBitsToFloat(uf_remappedVS[11].w))); -PS0i = R0i.y; -// 11 -R123i.x = ((R5i.z == 0)?(PV0i.z):(0x3f800000)); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[19].w) + 1.0)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + -(1.0)); -R0i.w = 0; -R0i.z = 0; -PS1i = R0i.z; -// 12 -backupReg0i = R3i.x; -R123i.x = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(uf_remappedVS[19].w) + 1.0)); -PV0i.x = R123i.x; -R6i.y = PV1i.x; -R6i.y = clampFI32(R6i.y); -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(uf_remappedVS[19].w) + 1.0)); -PV0i.w = R123i.w; -R3i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.y)); -PS0i = R3i.x; -// 13 -backupReg0i = R3i.y; -backupReg1i = R3i.z; -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -R3i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(PV0i.w)); -R1i.w = R125i.y; -PV1i.w = R1i.w; -R5i.y = R3i.w; -R5i.y = floatBitsToInt(intBitsToFloat(R5i.y) * 2.0); -PS1i = R5i.y; -// 14 -R2i.x = ((R8i.y == 0)?(R10i.x):(R2i.y)); -R2i.y = ((R8i.y == 0)?(R0i.y):(R2i.w)); -R2i.z = ((R8i.y == 0)?(R0i.z):(R5i.x)); -R2i.w = ((R8i.y == 0)?(R0i.w):(R124i.w)); -PS0i = R2i.w; -// 15 -predResult = (intBitsToFloat(uf_remappedVS[6].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.y = floatBitsToInt(-(intBitsToFloat(R7i.z)) + -(intBitsToFloat(uf_remappedVS[6].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(uf_remappedVS[6].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[6].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(uf_remappedVS[6].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(uf_remappedVS[6].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.y; -R5i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R4i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R4i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R7i.z)) + -(intBitsToFloat(uf_remappedVS[20].x))); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[20].y)); -R3i.w = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R5i.y)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R127i.x = floatBitsToInt(intBitsToFloat(R9i.x) * intBitsToFloat(PS1i)); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(PS1i)); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(PS1i)); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), 0.0)); -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[20].z)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PS0i = floatBitsToInt(intBitsToFloat(uf_remappedVS[22].z) * intBitsToFloat(R127i.z)); -// 5 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[22].y) * intBitsToFloat(R127i.y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -// 6 -PV0i.y = floatBitsToInt(min(intBitsToFloat(PS1i), 1.0)); -R123i.w = floatBitsToInt((intBitsToFloat(uf_remappedVS[22].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R123i.w = clampFI32(R123i.w); -PV0i.w = R123i.w; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 7 -PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[23].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[20].w)); -tempResultf = log2(intBitsToFloat(PV0i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 8 -PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[24].w)); -R0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[18].w)); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 9 -R127i.y = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[23].y) + intBitsToFloat(uf_remappedVS[25].y))); -R127i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[23].x) + intBitsToFloat(uf_remappedVS[25].x))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R127i.x; -// 10 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[23].z) + intBitsToFloat(uf_remappedVS[25].z))); -PV0i.x = R123i.x; -// 11 -R0i.x = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[24].x) + intBitsToFloat(R127i.z))); -R0i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[24].y) + intBitsToFloat(R127i.y))); -R0i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[24].z) + intBitsToFloat(PV0i.x))); -} -// export -float origRatio = 1.777f; -float newRatio = ; - -gl_Position = vec4(intBitsToFloat(R12i.x)*(origRatio / newRatio), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem3 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/e082c1f638f8e81e_0000000000000000_vs.txt b/Source/XenobladeX/e082c1f638f8e81e_0000000000000000_vs.txt deleted file mode 100644 index f2e7d737..00000000 --- a/Source/XenobladeX/e082c1f638f8e81e_0000000000000000_vs.txt +++ /dev/null @@ -1,1381 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader e082c1f638f8e81e -//mask is probably scaled and fixed transparency -// transport flame, fog and quest marking, waterfall, computer login - -float origRatio = 1.777f; -float newRatio = ; -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem4; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem6.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem3.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem7; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem9.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R125i.x = floatBitsToInt(max(intBitsToFloat(R4i.x), -(intBitsToFloat(R4i.x)))); -PV0i.x = R125i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(R4i.y), -(intBitsToFloat(R4i.y)))); -PV0i.z = R127i.z; -R127i.w = R4i.z; -R127i.y = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(PV0i.x)); -R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R126i.x = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(PV0i.z)); -PS1i = R126i.x; -// 2 -PV0i.x = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R127i.w)); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(R127i.x)); -R4i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -R126i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R126i.z; -// 4 -backupReg0i = R127i.y; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R127i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -R126i.y = R5i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 5 -R127i.x = R5i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R7i.x)); -R125i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R7i.y)); -R126i.w = R5i.y; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(R7i.z)); -PS1i = R125i.w; -// 6 -PV0i.x = R7i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R0i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R7i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R126i.z; -// 7 -backupReg0i = R126i.w; -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -R6i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R6i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R125i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R126i.y)); -R124i.y = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(backupReg0i)); -PS1i = R124i.y; -// 8 -PV0i.x = R5i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -R127i.y = R5i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PV0i.z = R5i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R127i.x)); -R126i.y = R5i.w; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 9 -backupReg0i = R125i.y; -R127i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R125i.w)); -R125i.y = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(R125i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(backupReg0i)); -R0i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PV0i.x)); -R125i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PV0i.z)); -PS1i = R125i.x; -// 10 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R125i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R126i.y)); -PV1i.x = R127i.x; -R125i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.z))); -R125i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.w) + intBitsToFloat(R4i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R126i.y)); -R4i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PS1i = R4i.y; -// 12 -R126i.x = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R126i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R127i.y)); -R11i.w = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(PV1i.x))); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R7i.x)); -PV1i.x = R0i.x; -R5i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R7i.y)); -PV1i.y = R5i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R127i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R124i.y)); -R7i.x = 0; -PS1i = R7i.x; -// 14 -R0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R13i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.z)); -R13i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R125i.y)); -R12i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R11i.y = 0; -PS0i = R11i.y; -// 15 -R4i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R127i.x)); -R7i.y = 0x3f800000; -R11i.z = 0; -R5i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -R7i.w = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x)); -PS1i = R7i.w; -// 16 -R11i.x = 0x3f800000; -R0i.z = floatBitsToInt(-(intBitsToFloat(R4i.y)) + 1.0); -R10i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R13i.w = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(R126i.x))); -PS0i = R13i.w; -// 17 -R1i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R7i.z = 0; -PS1i = R7i.z; -// 18 -R12i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R4i.w))/0.1591549367)); -// 19 -R127i.z = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R4i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R0i.y))/0.1591549367)); -// 22 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -R4i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 23 -R4i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -R5i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -R4i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.w; -// 24 -R5i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -// 25 -R6i.x = PS0i; -R6i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R5i.y = PS0i; -PS1i = R5i.y; -// 26 -R10i.z = floatBitsToInt(sqrt(intBitsToFloat(R124i.x))); -PS0i = R10i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R6i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R4i.z,R0i.w,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R11i.x = uf_remappedVS[1].z; -PS0i = R11i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.y = uf_remappedVS[4].z; -PS1i = R11i.y; -// 4 -R11i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.y = R127i.y; -// 6 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * -(intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * -(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R4i.x = PV1i.x; -PS0i = R4i.x; -// 9 -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R13i.x; -PV1i.y = R13i.x; -PV1i.z = R13i.x; -PV1i.w = R13i.x; -R4i.y = R127i.y; -PS1i = R4i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R13i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.z = tempi.x; -// 12 -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R5i.x; -PV0i.y = R5i.x; -PV0i.z = R5i.x; -PV0i.w = R5i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R6i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -R4i.x = uf_remappedVS[1].x; -PS0i = R4i.x; -// 1 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R11i.z)); -R4i.y = uf_remappedVS[1].y; -R4i.z = uf_remappedVS[1].z; -// 3 -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R12i.z; -backupReg1i = R6i.x; -R12i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R11i.z)); -R6i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(backupReg1i) + intBitsToFloat(PS1i))); -PS0i = R6i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[1].y)); -R4i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R4i.z; -// 2 -R4i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[1].y)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[4].y)); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[4].y)); -// 5 -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 7 -R4i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R12i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w))); -R12i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R12i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R126i.x))); -PS0i = R12i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R6i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R4i.y = 0; -R4i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R12i.y = 0; -R0i.z = 0; -R12i.z = uf_remappedVS[1].x; -PS1i = R12i.z; -// 2 -R6i.z = 0; -// 3 -R7i.z = R10i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -R11i.x = R4i.z; -PS0i = R11i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -R11i.y = backupReg1i; -PS1i = R11i.y; -// 2 -backupReg0i = R13i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R13i.z = tempi.x; -R11i.z = R12i.z; -PS0i = R11i.z; -// 3 -backupReg0i = R0i.z; -R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = R5i.x; -PV1i.y = R5i.x; -PV1i.z = R5i.x; -PV1i.w = R5i.x; -PS1i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(backupReg0i)); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R12i.z)); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R13i.x = R13i.z; -R13i.z = R0i.x; -R12i.x = R12i.z; -PS0i = R12i.x; -// 1 -R12i.y = R1i.y; -R12i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R13i.y):(R0i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R13i.z):(R13i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R0i.x):(R13i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R13i.y; -R13i.x = ((R127i.y == 0)?(PV1i.x):(R0i.x)); -R13i.y = ((R127i.y == 0)?(PV1i.w):(R13i.z)); -R13i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R12i.z):(R12i.z)); -PV0i.w = R123i.w; -R12i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R12i.x; -// 3 -R11i.x = ((R127i.y == 0)?(0):(R7i.x)); -R12i.y = ((R127i.y == 0)?(R127i.z):(R12i.z)); -R12i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R11i.y = ((R127i.y == 0)?(0):(R7i.y)); -PS1i = R11i.y; -// 4 -backupReg0i = R11i.z; -R11i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R5i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R5i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R5i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R5i.y)); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R4i.z) * 1.0); -R125i.z = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R6i.y) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R125i.w = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R5i.x)); -PS1i = R125i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R5i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.z)); -R126i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.x)); -PS0i = R126i.x; -// 3 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R0i.x = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R6i.x) + intBitsToFloat(R127i.x))); -R127i.y = floatBitsToInt((intBitsToFloat(R4i.w) * 0.0 + intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R6i.y) + intBitsToFloat(backupReg1i))); -PV1i.w = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R125i.z)); -PS1i = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R126i.w)); -// 4 -backupReg0i = R126i.z; -R127i.x = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R125i.w) + intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R125i.x)); -R126i.z = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(R125i.w) + intBitsToFloat(R127i.w))); -R123i.w = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg0i))); -PV0i.w = R123i.w; -R127i.w = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R126i.y) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 5 -backupReg0i = R126i.x; -backupReg1i = R0i.z; -R126i.x = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(R125i.z)); -R123i.y = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(R126i.w)); -R126i.w = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.x) + intBitsToFloat(PV0i.y))); -R125i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.w))); -PS1i = R125i.y; -// 6 -backupReg0i = R126i.y; -R5i.x = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R0i.x) + intBitsToFloat(R126i.z))); -R126i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.y))); -PV0i.y = R126i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R7i.w) * intBitsToFloat(R125i.x)); -R123i.w = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -R6i.z = 0; -PS0i = R6i.z; -// 7 -backupReg0i = R125i.w; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R124i.x) + intBitsToFloat(PV0i.z))); -R0i.y = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.w))); -R126i.z = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(PV0i.y)); -R125i.w = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(backupReg1i))); -PS1i = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(PV0i.y)); -// 8 -R6i.x = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R0i.x) + intBitsToFloat(R127i.x))); -R124i.y = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R127i.z) + intBitsToFloat(R127i.w))); -R127i.z = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R127i.y) + intBitsToFloat(R126i.w))); -R4i.x = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PS1i))); -PS0i = R4i.x; -// 9 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.y),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.w))); -PS1i = R7i.x; -// 10 -backupReg0i = R127i.y; -backupReg1i = R126i.x; -backupReg2i = R126i.z; -R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[6].y)); -R127i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[6].z)); -R126i.z = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(backupReg1i))); -R125i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[6].x)); -R0i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg2i))); -PS0i = R0i.x; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(R127i.z)); -PS1i = R127i.x; -// 12 -backupReg0i = R0i.y; -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R126i.z),0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R124i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R125i.w))); -PS0i = R124i.x; -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(R124i.y) + intBitsToFloat(backupReg0i))); -PV1i.y = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R126i.z)); -R123i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R126i.x))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R127i.z)); -// 14 -R13i.x = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R124i.x))); -R13i.y = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV1i.w))); -R13i.z = floatBitsToInt((intBitsToFloat(R125i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV1i.z))); -R126i.w = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R0i.y) + intBitsToFloat(PV1i.y))); -R125i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R124i.y) + intBitsToFloat(PS1i))); -PS0i = R125i.x; -// 15 -PV1i.x = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(R126i.z)); -R123i.w = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(R5i.x) + intBitsToFloat(R4i.x))); -PV1i.w = R123i.w; -// 16 -R123i.x = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R5i.x) + intBitsToFloat(R0i.x))); -PV0i.x = R123i.x; -R124i.y = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[6].y)); -R126i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[6].z)); -R127i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[6].x)); -R124i.x = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(R0i.y) + intBitsToFloat(PV1i.x))); -PS0i = R124i.x; -// 17 -R123i.x = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].x)); -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].z)); -R125i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].y)); -// 18 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R126i.z))); -R123i.y = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(backupReg0i))); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R124i.y))); -// 19 -backupReg0i = R124i.x; -backupReg1i = R127i.z; -R124i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R127i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(R7i.x) + intBitsToFloat(backupReg0i))); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R125i.w))); -R125i.w = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(backupReg1i))); -// 20 -R11i.x = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R126i.z))); -R11i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R127i.w))); -R123i.z = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R7i.x) + intBitsToFloat(R126i.w))); -PV0i.z = R123i.z; -R11i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R125i.x))); -PS0i = R11i.z; -// 21 -R5i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R124i.x))); -R5i.y = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R127i.z))); -R5i.z = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R125i.w))); -// 22 -R7i.z = R10i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -R1i.w = 0; -PS0i = R1i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].x) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].z) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].y) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R10i.z = R3i.w; -R10i.z = floatBitsToInt(intBitsToFloat(R10i.z) * 2.0); -PS1i = R10i.z; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R4i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R4i.x; -// 3 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R124i.y = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.w))); -PV1i.y = R124i.y; -R126i.z = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.z))); -PV1i.z = R126i.z; -R0i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].w) + intBitsToFloat(PV0i.x))); -PV1i.w = R0i.w; -R127i.w = floatBitsToInt((intBitsToFloat(R10i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R10i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.y = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R7i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R6i.z)) + -(intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + intBitsToFloat(PV1i.z)); -R126i.y = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R127i.z = ((intBitsToFloat(PV1i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(PV1i.y))); -R125i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R125i.y; -// 7 -R0i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.y = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -R123i.z = ((intBitsToFloat(PV0i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R127i.z)); -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(R126i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R127i.z; -// 9 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983)); -PV1i.x = R126i.x; -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R127i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.x; -// 10 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + -(0.0)); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R0i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R2i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R127i.w = floatBitsToInt(sin((intBitsToFloat(PV1i.x))/0.1591549367)); -PS0i = R127i.w; -// 11 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -R0i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R4i.z = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R10i.y = floatBitsToInt(sin((intBitsToFloat(R126i.y))/0.1591549367)); -PS1i = R10i.y; -// 12 -backupReg0i = R126i.y; -R10i.x = floatBitsToInt(intBitsToFloat(R13i.x) * intBitsToFloat(PV1i.w)); -PV0i.x = R10i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R13i.y) * intBitsToFloat(PV1i.w)); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R13i.z) * intBitsToFloat(PV1i.w)); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R124i.x = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -PS0i = R124i.x; -// 13 -backupReg0i = R125i.y; -backupReg0i = R125i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(R125i.y)); -R125i.y = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(backupReg0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(backupReg0i)); -PS1i = floatBitsToInt(cos((intBitsToFloat(R126i.x))/0.1591549367)); -// 14 -R2i.xyz = floatBitsToInt(vec3(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(R126i.z)) + vec3(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.w))); -PV0i.x = R2i.x; -PV0i.y = R2i.y; -PV0i.z = R2i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R122i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(R1i.y) + intBitsToFloat(R127i.x))); -PS0i = R122i.x; -// 15 -backupReg0i = R0i.w; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R1i.x; -PV1i.y = R1i.x; -PV1i.z = R1i.x; -PV1i.w = R1i.x; -R125i.x = floatBitsToInt((intBitsToFloat(R9i.w) * intBitsToFloat(PS0i) + intBitsToFloat(R9i.y))); -PS1i = R125i.x; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -R127i.x = floatBitsToInt((-(intBitsToFloat(R127i.w)) * intBitsToFloat(R1i.y) + intBitsToFloat(R126i.w))); -PS0i = R127i.x; -// 17 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -R4i.y = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS1i = R4i.y; -// 18 -backupReg0i = R1i.y; -R123i.x = floatBitsToInt((-(intBitsToFloat(R10i.y)) * intBitsToFloat(R1i.y) + intBitsToFloat(R125i.y))); -PV0i.x = R123i.x; -R1i.y = floatBitsToInt((intBitsToFloat(R9i.z) * intBitsToFloat(R127i.x) + intBitsToFloat(R9i.x))); -R126i.z = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.w))); -R125i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R1i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -PS0i = R1i.z; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(PV0i.x) + intBitsToFloat(R8i.x))); -PS1i = R125i.y; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R127i.w; -// 21 -backupReg0i = R8i.y; -R8i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R8i.y = floatBitsToInt(intBitsToFloat(R125i.w) * intBitsToFloat(uf_remappedVS[12].w)); -PV1i.y = R8i.y; -R9i.z = floatBitsToInt(intBitsToFloat(R125i.x) + 0.5); -R9i.w = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R126i.z) + intBitsToFloat(backupReg0i))); -R7i.x = floatBitsToInt(intBitsToFloat(R125i.y) + 0.5); -PS1i = R7i.x; -// 22 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.w = tempi.x; -R8i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R127i.w)); -PS0i = R8i.z; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.y = tempi.x; -R125i.x = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(R8i.x)); -PS0i = R125i.x; -// 1 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.w = floatBitsToInt(intBitsToFloat(R8i.w) + intBitsToFloat(R8i.z)); -PS1i = R125i.w; -// 2 -backupReg0i = R125i.x; -R125i.x = ((R0i.x == 0)?(PS1i):(PS1i)); -R127i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[0].z)); -R126i.w = floatBitsToInt(intBitsToFloat(R1i.y) + 0.5); -R1i.y = floatBitsToInt(intBitsToFloat(R9i.w) + 0.5); -PS0i = R1i.y; -// 3 -backupReg0i = R0i.w; -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = R124i.x; -PV1i.y = R124i.x; -PV1i.z = R124i.x; -PV1i.w = R124i.x; -R127i.x = ((R0i.x == 0)?(PV0i.z):(R1i.w)); -PS1i = R127i.x; -// 4 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -R0i.x = ((R4i.x == 0)?(R125i.x):(0x3f800000)); -R123i.y = ((backupReg0i == 0)?(R127i.y):(R127i.y)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(-(intBitsToFloat(R9i.z)) + 1.0); -R123i.w = ((backupReg0i == 0)?(PV1i.x):(PV1i.x)); -PV0i.w = R123i.w; -R124i.y = floatBitsToInt(-(intBitsToFloat(R6i.z))); -PS0i = R124i.y; -// 5 -backupReg0i = R2i.y; -R2i.x = 0; -R8i.y = ((R4i.x == 0)?(PV0i.y):(0x3f800000)); -R8i.z = ((R4i.x == 0)?(R127i.x):(0x3f800000)); -R0i.w = ((R4i.x == 0)?(PV0i.w):(0x3f800000)); -R2i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS1i = R2i.y; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.z = 0; -PS0i = R2i.z; -// 7 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R127i.w = floatBitsToInt(tempResultf); -PS1i = R127i.w; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.y = tempi.x; -R125i.x = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PS1i)); -PS0i = R125i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = tempi.x; -R126i.y = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R127i.w)); -PS1i = R126i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R127i.w)); -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R126i.y),intBitsToFloat(PS0i),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -backupReg0i = R2i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(PS1i)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); -R1i.w = 0; -R2i.x = ((R1i.z == 0)?(backupReg0i):(R125i.w)); -PS0i = R2i.x; -// 13 -backupReg0i = R2i.z; -backupReg1i = R2i.y; -PV1i.y = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); -R2i.z = ((R1i.z == 0)?(backupReg0i):(R124i.y)); -R125i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -PV1i.w = R125i.w; -R2i.y = ((R1i.z == 0)?(backupReg1i):(R127i.y)); -PS1i = R2i.y; -// 14 -backupReg0i = R0i.z; -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[20].x) + intBitsToFloat(R2i.w))); -PV0i.x = R123i.x; -R7i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(uf_remappedVS[14].y))); -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[20].y) + intBitsToFloat(backupReg0i))); -PV0i.w = R123i.w; -R2i.w = ((R1i.z == 0)?(R1i.w):(R124i.x)); -PS0i = R2i.w; -// 15 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); -R123i.z = floatBitsToInt((intBitsToFloat(R125i.w) * intBitsToFloat(uf_remappedVS[20].z) + intBitsToFloat(backupReg0i))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(R4i.y)); -R7i.z = R126i.w; -PS1i = R7i.z; -// 16 -R123i.x = ((R4i.z == 0)?(PV1i.w):(0x3f800000)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R7i.w = R127i.z; -PS0i = R7i.w; -// 17 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -R3i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.z)); -R3i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(PV0i.y)); -R0i.z = PV0i.x; -R0i.z = clampFI32(R0i.z); -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.w = R123i.w; -// 18 -backupReg0i = R3i.z; -R3i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.w)); -// 19 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R6i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R10i.z; -R10i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R6i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R10i.z; -R10i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R6i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R3i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R10i.z)); -PS0i = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R6i.z)); -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.w; -R0i.x = ((PV0i.x == 0)?(backupReg0i):(0x3f800000)); -R0i.y = ((PV0i.x == 0)?(R8i.y):(0x3f800000)); -R0i.z = ((PV0i.x == 0)?(R8i.z):(0x3f800000)); -R0i.w = ((PV0i.x == 0)?(backupReg1i):(0x3f800000)); -R122i.x = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(R6i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -R123i.z = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(R1i.x) + intBitsToFloat(PS1i))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].y)); -// 3 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(tempResultf); -// 4 -R127i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(PS1i)); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PS1i)); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].z)); -PS0i = floatBitsToInt(intBitsToFloat(uf_remappedVS[23].z) * intBitsToFloat(R127i.z)); -// 7 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[23].y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[23].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R123i.x = clampFI32(R123i.x); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(min(intBitsToFloat(PS1i), 1.0)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[21].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].w)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[25].w)); -R1i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[19].w)); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 11 -R127i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].y) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].x) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R126i.y; -// 12 -R123i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[24].z) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.y = R123i.y; -// 13 -R1i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].x) + intBitsToFloat(R127i.w))); -R1i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].y) + intBitsToFloat(R127i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].z) + intBitsToFloat(PV0i.y))); -} - -// *(origRatio / newRatio) -// export -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R2i.x)*(origRatio / newRatio), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); //mask!? -// export -passParameterSem3 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.w)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/e99ed318f647e1cf_0000000000000000_vs.txt b/Source/XenobladeX/e99ed318f647e1cf_0000000000000000_vs.txt deleted file mode 100644 index 4aad5519..00000000 --- a/Source/XenobladeX/e99ed318f647e1cf_0000000000000000_vs.txt +++ /dev/null @@ -1,1394 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader e99ed318f647e1cf // skell lights opening -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem9; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xy = attrDataSem3.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R126i.x = floatBitsToInt(max(intBitsToFloat(R5i.x), -(intBitsToFloat(R5i.x)))); -PV0i.x = R126i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt(max(intBitsToFloat(R5i.y), -(intBitsToFloat(R5i.y)))); -PV0i.z = R126i.z; -R126i.w = R5i.z; -R127i.z = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.z; -// 1 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -R127i.w = floatBitsToInt(intBitsToFloat(R8i.x) * intBitsToFloat(PV0i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(PV0i.z)); -PS1i = R127i.x; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(fract(intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(R126i.w)); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + intBitsToFloat(R127i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R126i.x)) + intBitsToFloat(R127i.w)); -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3e22f983)); -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R127i.x; -// 4 -backupReg0i = R127i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R126i.w))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R124i.w) + intBitsToFloat(R126i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R126i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -R125i.x = R6i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 5 -R124i.x = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R8i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R8i.x)); -R126i.z = R6i.z; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) * 2.0); -R127i.w = R6i.y; -R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R8i.z)); -PS1i = R125i.w; -// 6 -PV0i.x = R8i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R8i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R124i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R124i.y; -// 7 -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R126i.w)); -R0i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R8i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R126i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R125i.x)); -R127i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R127i.w)); -PS1i = R127i.x; -// 8 -R126i.x = R6i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.x) * 2.0); -PV0i.y = R6i.z; -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -PV0i.z = R6i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R126i.z)); -R125i.x = R6i.w; -R125i.x = floatBitsToInt(intBitsToFloat(R125i.x) * 2.0); -PS0i = R125i.x; -// 9 -backupReg0i = R124i.x; -backupReg1i = R126i.y; -R124i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R125i.w)); -R126i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(backupReg0i)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg1i)); -R0i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PV0i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PV0i.y)); -PS1i = R127i.z; -// 10 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R8i.z),0.0))); -PV0i.x = R0i.x; -PV0i.y = R0i.x; -PV0i.z = R0i.x; -PV0i.w = R0i.x; -R125i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R126i.x; -backupReg1i = R126i.y; -R126i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(backupReg0i)); -R126i.y = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R125i.x)); -R124i.x = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R125i.x)); -PS1i = R124i.x; -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.x) + intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R125i.x)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.x)); -R1i.z = 0; -PS0i = R1i.z; -// 13 -R5i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R8i.x)); -PV1i.x = R5i.x; -R0i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R8i.y)); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -R6i.w = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0); -R14i.x = 0; -PS1i = R14i.x; -// 14 -R5i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R13i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.z)); -R14i.z = floatBitsToInt(intBitsToFloat(R1i.z) + intBitsToFloat(R126i.y)); -R8i.w = floatBitsToInt(intBitsToFloat(R126i.x) + -(intBitsToFloat(R124i.x))); -R12i.y = 0; -PS0i = R12i.y; -// 15 -R12i.x = 0x3f800000; -R7i.y = 0x3f800000; -R12i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R12i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(R124i.x)); -PS1i = R12i.w; -// 16 -R1i.z = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R125i.z)); -R4i.w = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R125i.z))); -R13i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -PS0i = R13i.w; -// 17 -R4i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R13i.z = 0; -PS1i = R13i.z; -// 18 -R7i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R5i.w))/0.1591549367)); -// 19 -R126i.x = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R5i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R125i.y))/0.1591549367)); -// 22 -R8i.y = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS1i)); -R5i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(R125i.y))/0.1591549367)); -// 23 -R0i.y = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(PS0i)); -R6i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -R5i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R124i.y))/0.1591549367)); -PS1i = R127i.w; -// 24 -R8i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R124i.y))/0.1591549367)); -// 25 -R6i.x = PS0i; -R5i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R6i.y = PS0i; -PS1i = R6i.y; -// 26 -R11i.z = floatBitsToInt(sqrt(intBitsToFloat(R0i.x))); -PS0i = R11i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R7i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R5i.z,R0i.w,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R12i.x = uf_remappedVS[1].z; -PS0i = R12i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.y = uf_remappedVS[4].z; -PS1i = R12i.y; -// 4 -R12i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * -(intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(R5i.x) * -(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R5i.x = PV1i.x; -PS0i = R5i.x; -// 9 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -R5i.y = R127i.y; -PS1i = R5i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -// 12 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 14 -backupReg0i = R7i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R7i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R13i.y),intBitsToFloat(R14i.z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -R0i.x = uf_remappedVS[1].x; -PS0i = R0i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R6i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R13i.y),intBitsToFloat(R14i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R12i.z)); -R0i.y = uf_remappedVS[1].y; -R0i.z = uf_remappedVS[1].z; -// 3 -backupReg0i = R5i.y; -R5i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -R15i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R12i.z)); -R13i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(PS1i))); -PS0i = R13i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R6i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[1].y)); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R0i.z; -// 2 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[1].y)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[4].y)); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R5i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[4].y)); -// 5 -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 7 -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R15i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.y))); -R5i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w))); -R15i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R15i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R126i.x))); -PS0i = R15i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R7i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R0i.y = 0; -R0i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R5i.y = 0x3f800000; -PS0i = R5i.y; -// 1 -R15i.y = 0; -R5i.z = 0; -R15i.z = uf_remappedVS[1].x; -PS1i = R15i.z; -// 2 -R8i.z = 0; -// 3 -R13i.z = R11i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -R12i.x = backupReg1i; -PS0i = R12i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -R12i.y = R5i.z; -PS1i = R12i.y; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R15i.x),intBitsToFloat(R15i.y),intBitsToFloat(R15i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -R12i.z = R15i.z; -PS0i = R12i.z; -// 3 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R8i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -PS1i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R5i.z)); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R8i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R15i.z)); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R8i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R15i.x),intBitsToFloat(R15i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R13i.x = R14i.z; -R13i.z = R5i.x; -R7i.x = R7i.z; -PS0i = R7i.x; -// 1 -R7i.y = R1i.y; -R7i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R13i.y):(R5i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R14i.z):(R14i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R5i.x):(R13i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R13i.y; -R13i.x = ((R127i.y == 0)?(PV1i.x):(R5i.x)); -R13i.y = ((R127i.y == 0)?(PV1i.w):(R14i.z)); -R13i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R7i.z):(R7i.z)); -PV0i.w = R123i.w; -R7i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R7i.x; -// 3 -backupReg0i = R7i.y; -R12i.x = ((R127i.y == 0)?(0):(R14i.x)); -R7i.y = ((R127i.y == 0)?(R127i.z):(R7i.z)); -R7i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R12i.y = ((R127i.y == 0)?(0):(backupReg0i)); -PS1i = R12i.y; -// 4 -backupReg0i = R12i.z; -R12i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(R8i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(R6i.z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R8i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R6i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(R6i.y)); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -R125i.z = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R6i.x) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R5i.y) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R8i.x)); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R6i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.z)); -R126i.x = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(PV1i.x)); -PS0i = R126i.x; -// 3 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R6i.x) + intBitsToFloat(backupReg0i))); -R125i.y = floatBitsToInt((intBitsToFloat(R5i.w) * 0.0 + intBitsToFloat(R127i.y))); -R124i.z = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R5i.y) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(R125i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(R126i.w)); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -R126i.x = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(R125i.x)); -R126i.z = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((intBitsToFloat(R1i.z) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R8i.z = 0; -PS0i = R8i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R126i.w)); -R127i.y = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(R125i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R11i.w) * intBitsToFloat(backupReg0i)); -R126i.w = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R124i.x) + intBitsToFloat(PV0i.y))); -PS1i = R125i.z; -// 6 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt((intBitsToFloat(R0i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.z))); -R126i.z = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i))); -// 7 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R127i.w))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg1i))); -// 8 -backupReg0i = R125i.z; -backupReg1i = R127i.y; -R124i.x = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(PV1i.y)); -R125i.z = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R126i.z)); -// 9 -backupReg0i = R124i.z; -backupReg1i = R125i.y; -R0i.x = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R127i.x) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((intBitsToFloat(R12i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R126i.w))); -R124i.z = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.x))); -R0i.w = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(backupReg1i) + intBitsToFloat(R127i.z))); -R122i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R124i.y),intBitsToFloat(R126i.y),intBitsToFloat(R126i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R124i.y) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.w = tempi.x; -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].x)); -PS1i = R126i.w; -// 12 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(R126i.z) + intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[6].z)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].y)); -R125i.w = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].x)); -R126i.y = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].y)); -PS0i = R126i.y; -// 13 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R13i.y),intBitsToFloat(R13i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R125i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R126i.w))); -PS1i = R125i.x; -// 14 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(R124i.y) + intBitsToFloat(backupReg0i))); -PV0i.y = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(R124i.x)); -R123i.z = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R127i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R125i.z)); -// 15 -R6i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R125i.x))); -R6i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.w))); -R6i.z = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PV0i.y))); -PS1i = R122i.x; -// 16 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(backupReg0i) + intBitsToFloat(PV1i.w))); -PV0i.x = R124i.x; -R125i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(R125i.z) + intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R125i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[6].z)); -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[6].x)); -PS0i = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[6].y)); -// 17 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R125i.w))); -R124i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV0i.w))); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].z)); -R125i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R126i.y))); -R126i.x = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PS0i))); -PS1i = R126i.x; -// 18 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R124i.x) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R125i.z))); -PS0i = R127i.y; -// 19 -backupReg0i = R0i.x; -backupReg1i = R127i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.z),intBitsToFloat(R0i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(backupReg1i))); -PS1i = R127i.w; -// 20 -R12i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R127i.x))); -R12i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R125i.w))); -R12i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R127i.y))); -R7i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R124i.y))); -PS0i = R7i.x; -// 21 -R7i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R126i.x))); -R7i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R127i.w))); -// 22 -R13i.z = R11i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -R1i.w = 0; -PS0i = R1i.w; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].z) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].y) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R4i.z = R3i.w; -R4i.z = floatBitsToInt(intBitsToFloat(R4i.z) * 2.0); -PS1i = R4i.z; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R5i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R5i.x; -// 3 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV0i.w))); -PV1i.x = R125i.x; -R125i.y = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.z))); -PV1i.y = R125i.y; -R124i.z = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.y))); -PV1i.z = R124i.z; -R0i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].w) + intBitsToFloat(PV0i.x))); -PV1i.w = R0i.w; -R127i.y = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.y; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.w; -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R13i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R8i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(intBitsToFloat(R13i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.y)); -R126i.y = ((intBitsToFloat(PV1i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(PV1i.w))); -R126i.w = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R125i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R125i.z; -// 7 -R0i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.w))); -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(R126i.y)); -R123i.y = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R126i.w)); -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R127i.z; -// 9 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3e22f983)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.z)); -R126i.z = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.z = R126i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -R127i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.x; -// 10 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + -(0.0)); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R0i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R2i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R126i.y = floatBitsToInt(sin((intBitsToFloat(PV1i.z))/0.1591549367)); -PS0i = R126i.y; -// 11 -R124i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -R2i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R1i.z = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.x; -// 12 -R11i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PV1i.w)); -PV0i.x = R11i.x; -R124i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(PV1i.w)); -PV0i.y = R124i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PV1i.w)); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.x))/0.1591549367)); -PS0i = R127i.w; -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(R125i.z)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R125i.z)); -R126i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(R125i.z)); -R125i.z = floatBitsToInt(cos((intBitsToFloat(R126i.x))/0.1591549367)); -PS1i = R125i.z; -// 14 -R2i.x = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(PV1i.y)); -PV0i.x = R2i.x; -R11i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(PV1i.x)); -PV0i.y = R11i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R124i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = R2i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R125i.x = floatBitsToInt((-(intBitsToFloat(R126i.y)) * intBitsToFloat(R1i.y) + intBitsToFloat(R126i.w))); -PS0i = R125i.x; -// 15 -backupReg0i = R0i.w; -R8i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R8i.x; -PV1i.y = R8i.x; -PV1i.z = R8i.x; -PV1i.w = R8i.x; -R126i.x = floatBitsToInt((-(intBitsToFloat(R127i.w)) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.w))); -PS1i = R126i.x; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -R4i.w = floatBitsToInt(1.0 / intBitsToFloat(R127i.y)); -PS0i = R4i.w; -// 17 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.z = tempi.x; -R122i.x = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(R124i.x))); -PS1i = R122i.x; -// 18 -backupReg0i = R1i.x; -backupReg1i = R1i.y; -backupReg2i = R126i.z; -backupReg1i = R1i.y; -R1i.x = floatBitsToInt((intBitsToFloat(R9i.w) * intBitsToFloat(PS1i) + intBitsToFloat(R9i.y))); -R1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + 0.5); -R126i.z = floatBitsToInt((intBitsToFloat(R125i.z) * intBitsToFloat(backupReg1i) + intBitsToFloat(backupReg2i))); -R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R6i.x = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + 0.5); -PS0i = R6i.x; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt((intBitsToFloat(R9i.z) * intBitsToFloat(R125i.x) + intBitsToFloat(R9i.x))); -PS1i = R126i.w; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R125i.w; -// 21 -backupReg0i = R10i.x; -R10i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R9i.y = floatBitsToInt((intBitsToFloat(R10i.z) * intBitsToFloat(R126i.x) + intBitsToFloat(backupReg0i))); -R10i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[12].w)); -PV1i.z = R10i.z; -R9i.w = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(R126i.z) + intBitsToFloat(R10i.y))); -R9i.x = floatBitsToInt(intBitsToFloat(R126i.w) + 0.5); -PS1i = R9i.x; -// 22 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.w = tempi.x; -R10i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(R125i.w)); -PS0i = R10i.y; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R126i.x = floatBitsToInt(intBitsToFloat(R10i.z) * intBitsToFloat(R10i.x)); -PS0i = R126i.x; -// 1 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(intBitsToFloat(R10i.w) + intBitsToFloat(R10i.y)); -PS1i = R127i.w; -// 2 -backupReg0i = R126i.x; -R126i.x = ((R0i.x == 0)?(PS1i):(PS1i)); -R8i.y = floatBitsToInt(intBitsToFloat(R1i.x) + 0.5); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[0].z)); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(backupReg0i)); -R10i.x = floatBitsToInt(intBitsToFloat(R9i.y) + 0.5); -PS0i = R10i.x; -// 3 -backupReg0i = R0i.w; -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R11i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = R124i.x; -PV1i.y = R124i.x; -PV1i.z = R124i.x; -PV1i.w = R124i.x; -R125i.x = ((R0i.x == 0)?(PV0i.z):(R1i.w)); -PS1i = R125i.x; -// 4 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -R0i.x = ((R5i.x == 0)?(R126i.x):(0x3f800000)); -R123i.y = ((backupReg0i == 0)?(R126i.w):(R126i.w)); -PV0i.y = R123i.y; -R127i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((backupReg0i == 0)?(PV1i.x):(PV1i.x)); -PV0i.w = R123i.w; -R6i.y = floatBitsToInt(intBitsToFloat(R9i.w) + 0.5); -PS0i = R6i.y; -// 5 -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.z))); -R0i.y = ((R5i.x == 0)?(PV0i.y):(0x3f800000)); -R6i.z = ((R5i.x == 0)?(R125i.x):(0x3f800000)); -R0i.w = ((R5i.x == 0)?(PV0i.w):(0x3f800000)); -R1i.x = 0; -PS1i = R1i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R9i.y = floatBitsToInt(intBitsToFloat(R11i.y) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS0i = R9i.y; -// 7 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R125i.w = floatBitsToInt(tempResultf); -PS1i = R125i.w; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R124i.y = tempi.x; -R126i.x = floatBitsToInt(intBitsToFloat(R7i.x) * intBitsToFloat(PS1i)); -PS0i = R126i.x; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = tempi.x; -R127i.y = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(R125i.w)); -PS1i = R127i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R124i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R125i.w)); -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(PS0i),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(PS1i)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); -R2i.z = 0; -PV0i.z = R2i.z; -R1i.w = 0; -PV0i.w = R1i.w; -R7i.x = ((R127i.z == 0)?(R1i.x):(R127i.w)); -PS0i = R7i.x; -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(max(intBitsToFloat(PV0i.y), 0.0)); -PV1i.x = R127i.x; -R7i.y = ((R127i.z == 0)?(R9i.y):(R126i.w)); -R7i.z = ((R127i.z == 0)?(PV0i.z):(backupReg0i)); -PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(intBitsToFloat(PV0i.x)))); -R7i.w = ((R127i.z == 0)?(PV0i.w):(R124i.x)); -PS1i = R7i.w; -// 14 -R123i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[20].x) + intBitsToFloat(R2i.w))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(uf_remappedVS[14].y))); -R9i.z = R1i.y; -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[20].y) + intBitsToFloat(R0i.z))); -PV0i.w = R123i.w; -R9i.y = floatBitsToInt(-(intBitsToFloat(R8i.y)) + 1.0); -PS0i = R9i.y; -// 15 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(R4i.w)); -R123i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[20].z) + intBitsToFloat(R2i.y))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); -R10i.y = floatBitsToInt(-(intBitsToFloat(R6i.y)) + 1.0); -PS1i = R10i.y; -// 16 -R123i.x = ((R1i.z == 0)?(PV1i.y):(0x3f800000)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R9i.w = R6i.x; -PS0i = R9i.w; -// 17 -R2i.x = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(PV0i.z)); -R2i.y = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(PV0i.y)); -R0i.z = PV0i.x; -R0i.z = clampFI32(R0i.z); -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.w = R123i.w; -R10i.z = R4i.x; -PS1i = R10i.z; -// 18 -R2i.z = floatBitsToInt(intBitsToFloat(R3i.z) * intBitsToFloat(PV1i.w)); -R10i.w = R4i.y; -// 19 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R5i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R4i.z; -R4i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R4i.z; -R4i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R5i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R2i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R4i.z)); -PS0i = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R5i.z)); -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R0i.w; -R0i.x = ((PV0i.x == 0)?(backupReg0i):(0x3f800000)); -R0i.y = ((PV0i.x == 0)?(backupReg1i):(0x3f800000)); -R0i.z = ((PV0i.x == 0)?(R6i.z):(0x3f800000)); -R0i.w = ((PV0i.x == 0)?(backupReg2i):(0x3f800000)); -R122i.x = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(R5i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -R123i.z = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(R8i.x) + intBitsToFloat(PS1i))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].y)); -// 3 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(tempResultf); -// 4 -R127i.x = floatBitsToInt(intBitsToFloat(R8i.x) * intBitsToFloat(PS1i)); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(PS1i)); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PS1i)); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].z)); -PS0i = floatBitsToInt(intBitsToFloat(uf_remappedVS[23].z) * intBitsToFloat(R127i.z)); -// 7 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[23].y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 8 -R123i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[23].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R123i.x = clampFI32(R123i.x); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(min(intBitsToFloat(PS1i), 1.0)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[21].w)); -PV1i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].w)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[25].w)); -R1i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[19].w)); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 11 -R127i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].y) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.w = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].x) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R126i.y; -// 12 -R123i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[24].z) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.y = R123i.y; -// 13 -R1i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].x) + intBitsToFloat(R127i.w))); -R1i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].y) + intBitsToFloat(R127i.z))); -R1i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_remappedVS[25].z) + intBitsToFloat(PV0i.y))); -} -// export - -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) - -gl_Position = vec4(intBitsToFloat(R0i.x)*(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem3 = vec4(intBitsToFloat(R9i.x), intBitsToFloat(R9i.y), intBitsToFloat(R9i.z), intBitsToFloat(R9i.w)); -// export -// skipped export to semanticId 255 -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/ec248df3384d3d18_0000000000000000_vs.txt b/Source/XenobladeX/ec248df3384d3d18_0000000000000000_vs.txt deleted file mode 100644 index 75a3eecb..00000000 --- a/Source/XenobladeX/ec248df3384d3d18_0000000000000000_vs.txt +++ /dev/null @@ -1,1340 +0,0 @@ - - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader ec248df3384d3d18 -//run dust and shadows intro -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem9; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 4) out vec4 passParameterSem4; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem4; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem6.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem3.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem7; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem9.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R125i.x = floatBitsToInt(max(intBitsToFloat(R4i.x), -(intBitsToFloat(R4i.x)))); -PV0i.x = R125i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R6i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(R4i.y), -(intBitsToFloat(R4i.y)))); -PV0i.z = R127i.z; -R127i.w = R4i.z; -R127i.y = floatBitsToInt((intBitsToFloat(R6i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(PV0i.x))); -R123i.y = floatBitsToInt((intBitsToFloat(R6i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(PV0i.z))); -PS1i = R126i.x; -// 2 -PV0i.x = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R127i.w))); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(R127i.x)); -R4i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -R126i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R126i.z; -// 4 -backupReg0i = R127i.y; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.w))); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(R124i.w)) + intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(backupReg1i))); -R126i.y = R5i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 5 -R127i.x = R5i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(R7i.x))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R7i.y))); -R126i.w = R5i.y; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R7i.z))); -PS1i = R125i.w; -// 6 -PV0i.x = R7i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R0i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R7i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R126i.z; -// 7 -backupReg0i = R126i.w; -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -R6i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R6i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R125i.x)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R126i.y))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(backupReg0i))); -PS1i = R124i.y; -// 8 -PV0i.x = R5i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -R127i.y = R5i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PV0i.z = R5i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R127i.x))); -R126i.y = R5i.w; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 9 -backupReg0i = R125i.y; -R127i.x = floatBitsToInt(-(intBitsToFloat(R4i.z)) + intBitsToFloat(R125i.w)); -R125i.y = floatBitsToInt(-(intBitsToFloat(R4i.y)) + intBitsToFloat(R125i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R4i.x)) + intBitsToFloat(backupReg0i)); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PV0i.x))); -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(PV0i.z))); -PS1i = R125i.x; -// 10 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.w)) + intBitsToFloat(R4i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.x), intBitsToFloat(R126i.y))); -PV1i.x = R127i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R124i.w)) + intBitsToFloat(R4i.z))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R124i.w)) + intBitsToFloat(R4i.y))); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R126i.y))); -R4i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -PS1i = R4i.y; -// 12 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R126i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R127i.y))); -R10i.w = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(PV1i.x))); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x))); -PV1i.x = R4i.x; -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R7i.y))); -PV1i.y = R5i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R127i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R124i.y)); -R0i.x = 0; -PS1i = R0i.x; -// 14 -R6i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R12i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.z)); -R12i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R125i.y)); -R11i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R10i.y = 0; -PS0i = R10i.y; -// 15 -R4i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R127i.x)); -R5i.y = 0x3f800000; -R10i.z = 0; -R5i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -R7i.w = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x)); -PS1i = R7i.w; -// 16 -R10i.x = 0x3f800000; -R0i.z = floatBitsToInt(-(intBitsToFloat(R4i.y)) + 1.0); -R9i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R12i.w = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(R126i.x))); -PS0i = R12i.w; -// 17 -R1i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R11i.z = 0; -PS1i = R11i.z; -// 18 -R7i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R4i.w))/0.1591549367)); -// 19 -R127i.z = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R4i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R0i.y))/0.1591549367)); -// 22 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS1i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i))); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 23 -R7i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); -R4i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.w; -// 24 -R7i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -// 25 -R5i.x = PS0i; -R4i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R6i.y = PS0i; -PS1i = R6i.y; -// 26 -R9i.z = floatBitsToInt(sqrt(intBitsToFloat(R124i.x))); -PS0i = R9i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R6i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R4i.z,R0i.w,R5i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R10i.x = uf_remappedVS[1].z; -PS0i = R10i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.y = uf_remappedVS[4].z; -PS1i = R10i.y; -// 4 -R10i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), intBitsToFloat(PV1i.y))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.x), -(intBitsToFloat(PV1i.x)))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R12i.y)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(R12i.y)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R4i.x = PV1i.x; -PS0i = R4i.x; -// 9 -R12i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R12i.x; -PV1i.y = R12i.x; -PV1i.z = R12i.x; -PV1i.w = R12i.x; -R4i.y = R127i.y; -PS1i = R4i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R12i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R12i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.z = tempi.x; -// 12 -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R7i.x; -PV0i.y = R7i.x; -PV0i.z = R7i.x; -PV0i.w = R7i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 14 -backupReg0i = R7i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R6i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R11i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R4i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),0.0))); -PV0i.x = R11i.x; -PV0i.y = R11i.x; -PV0i.z = R11i.x; -PV0i.w = R11i.x; -R0i.x = uf_remappedVS[1].x; -PS0i = R0i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R6i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R10i.z))); -R0i.y = uf_remappedVS[1].y; -R0i.z = uf_remappedVS[1].z; -// 3 -backupReg0i = R4i.y; -R4i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R5i.x; -R5i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R10i.z))); -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(PS1i))); -PS0i = R6i.x; -// 5 -backupReg0i = R6i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(backupReg0i),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[1].y))); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R0i.z; -// 2 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[1].y))); -// 3 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[4].y))); -R4i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[4].y))); -// 5 -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].w), intBitsToFloat(uf_remappedVS[5].y))); -// 6 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].w), intBitsToFloat(uf_remappedVS[5].y))); -// 7 -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R127i.x)) + intBitsToFloat(R126i.y))); -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R127i.w))); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(R126i.w)) + intBitsToFloat(R126i.x))); -PS0i = R5i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R6i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R0i.y = 0; -R0i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R4i.y = 0x3f800000; -PS0i = R4i.y; -// 1 -R5i.y = 0; -R4i.z = 0; -R5i.z = uf_remappedVS[1].x; -PS1i = R5i.z; -// 2 -R6i.z = 0; -// 3 -R11i.z = R9i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -R12i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R7i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = R12i.x; -PV0i.y = R12i.x; -PV0i.z = R12i.x; -PV0i.w = R12i.x; -R10i.x = backupReg1i; -PS0i = R10i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R7i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.y = tempi.x; -R10i.y = R4i.z; -PS1i = R10i.y; -// 2 -backupReg0i = R12i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R7i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R12i.z = tempi.x; -R10i.z = R5i.z; -PS0i = R10i.z; -// 3 -backupReg0i = R0i.y; -backupReg1i = R0i.z; -R7i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = R7i.x; -PV1i.y = R7i.x; -PV1i.z = R7i.x; -PV1i.w = R7i.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R4i.z))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.y = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R5i.z))); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R6i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R12i.x = R12i.z; -R12i.z = R6i.x; -R11i.x = R7i.z; -PS0i = R11i.x; -// 1 -R11i.y = R1i.y; -R11i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R6i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R12i.y):(R6i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R12i.z):(R12i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R6i.x):(R12i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R12i.y; -R12i.x = ((R127i.y == 0)?(PV1i.x):(R6i.x)); -R12i.y = ((R127i.y == 0)?(PV1i.w):(R12i.z)); -R12i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R7i.z):(R7i.z)); -PV0i.w = R123i.w; -R11i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R11i.x; -// 3 -R10i.x = ((R127i.y == 0)?(0):(R0i.x)); -R11i.y = ((R127i.y == 0)?(R127i.z):(R7i.z)); -R11i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R10i.y = ((R127i.y == 0)?(0):(R5i.y)); -PS1i = R10i.y; -// 4 -backupReg0i = R10i.z; -R10i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(R7i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R7i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R6i.y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R6i.y))); -PS0i = R127i.z; -// 1 -R125i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R125i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R4i.z) * 1.0); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(R4i.y)) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R7i.x))); -PS1i = R125i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(R6i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.w))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.z))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PV1i.x))); -PS0i = R126i.x; -// 3 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R5i.x)) + intBitsToFloat(R127i.x))); -R127i.y = floatBitsToInt((intBitsToFloat(R4i.w) * 0.0 + intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(R4i.y)) + intBitsToFloat(backupReg1i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(R125i.z))); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(R126i.w))); -// 4 -backupReg0i = R126i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R125i.w)) + intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.w), intBitsToFloat(R125i.x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R125i.w)) + intBitsToFloat(R127i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R126i.y)) + intBitsToFloat(backupReg0i))); -PV0i.w = R123i.w; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z),intBitsToFloat(R126i.y)) + intBitsToFloat(PS1i))); -PS0i = R127i.w; -// 5 -backupReg0i = R126i.x; -backupReg1i = R0i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R125i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R124i.x)) + intBitsToFloat(backupReg0i))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R126i.w))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R124i.x)) + intBitsToFloat(PV0i.y))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.w))); -PS1i = R125i.y; -// 6 -backupReg0i = R126i.y; -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(R126i.z))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.w),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.y))); -PV0i.y = R126i.y; -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.w), intBitsToFloat(R125i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -R6i.z = 0; -PS0i = R6i.z; -// 7 -backupReg0i = R125i.w; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(R124i.x)) + intBitsToFloat(PV0i.z))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.w))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(PV0i.y))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg1i))); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(PV0i.y))); -// 8 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),intBitsToFloat(R0i.x)) + intBitsToFloat(R127i.x))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),intBitsToFloat(R127i.z)) + intBitsToFloat(R127i.w))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R9i.w),intBitsToFloat(R127i.y)) + intBitsToFloat(R126i.w))); -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(PS1i))); -PS0i = R4i.x; -// 9 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.y),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(R125i.w))); -PS1i = R7i.x; -// 10 -backupReg0i = R127i.y; -backupReg1i = R126i.x; -backupReg2i = R126i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedVS[6].y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedVS[6].z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.w),intBitsToFloat(backupReg0i)) + intBitsToFloat(backupReg1i))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedVS[6].x))); -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R125i.y)) + intBitsToFloat(backupReg2i))); -PS0i = R0i.x; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = tempi.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R127i.z))); -PS1i = R127i.x; -// 12 -backupReg0i = R0i.y; -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(R7i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R126i.z),0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R125i.w))); -PS0i = R124i.x; -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(R124i.y)) + intBitsToFloat(backupReg0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R126i.z))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R127i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R126i.x))); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R11i.z), intBitsToFloat(R127i.z))); -// 14 -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R124i.x))); -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV1i.w))); -R12i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV1i.z))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(PV1i.y))); -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R124i.y)) + intBitsToFloat(PS1i))); -PS0i = R125i.x; -// 15 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R126i.z))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(R4i.x))); -PV1i.w = R123i.w; -// 16 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(R0i.x))); -PV0i.x = R123i.x; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedVS[6].y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedVS[6].z))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(uf_remappedVS[6].x))); -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(PV1i.x))); -PS0i = R124i.x; -// 17 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R6i.x)) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[6].x))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[6].z))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_remappedVS[6].y))); -// 18 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(R126i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.x),intBitsToFloat(R6i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = R123i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R124i.y))); -// 19 -backupReg0i = R124i.x; -backupReg1i = R127i.z; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(R127i.y))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(backupReg0i))); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(R125i.w))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(backupReg1i))); -// 20 -R10i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R126i.z))); -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(R127i.w))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(R126i.w))); -PV0i.z = R123i.z; -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(R125i.x))); -PS0i = R10i.z; -// 21 -R7i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(R124i.x))); -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(R127i.z))); -R7i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(R125i.w))); -// 22 -R11i.z = R9i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -R4i.z = R3i.w; -R4i.z = floatBitsToInt(intBitsToFloat(R4i.z) * 2.0); -PS0i = R4i.z; -// 1 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].y)) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].x)) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].w)) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(uf_remappedVS[6].z)) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R0i.x = ((0.0 >= intBitsToFloat(PS0i))?int(0xFFFFFFFF):int(0x0)); -PS1i = R0i.x; -// 2 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].w)) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y),intBitsToFloat(uf_remappedVS[7].z)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(R9i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R122i.x; -// 3 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].x)) + intBitsToFloat(PV0i.y))); -PV1i.x = R126i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].y)) + intBitsToFloat(PV0i.x))); -PV1i.y = R125i.y; -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].z)) + intBitsToFloat(PV0i.w))); -PV1i.z = R124i.z; -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(uf_remappedVS[8].w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R0i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(PS0i))); -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS0i = R127i.y; -// 5 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R6i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.w = floatBitsToInt(-(intBitsToFloat(R11i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(PV1i.y))); -R126i.y = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(PV1i.w)); -R127i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R126i.w; -// 7 -R2i.x = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(0x3e22f983)); -PV1i.z = R127i.z; -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R126i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS1i = R126i.z; -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.y))); -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -R125i.z = floatBitsToInt(sin((intBitsToFloat(PV1i.z))/0.1591549367)); -PS0i = R125i.z; -// 9 -backupReg0i = R127i.z; -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS0i))); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(PV0i.x)); -R127i.x = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -PS1i = R127i.x; -// 10 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + -(0.0)); -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedVS[13].w)) + 1.0)); -R0i.z = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -PS0i = R0i.z; -// 11 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R1i.y)) + intBitsToFloat(R127i.z))); -PV1i.x = R123i.x; -R123i.y = ((intBitsToFloat(PV0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.y = R123i.y; -R1i.z = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -R5i.x = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -PS1i = R5i.x; -// 12 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(PV1i.y))); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.y), intBitsToFloat(PV1i.y))); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.z), intBitsToFloat(PV1i.y))); -PV0i.z = R127i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R8i.x))); -PV0i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(R8i.y))); -PS0i = R122i.x; -// 13 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R126i.w))); -R0i.y = floatBitsToInt(intBitsToFloat(PS0i) + 0.5); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R126i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(R126i.w))); -R6i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + 0.5); -PS1i = R6i.x; -// 14 -R1i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV1i.x)); -PV0i.x = R1i.x; -R1i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(PV1i.z)); -PV0i.y = R1i.y; -R8i.z = floatBitsToInt(intBitsToFloat(R124i.z) + intBitsToFloat(PV1i.w)); -PV0i.z = R8i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R7i.z) * intBitsToFloat(R7i.z)); -R11i.x = 0; -PS0i = R11i.x; -// 15 -backupReg0i = R0i.w; -R12i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R12i.x; -PV1i.y = R12i.x; -PV1i.z = R12i.x; -PV1i.w = R12i.x; -R122i.x = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.w))); -PS1i = R122i.x; -// 16 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.y = tempi.x; -R125i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(R7i.x) + intBitsToFloat(PS1i))); -PS0i = R125i.y; -// 17 -backupReg0i = R0i.w; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.z = tempi.x; -R6i.y = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + 1.0); -PS1i = R6i.y; -// 18 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(uf_remappedVS[2].z))); -R5i.y = floatBitsToInt(intBitsToFloat(R1i.y) + -(intBitsToFloat(uf_remappedVS[14].w))); -R124i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R125i.y)); -R8i.w = floatBitsToInt(tempResultf); -PS0i = R8i.w; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(uf_remappedVS[2].y)) + intBitsToFloat(PV0i.x))); -PS1i = R126i.x; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R127i.z; -// 21 -R8i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(uf_remappedVS[12].w))); -PV1i.y = R8i.y; -R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(uf_remappedVS[2].x)) + intBitsToFloat(R126i.x))); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.x), intBitsToFloat(R8i.w))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(R8i.w))); -PS1i = R0i.y; -// 22 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.y = tempi.x; -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(R127i.z))); -PS0i = R1i.w; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.w = tempi.x; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(R8i.x))); -PS0i = R127i.z; -// 1 -backupReg0i = R0i.w; -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R8i.w))); -PS1i = R124i.z; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R8i.z),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.w = tempi.x; -R7i.x = floatBitsToInt(intBitsToFloat(R2i.y) + intBitsToFloat(R1i.w)); -PS0i = R7i.x; -// 3 -R123i.x = ((R2i.x == 0)?(PS0i):(PS0i)); -PV1i.x = R123i.x; -R7i.y = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.z)); -PV1i.y = R7i.y; -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedVS[0].z))); -PV1i.z = R6i.z; -R126i.w = ((R2i.x == 0)?(PV0i.x):(PV0i.x)); -R7i.z = 0; -PS1i = R7i.z; -// 4 -R123i.x = ((R2i.x == 0)?(PV1i.z):(PS1i)); -PV0i.x = R123i.x; -R123i.y = ((R2i.x == 0)?(PV1i.y):(PV1i.y)); -PV0i.y = R123i.y; -R7i.z = floatBitsToInt(-(intBitsToFloat(R5i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(uf_remappedVS[3].z))); -R1i.x = ((R0i.x == 0)?(PV1i.x):(0x3f800000)); -PS0i = R1i.x; -// 5 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.y),intBitsToFloat(uf_remappedVS[3].y)) + intBitsToFloat(PV0i.w))); -PV1i.x = R123i.x; -R1i.y = ((R0i.x == 0)?(PV0i.y):(0x3f800000)); -R6i.z = ((R0i.x == 0)?(PV0i.x):(0x3f800000)); -R0i.w = ((R0i.x == 0)?(R126i.w):(0x3f800000)); -R8i.z = 0; -PS1i = R8i.z; -// 6 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(uf_remappedVS[10].z))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R10i.x),intBitsToFloat(uf_remappedVS[3].x)) + intBitsToFloat(PV1i.x))); -R1i.w = 0; -// 7 -backupReg0i = R124i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(PV0i.x),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), -(intBitsToFloat(uf_remappedVS[19].z)))); -// 8 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.z),intBitsToFloat(R126i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R2i.z),intBitsToFloat(R126i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),-(intBitsToFloat(uf_remappedVS[19].y))) + intBitsToFloat(PS1i))); -PS0i = R122i.x; -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),-(intBitsToFloat(uf_remappedVS[19].x))) + intBitsToFloat(PS0i))/2.0); -PV1i.x = R123i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.5); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS1i))); -R2i.x = ((R5i.x == 0)?(R11i.x):(R7i.x)); -PS0i = R2i.x; -// 11 -R2i.y = ((R5i.x == 0)?(R5i.y):(R7i.y)); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.y), -(intBitsToFloat(PV0i.y)))); -R126i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), 0.0)); -PV1i.w = R126i.w; -R2i.z = ((R5i.x == 0)?(R8i.z):(R7i.z)); -PS1i = R2i.z; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedVS[20].x)) + intBitsToFloat(R9i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedVS[20].y)) + intBitsToFloat(R4i.x))); -PV0i.y = R123i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(uf_remappedVS[14].y))); -R2i.w = ((R5i.x == 0)?(R1i.w):(R7i.w)); -PS0i = R2i.w; -// 13 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(R0i.z)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(uf_remappedVS[20].z)) + intBitsToFloat(R4i.w))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + -(1.0)); -// 14 -R123i.x = ((R1i.z == 0)?(PV1i.x):(0x3f800000)); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -// 15 -backupReg0i = R3i.x; -backupReg1i = R3i.y; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.z))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PV0i.y))); -R0i.z = PV0i.x; -R0i.z = clampFI32(R0i.z); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedVS[20].w)) + 1.0)); -PV1i.w = R123i.w; -// 16 -backupReg0i = R3i.z; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.w))); -// 17 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R5i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R4i.z; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R5i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R4i.z; -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.x))); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R5i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R4i.z))); -PS0i = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R5i.z)); -// 1 -backupReg0i = R0i.w; -R0i.x = ((PV0i.x == 0)?(R1i.x):(0x3f800000)); -R0i.y = ((PV0i.x == 0)?(R1i.y):(0x3f800000)); -R0i.z = ((PV0i.x == 0)?(R6i.z):(0x3f800000)); -R0i.w = ((PV0i.x == 0)?(backupReg0i):(0x3f800000)); -R122i.x = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(R4i.y) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 2 -R123i.z = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R12i.x) + intBitsToFloat(PS1i))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedVS[21].y))); -// 3 -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), 0.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.z)); -PS1i = floatBitsToInt(tempResultf); -// 4 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.x), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(PS1i))); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -// 6 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(uf_remappedVS[21].z))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].z), intBitsToFloat(R127i.z))); -// 7 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(R126i.y)) + intBitsToFloat(PS0i))); -PV1i.x = R123i.x; -PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -PS1i = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x))); -R123i.x = clampFI32(R123i.x); -PV0i.x = R123i.x; -PV0i.z = floatBitsToInt(min(intBitsToFloat(PS1i), 1.0)); -tempResultf = log2(intBitsToFloat(PV1i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedVS[21].w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(uf_remappedVS[24].w))); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(uf_remappedVS[25].w))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.x), intBitsToFloat(uf_remappedVS[19].w))); -R127i.x = floatBitsToInt(exp2(intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 11 -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].y)) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(uf_remappedVS[24].x)) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.y = floatBitsToInt(exp2(intBitsToFloat(PV0i.z))); -PS1i = R126i.y; -// 12 -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(uf_remappedVS[24].z)) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.y = R123i.y; -// 13 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[25].x)) + intBitsToFloat(R127i.w))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[25].y)) + intBitsToFloat(R127i.z))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedVS[25].z)) + intBitsToFloat(PV0i.y))); -} -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -// export -gl_Position = vec4(intBitsToFloat(R0i.x) *(origRatio / newRatio), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R2i.x) *(origRatio / newRatio), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R7i.x) *(origRatio / newRatio), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.z)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/ed70de7fe7542f87_00000000000003c9_ps.txt b/Source/XenobladeX/ed70de7fe7542f87_00000000000003c9_ps.txt deleted file mode 100644 index 12c070b9..00000000 --- a/Source/XenobladeX/ed70de7fe7542f87_00000000000003c9_ps.txt +++ /dev/null @@ -1,283 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader ed70de7fe7542f87 -//motion blur sample spread scaling -const float resScale = ; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4e12000 res 320x180x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(location = 0) in vec4 passParameterSem0; -layout(location = 1) in vec4 passParameterSem1; -layout(location = 0) out vec4 passPixelColor0; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(passParameterSem0); -R1i = floatBitsToInt(passParameterSem1); -if( activeMaskStackC[1] == true ) { -R12i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R1i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R12i.y) + -(0.5)); -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -PV0i.y = floatBitsToInt(intBitsToFloat(R12i.x) + -(0.5)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); -R0i.z = ((0.0 >= intBitsToFloat(R12i.z))?int(0xFFFFFFFF):int(0x0)); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0xbd4ccccd)/resScale); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(0x3d4ccccd)/resScale); -// 2 -R12i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.w), intBitsToFloat(PV1i.w))); -R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R12i.w), intBitsToFloat(PV1i.z))); -// 3 -predResult = (R0i.z == 0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R1i.x = floatBitsToInt(intBitsToFloat(R0i.x) + -(intBitsToFloat(R12i.x))); -PV0i.x = R1i.x; -R1i.y = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(R12i.y))); -PV0i.y = R1i.y; -// 1 -R2i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV0i.x)); -PV1i.x = R2i.x; -R2i.y = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV0i.y)); -PV1i.y = R2i.y; -// 2 -R3i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV1i.x)); -PV0i.x = R3i.x; -R3i.y = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV1i.y)); -PV0i.y = R3i.y; -// 3 -R4i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV0i.x)); -PV1i.x = R4i.x; -R4i.y = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV0i.y)); -PV1i.y = R4i.y; -// 4 -R5i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV1i.x)); -PV0i.x = R5i.x; -R5i.y = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV1i.y)); -PV0i.y = R5i.y; -// 5 -R6i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV0i.x)); -PV1i.x = R6i.x; -R6i.y = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV0i.y)); -PV1i.y = R6i.y; -// 6 -R7i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV1i.x)); -PV0i.x = R7i.x; -R7i.y = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV1i.y)); -PV0i.y = R7i.y; -// 7 -R15i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV0i.x)); -PV1i.x = R15i.x; -R15i.y = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV0i.y)); -PV1i.y = R15i.y; -// 8 -R11i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV1i.x)); -PV0i.x = R11i.x; -R11i.y = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV1i.y)); -PV0i.y = R11i.y; -// 9 -R10i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV0i.x)); -PV1i.x = R10i.x; -R10i.y = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV0i.y)); -PV1i.y = R10i.y; -// 10 -R9i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV1i.x)); -PV0i.x = R9i.x; -R9i.y = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV1i.y)); -PV0i.y = R9i.y; -// 11 -R8i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV0i.x)); -PV1i.x = R8i.x; -R8i.y = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV0i.y)); -PV1i.y = R8i.y; -// 12 -R14i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV1i.x)); -PV0i.x = R14i.x; -R14i.y = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV1i.y)); -PV0i.y = R14i.y; -// 13 -R13i.x = floatBitsToInt(-(intBitsToFloat(R12i.x)) + intBitsToFloat(PV0i.x)); -PV1i.x = R13i.x; -R13i.y = floatBitsToInt(-(intBitsToFloat(R12i.y)) + intBitsToFloat(PV0i.y)); -PV1i.y = R13i.y; -// 14 -backupReg0i = R12i.x; -backupReg1i = R12i.y; -R12i.x = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(PV1i.x)); -R12i.y = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + intBitsToFloat(PV1i.y)); -} -if( activeMaskStackC[2] == true ) { -R1i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R1i.xy)).xyz); -R0i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).xyz); -R2i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R2i.xy)).xyz); -R3i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R3i.xy)).xyz); -R4i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R4i.xy)).xyz); -R5i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R5i.xy)).xyz); -R6i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R6i.xy)).xyz); -R7i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R7i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -backupReg0i = R0i.y; -backupReg1i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R1i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg1i) + intBitsToFloat(R1i.x)); -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R2i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R2i.y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R2i.x)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R3i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R3i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R3i.y)); -// 3 -backupReg0i = R4i.x; -R4i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R4i.y)); -R4i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(backupReg0i)); -R0i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R4i.z)); -} -if( activeMaskStackC[2] == true ) { -R3i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R15i.xy)).xyz); -R2i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R11i.xy)).xyz); -R0i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R10i.xy)).xyz); -R1i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R9i.xy)).xyz); -R8i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R8i.xy)).xyz); -R9i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R14i.xy)).xyz); -R10i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R13i.xy)).xyz); -R11i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R12i.xy)).xyz); -} -if( activeMaskStackC[2] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R5i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(R5i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(R5i.x)); -// 1 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R6i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R6i.y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R6i.x)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R7i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R7i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R7i.y)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R3i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R3i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R3i.z)); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R2i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R2i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R2i.x)); -// 5 -backupReg0i = R0i.y; -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R0i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(backupReg0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R0i.x)); -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R1i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R1i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R1i.y)); -// 7 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R8i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R8i.x)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R8i.z)); -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R9i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R9i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R9i.x)); -// 9 -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R10i.z)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R10i.y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R10i.x)); -// 10 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(R11i.x)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R11i.z)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(R11i.y)); -// 11 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3d800000)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3d800000)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3d800000)); -// 12 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), 0.0)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(PV1i.y), 0.0)); -// 13 -R0i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), intBitsToFloat(0x41000000))); -R0i.y = floatBitsToInt(min(intBitsToFloat(PV0i.y), intBitsToFloat(0x41000000))); -R0i.z = floatBitsToInt(min(intBitsToFloat(PV0i.x), intBitsToFloat(0x41000000))); -R0i.w = R12i.z; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -// 0 -R0i.xyz = ivec3(0,0,0); -R0i.w = 0; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -} diff --git a/Source/XenobladeX/eec2c2cee7a1d42f_0000000000000000_vs.txt b/Source/XenobladeX/eec2c2cee7a1d42f_0000000000000000_vs.txt deleted file mode 100644 index 5199e465..00000000 --- a/Source/XenobladeX/eec2c2cee7a1d42f_0000000000000000_vs.txt +++ /dev/null @@ -1,1407 +0,0 @@ - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_shading_language_packing : enable -// shader eec2c2cee7a1d42f -//waterfall splashes cutscene, rain *dumped* -uniform ivec4 uf_remappedVS[27]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem3; -layout(location = 4) in uvec4 attrDataSem4; -layout(location = 5) in uvec4 attrDataSem5; -layout(location = 6) in uvec4 attrDataSem6; -layout(location = 7) in uvec4 attrDataSem7; -layout(location = 8) in uvec4 attrDataSem8; -layout(location = 9) in uvec4 attrDataSem9; -layout(location = 10) in uvec4 attrDataSem10; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 3) out vec4 passParameterSem4; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[5]; -bool activeMaskStackC[6]; -activeMaskStack[0] = false; -activeMaskStack[1] = false; -activeMaskStack[2] = false; -activeMaskStack[3] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStackC[2] = false; -activeMaskStackC[3] = false; -activeMaskStackC[4] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xy = attrDataSem0.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder = attrDataSem1; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem5; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem6; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R7i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyz = attrDataSem7.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R8i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder.xyz = attrDataSem4.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); -attrDecoder = attrDataSem8; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R9i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder = attrDataSem9; -attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); -R10i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem10.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R11i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem2.xyzw)/255.0); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem3.xyzw)/255.0); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R125i.x = floatBitsToInt(max(intBitsToFloat(R5i.x), -(intBitsToFloat(R5i.x)))); -PV0i.x = R125i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R7i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PV0i.y = R123i.y; -R127i.z = floatBitsToInt(max(intBitsToFloat(R5i.y), -(intBitsToFloat(R5i.y)))); -PV0i.z = R127i.z; -R127i.w = R5i.z; -R127i.y = floatBitsToInt((intBitsToFloat(R7i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 1 -R127i.x = floatBitsToInt(intBitsToFloat(R8i.x) * intBitsToFloat(PV0i.x)); -R123i.y = floatBitsToInt((intBitsToFloat(R7i.z) * intBitsToFloat(0x3e22f983) + 0.5)); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[0].x) + -(0.5)); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(PV0i.y))); -R126i.x = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(PV0i.z)); -PS1i = R126i.x; -// 2 -PV0i.x = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(R127i.w)); -R124i.w = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R124i.w; -// 3 -PV1i.x = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.w)); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.x)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R125i.x)) + intBitsToFloat(R127i.x)); -R5i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -R126i.z = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PS1i = R126i.z; -// 4 -backupReg0i = R127i.y; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.y = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -R127i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(backupReg1i))); -R126i.y = R6i.x; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 5 -R127i.x = R6i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) * 2.0); -R125i.y = floatBitsToInt(intBitsToFloat(R5i.x) * intBitsToFloat(R8i.x)); -R125i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(R8i.y)); -R126i.w = R6i.y; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -R125i.w = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(R8i.z)); -PS1i = R125i.w; -// 6 -PV0i.x = R8i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) / 2.0); -R0i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(0x3e22f983)); -PV0i.z = 0; -PV0i.w = R8i.y; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0); -R126i.z = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(0x3e22f983)); -PS0i = R126i.z; -// 7 -backupReg0i = R126i.w; -R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w)); -R7i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R127i.y)); -R11i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(R125i.x)); -R126i.w = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R126i.y)); -R124i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(backupReg0i)); -PS1i = R124i.y; -// 8 -PV0i.x = R6i.y; -PV0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * 2.0); -R127i.y = R6i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R127i.y) * 2.0); -PV0i.z = R6i.z; -PV0i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * 2.0); -R127i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R127i.x)); -R126i.y = R6i.w; -R126i.y = floatBitsToInt(intBitsToFloat(R126i.y) * 2.0); -PS0i = R126i.y; -// 9 -backupReg0i = R125i.y; -R127i.x = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(R125i.w)); -R125i.y = floatBitsToInt(-(intBitsToFloat(R5i.y)) + intBitsToFloat(R125i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i)); -R0i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PV0i.x)); -R125i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PV0i.z)); -PS1i = R125i.x; -// 10 -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = R124i.x; -PV0i.y = R124i.x; -PV0i.z = R124i.x; -PV0i.w = R124i.x; -R125i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.x))); -PS0i = R125i.w; -// 11 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(R126i.y)); -R125i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.z))); -R125i.z = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(R124i.w) + intBitsToFloat(R5i.y))); -R124i.w = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R126i.y)); -PS1i = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w)); -// 12 -R126i.x = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R126i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R127i.y)); -R6i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -R0i.z = 0; -PS0i = R0i.z; -// 13 -R0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(R8i.x)); -PV1i.x = R0i.x; -R5i.y = floatBitsToInt(intBitsToFloat(R1i.y) * intBitsToFloat(R8i.y)); -PV1i.y = R5i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(R124i.y) + intBitsToFloat(R127i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R126i.w) + intBitsToFloat(R124i.y)); -R13i.x = 0; -PS1i = R13i.x; -// 14 -R0i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R125i.w)); -R7i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R125i.z)); -R14i.z = floatBitsToInt(intBitsToFloat(R0i.z) + intBitsToFloat(R125i.y)); -R8i.w = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0); -R8i.y = 0; -PS0i = R8i.y; -// 15 -R5i.x = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(R127i.x)); -R5i.y = 0x3f800000; -R8i.z = 0; -R11i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.w))); -R12i.w = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x)); -PS1i = R12i.w; -// 16 -R8i.x = 0x3f800000; -R0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R127i.x))); -R4i.w = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R124i.w)); -R13i.w = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(R126i.x))); -PS0i = R13i.w; -// 17 -R1i.z = floatBitsToInt(-(intBitsToFloat(R127i.w)) + 1.0); -R7i.z = 0; -PS1i = R7i.z; -// 18 -R12i.z = 0; -PS0i = floatBitsToInt(sin((intBitsToFloat(R5i.w))/0.1591549367)); -// 19 -R127i.z = PS0i; -R0i.w = floatBitsToInt(-(intBitsToFloat(PS0i)) * 1.0); -PS1i = floatBitsToInt(cos((intBitsToFloat(R5i.w))/0.1591549367)); -// 20 -R127i.w = PS1i; -R1i.w = floatBitsToInt(intBitsToFloat(PS1i) * 1.0); -PS0i = R1i.w; -// 21 -PS1i = floatBitsToInt(sin((intBitsToFloat(R0i.y))/0.1591549367)); -// 22 -backupReg0i = R0i.y; -R0i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -R5i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS1i)); -R2i.w = floatBitsToInt(-(intBitsToFloat(PS1i)) * 1.0); -PS0i = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -// 23 -R14i.y = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -R6i.z = floatBitsToInt(intBitsToFloat(R127i.w) * intBitsToFloat(PS0i)); -R5i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -R127i.w = floatBitsToInt(sin((intBitsToFloat(R126i.z))/0.1591549367)); -PS1i = R127i.w; -// 24 -R6i.x = PS1i; -PS0i = floatBitsToInt(cos((intBitsToFloat(R126i.z))/0.1591549367)); -// 25 -R14i.x = PS0i; -R13i.y = floatBitsToInt(-(intBitsToFloat(R127i.w))); -R6i.y = PS0i; -PS1i = R6i.y; -// 26 -R13i.z = floatBitsToInt(sqrt(intBitsToFloat(R124i.x))); -PS0i = R13i.z; -// 27 -predResult = (intBitsToFloat(0xc0200000) > intBitsToFloat(R7i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.xyz = ivec3(R5i.z,R0i.w,R6i.z); -PV0i.x = R127i.x; -PV0i.y = R127i.y; -PV0i.z = R127i.z; -R127i.w = 0; -R8i.x = uf_remappedVS[1].z; -PS0i = R8i.x; -// 1 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -// 2 -backupReg0i = R127i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R8i.y = uf_remappedVS[4].z; -PS1i = R8i.y; -// 4 -R8i.z = uf_remappedVS[5].z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 5 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PV1i.y = R127i.y; -// 6 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) * -(intBitsToFloat(PV1i.x))); -PV0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PV1i.y)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * -(intBitsToFloat(PV1i.x))); -// 7 -backupReg0i = R127i.y; -R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R1i.y) + intBitsToFloat(PV0i.z))); -R123i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(R7i.y) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -// 8 -R0i.x = PV1i.z; -PV0i.x = R0i.x; -R0i.y = PV1i.w; -PV0i.y = R0i.y; -R5i.x = PV1i.x; -PS0i = R5i.x; -// 9 -R14i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV1i.x = R14i.x; -PV1i.y = R14i.x; -PV1i.z = R14i.x; -PV1i.w = R14i.x; -R5i.y = R127i.y; -PS1i = R5i.y; -// 10 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R14i.y = tempi.x; -// 11 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -backupReg2i = R14i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.z = tempi.x; -// 12 -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),0.0))); -PV0i.x = R6i.x; -PV0i.y = R6i.x; -PV0i.z = R6i.x; -PV0i.w = R6i.x; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.y = tempi.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R12i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[1] = activeMaskStack[1] == false; -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -if( activeMaskStackC[2] == true ) { -activeMaskStack[2] = activeMaskStack[1]; -activeMaskStackC[3] = activeMaskStackC[2]; -// 0 -predResult = (0.5 > intBitsToFloat(R7i.w)); -activeMaskStack[2] = predResult; -activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true; -} -else { -activeMaskStack[2] = false; -activeMaskStackC[3] = false; -} -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -R13i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R14i.x),intBitsToFloat(R13i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),0.0))); -PV0i.x = R13i.x; -PV0i.y = R13i.x; -PV0i.z = R13i.x; -PV0i.w = R13i.x; -R5i.x = uf_remappedVS[1].x; -PS0i = R5i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R7i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R14i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R7i.y = tempi.x; -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R8i.z)); -R5i.y = uf_remappedVS[1].y; -R5i.z = uf_remappedVS[1].z; -// 3 -R0i.xyz = ivec3(uf_remappedVS[4].x,uf_remappedVS[4].y,uf_remappedVS[4].z); -R122i.x = floatBitsToInt((intBitsToFloat(R1i.y) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.x))); -PS1i = R122i.x; -// 4 -backupReg0i = R12i.z; -R12i.xyz = ivec3(uf_remappedVS[5].x,uf_remappedVS[5].y,uf_remappedVS[5].z); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R8i.z)); -R7i.x = floatBitsToInt((intBitsToFloat(R1i.x) * intBitsToFloat(R14i.x) + intBitsToFloat(PS1i))); -PS0i = R7i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(PV0i.w),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R13i.y = tempi.x; -R1i.z = 0; -PS1i = R1i.z; -// 6 -predResult = (intBitsToFloat(0xbfc00000) > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = uf_remappedVS[1].w; -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].z) * 1.0); -R127i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); -R126i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[4].w))); -// 1 -PV1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[1].y)); -R5i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * 0.0 + intBitsToFloat(PV0i.y))); -PS1i = R5i.z; -// 2 -R5i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.z))); -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[1].y)); -// 3 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[4].y)); -R0i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * 0.0 + intBitsToFloat(R127i.z))); -// 4 -R0i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R127i.x) + intBitsToFloat(PV1i.x))); -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[4].y)); -// 5 -R126i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 6 -R126i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[1].w) * intBitsToFloat(uf_remappedVS[5].y)); -// 7 -R5i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[1].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[5].z) * 1.0); -// 8 -R12i.x = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R127i.x) + intBitsToFloat(R126i.y))); -R0i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[4].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R127i.w))); -R12i.z = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * 0.0 + intBitsToFloat(PV1i.w))); -R12i.y = floatBitsToInt((intBitsToFloat(uf_remappedVS[5].x) * intBitsToFloat(R126i.w) + intBitsToFloat(R126i.x))); -PS0i = R12i.y; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -activeMaskStack[4] = activeMaskStack[3]; -activeMaskStackC[5] = activeMaskStackC[4]; -// 0 -predResult = (0.0 > intBitsToFloat(R7i.w)); -activeMaskStack[4] = predResult; -activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true; -} -else { -activeMaskStack[4] = false; -activeMaskStackC[5] = false; -} -if( activeMaskStackC[5] == true ) { -// 0 -R5i.y = 0; -R5i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[5].x))); -R0i.y = 0x3f800000; -PS0i = R0i.y; -// 1 -R12i.y = 0; -R0i.z = 0; -R12i.z = uf_remappedVS[1].x; -PS1i = R12i.z; -// 2 -R11i.z = 0; -// 3 -R7i.z = R13i.z; -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -R14i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = R14i.x; -PV0i.y = R14i.x; -PV0i.z = R14i.x; -PV0i.w = R14i.x; -R8i.x = R5i.z; -PS0i = R8i.x; -// 1 -backupReg0i = R0i.x; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(R14i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.y = tempi.x; -R8i.y = backupReg1i; -PS1i = R8i.y; -// 2 -backupReg0i = R14i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R13i.x),intBitsToFloat(R7i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(R12i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R14i.z = tempi.x; -R8i.z = R12i.z; -PS0i = R8i.z; -// 3 -backupReg0i = R0i.z; -R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R6i.x; -PV1i.y = R6i.x; -PV1i.z = R6i.x; -PV1i.w = R6i.x; -PS1i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(backupReg0i)); -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R6i.y = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R12i.z)); -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R13i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.z = tempi.x; -} -activeMaskStack[2] = activeMaskStack[2] == false; -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -activeMaskStack[3] = activeMaskStack[2]; -activeMaskStackC[4] = activeMaskStackC[3]; -// 0 -predResult = (1.5 > intBitsToFloat(R7i.w)); -activeMaskStack[3] = predResult; -activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true; -} -else { -activeMaskStack[3] = false; -activeMaskStackC[4] = false; -} -if( activeMaskStackC[4] == true ) { -// 0 -R7i.x = R14i.z; -R7i.z = R0i.x; -R12i.x = R12i.z; -PS0i = R12i.x; -// 1 -R12i.y = R1i.y; -R12i.z = R1i.x; -} -activeMaskStack[3] = activeMaskStack[3] == false; -activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true; -if( activeMaskStackC[4] == true ) { -// 0 -R127i.x = ((intBitsToFloat(0x40600000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -PV0i.x = R127i.x; -R127i.y = ((intBitsToFloat(0x40200000) > intBitsToFloat(R7i.w))?int(0xFFFFFFFF):int(0x0)); -// 1 -R123i.x = ((PV0i.x == 0)?(R7i.y):(R0i.x)); -PV1i.x = R123i.x; -R123i.y = ((PV0i.x == 0)?(R14i.z):(R14i.z)); -PV1i.y = R123i.y; -R123i.z = ((PV0i.x == 0)?(R1i.y):(R1i.x)); -PV1i.z = R123i.z; -R123i.w = ((PV0i.x == 0)?(R0i.x):(R7i.y)); -PV1i.w = R123i.w; -R127i.z = ((PV0i.x == 0)?(R1i.x):(R1i.y)); -PS1i = R127i.z; -// 2 -backupReg0i = R7i.y; -R7i.x = ((R127i.y == 0)?(PV1i.x):(R0i.x)); -R7i.y = ((R127i.y == 0)?(PV1i.w):(R14i.z)); -R7i.z = ((R127i.y == 0)?(PV1i.y):(backupReg0i)); -R123i.w = ((R127i.x == 0)?(R12i.z):(R12i.z)); -PV0i.w = R123i.w; -R12i.x = ((R127i.y == 0)?(PV1i.z):(R1i.x)); -PS0i = R12i.x; -// 3 -R8i.x = ((R127i.y == 0)?(0):(R13i.x)); -R12i.y = ((R127i.y == 0)?(R127i.z):(R12i.z)); -R12i.z = ((R127i.y == 0)?(PV0i.w):(R1i.y)); -R8i.y = ((R127i.y == 0)?(0):(R5i.y)); -PS1i = R8i.y; -// 4 -backupReg0i = R8i.z; -R8i.z = ((R127i.y == 0)?(0x3f800000):(backupReg0i)); -} -activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true; -if( activeMaskStackC[3] == true ) { -// 0 -backupReg0i = R0i.y; -R127i.x = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(R6i.x)); -PV0i.y = floatBitsToInt(intBitsToFloat(R6i.z) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(R14i.y) * intBitsToFloat(R6i.x)); -PV0i.w = floatBitsToInt(intBitsToFloat(R14i.y) * intBitsToFloat(R6i.y)); -R127i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(R6i.y)); -PS0i = R127i.z; -// 1 -R126i.x = floatBitsToInt((intBitsToFloat(R2i.w) * 0.0 + intBitsToFloat(PV0i.y))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -R125i.z = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R14i.x) + intBitsToFloat(PV0i.z))); -PV1i.z = R125i.z; -R126i.w = floatBitsToInt((intBitsToFloat(R2i.w) * intBitsToFloat(R13i.y) + intBitsToFloat(PV0i.w))); -PV1i.w = R126i.w; -R124i.w = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R6i.x)); -PS1i = R124i.w; -// 2 -R124i.x = floatBitsToInt((intBitsToFloat(R1i.w) * 0.0 + intBitsToFloat(R0i.w))); -R126i.y = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R6i.y)); -R126i.z = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.w)); -R127i.w = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.z)); -R125i.x = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(PV1i.x)); -PS0i = R125i.x; -// 3 -R0i.x = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R14i.x) + intBitsToFloat(R127i.x))); -R125i.y = floatBitsToInt((intBitsToFloat(R5i.w) * 0.0 + intBitsToFloat(R127i.y))); -R124i.z = floatBitsToInt((intBitsToFloat(R5i.w) * intBitsToFloat(R13i.y) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R125i.z)); -R127i.z = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(R126i.w)); -PS1i = R127i.z; -// 4 -backupReg0i = R126i.x; -backupReg1i = R126i.z; -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R12i.w) * intBitsToFloat(R125i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(R0i.z) * intBitsToFloat(backupReg0i)); -R126i.z = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(R124i.w) + intBitsToFloat(R127i.w))); -R127i.w = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R125i.z = floatBitsToInt(intBitsToFloat(R12i.w) * intBitsToFloat(backupReg0i)); -PS0i = R125i.z; -// 5 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt(intBitsToFloat(R12i.w) * intBitsToFloat(R126i.w)); -R127i.y = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg0i))); -R127i.z = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R124i.x) + intBitsToFloat(PV0i.y))); -R126i.w = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R126i.y) + intBitsToFloat(backupReg1i))); -R11i.z = 0; -PS1i = R11i.z; -// 6 -R127i.x = floatBitsToInt((intBitsToFloat(R6i.w) * intBitsToFloat(R124i.w) + intBitsToFloat(R125i.w))); -// 7 -backupReg0i = R126i.y; -backupReg1i = R124i.x; -R124i.x = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R0i.x) + intBitsToFloat(R126i.z))); -R126i.y = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R127i.w))); -R126i.z = floatBitsToInt((intBitsToFloat(R13i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(R127i.y))); -PV1i.z = R126i.z; -R127i.w = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.x))); -R125i.x = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(backupReg1i) + intBitsToFloat(R125i.z))); -PS1i = R125i.x; -// 8 -backupReg0i = R127i.z; -R5i.x = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R0i.x) + intBitsToFloat(R127i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(PV1i.z)); -R127i.z = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R125i.y) + intBitsToFloat(backupReg0i))); -R123i.w = floatBitsToInt((intBitsToFloat(R11i.w) * intBitsToFloat(R124i.w) + intBitsToFloat(R126i.x))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(PV1i.z)); -// 9 -backupReg0i = R125i.y; -R6i.x = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.w))); -R125i.y = floatBitsToInt((intBitsToFloat(R4i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R126i.w))); -R125i.z = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(backupReg0i) + intBitsToFloat(R125i.x))); -R125i.x = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(R126i.y) + intBitsToFloat(PS0i))); -PS1i = R125i.x; -// 10 -backupReg0i = R126i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R126i.y),intBitsToFloat(backupReg0i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((intBitsToFloat(R8i.w) * intBitsToFloat(R124i.z) + intBitsToFloat(R127i.w))); -PS0i = R124i.y; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R5i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = tempi.x; -R127i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[6].x)); -PS1i = R127i.w; -// 12 -backupReg0i = R126i.z; -backupReg1i = R125i.x; -R125i.x = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R126i.y) + intBitsToFloat(R127i.y))); -R127i.y = floatBitsToInt(intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[6].z)); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].y)); -R124i.w = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg1i))); -R0i.x = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(R127i.z)); -PS0i = R0i.x; -// 13 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y),intBitsToFloat(R125i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R127i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R127i.w))); -PS1i = R127i.x; -// 14 -backupReg0i = R125i.x; -backupReg1i = R127i.y; -R125i.x = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R124i.x) + intBitsToFloat(backupReg0i))); -R127i.y = floatBitsToInt(intBitsToFloat(R8i.y) * intBitsToFloat(R124i.y)); -R123i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(backupReg1i))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R126i.z))); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R127i.z)); -// 15 -R14i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(R127i.x))); -R14i.y = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.w))); -R14i.z = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.z))); -R123i.w = floatBitsToInt((intBitsToFloat(R12i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(PS0i))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((intBitsToFloat(R8i.y) * intBitsToFloat(R125i.y) + intBitsToFloat(R0i.x))); -PS1i = R122i.x; -// 16 -backupReg0i = R124i.w; -backupReg0i = R124i.w; -R127i.x = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(R5i.x) + intBitsToFloat(PS1i))); -R125i.y = floatBitsToInt((intBitsToFloat(R12i.x) * intBitsToFloat(R5i.x) + intBitsToFloat(PV1i.w))); -R127i.z = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(uf_remappedVS[6].y)); -R124i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].x)); -R126i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].z)); -PS0i = R126i.x; -// 17 -backupReg0i = R125i.x; -backupReg0i = R125i.x; -backupReg0i = R125i.x; -backupReg1i = R125i.z; -R125i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].x)); -PV1i.y = floatBitsToInt(intBitsToFloat(R12i.z) * intBitsToFloat(R125i.z)); -R125i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].z)); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_remappedVS[6].y)); -R122i.x = floatBitsToInt((intBitsToFloat(R8i.z) * intBitsToFloat(backupReg1i) + intBitsToFloat(R127i.y))); -PS1i = R122i.x; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R12i.x),intBitsToFloat(R12i.y),intBitsToFloat(PV1i.y),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R124i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt((intBitsToFloat(R8i.x) * intBitsToFloat(R6i.x) + intBitsToFloat(PS1i))); -PS0i = R124i.y; -// 19 -R123i.x = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R125i.x))); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R126i.x))); -R123i.z = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(R124i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R127i.z))); -PV1i.w = R123i.w; -R127i.x = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(R126i.w))); -PS1i = R127i.x; -// 20 -R8i.x = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV1i.z))); -R8i.y = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV1i.w))); -R123i.w = floatBitsToInt((intBitsToFloat(R125i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(R125i.z))); -PV0i.w = R123i.w; -R6i.x = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV1i.x))); -PS0i = R6i.x; -// 21 -R6i.y = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(R127i.x))); -R8i.z = floatBitsToInt((intBitsToFloat(R124i.y) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(R127i.y))); -R6i.z = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.w))); -PS1i = R6i.z; -// 22 -R7i.z = R13i.z; -} -activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true; -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].w) * 1.0); -PV0i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].y) * 1.0); -PV0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].z) * 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[9].x) * 1.0); -R0i.x = 0; -PS0i = R0i.x; -// 1 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].w) + intBitsToFloat(PV0i.x))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].y) + intBitsToFloat(PV0i.y))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].z) + intBitsToFloat(PV0i.z))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.z) * intBitsToFloat(uf_remappedVS[6].x) + intBitsToFloat(PV0i.w))); -PV1i.w = R123i.w; -R5i.z = R3i.w; -R5i.z = floatBitsToInt(intBitsToFloat(R5i.z) * 2.0); -PS1i = R5i.z; -// 2 -R123i.x = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].w) + intBitsToFloat(PV1i.x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].y) + intBitsToFloat(PV1i.y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].z) + intBitsToFloat(PV1i.z))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(uf_remappedVS[7].x) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R5i.x = ((0.0 >= intBitsToFloat(PS1i))?int(0xFFFFFFFF):int(0x0)); -PS0i = R5i.x; -// 3 -R126i.x = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].x) + intBitsToFloat(PV0i.w))); -PV1i.x = R126i.x; -R125i.y = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].y) + intBitsToFloat(PV0i.y))); -PV1i.y = R125i.y; -R126i.z = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].z) + intBitsToFloat(PV0i.z))); -PV1i.z = R126i.z; -R0i.w = floatBitsToInt((intBitsToFloat(R2i.x) * intBitsToFloat(uf_remappedVS[8].w) + intBitsToFloat(PV0i.x))); -PV1i.w = R0i.w; -R127i.x = floatBitsToInt((intBitsToFloat(R11i.y) * intBitsToFloat(0x3e22f983) + 0.5)); -PS1i = R127i.x; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R11i.x) * intBitsToFloat(0x3e22f983) + 0.5)); -PS0i = R127i.y; -// 5 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].y) + -(intBitsToFloat(0x3dcccccd))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(-(intBitsToFloat(R7i.z)) + intBitsToFloat(uf_remappedVS[11].x)); -PV1i.w = floatBitsToInt(intBitsToFloat(R7i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PS1i = floatBitsToInt(intBitsToFloat(uf_remappedVS[11].w) + -(intBitsToFloat(0x3dcccccd))); -// 6 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(PV1i.w))); -R127i.z = ((intBitsToFloat(PV1i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R127i.w = ((intBitsToFloat(PS1i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R126i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[12].w)) + 1.0); -PS0i = R126i.y; -// 7 -PV1i.x = floatBitsToInt(fract(intBitsToFloat(R127i.x))); -R2i.y = ((-(1.0) > intBitsToFloat(uf_remappedVS[0].y))?int(0xFFFFFFFF):int(0x0)); -R123i.z = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.z = R123i.z; -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(fract(intBitsToFloat(R127i.y))); -// 8 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(R127i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(R127i.w)); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.x) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c90fdb) + -(intBitsToFloat(0x40490fdb)))); -PV0i.w = R123i.w; -R127i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].x) + -(1.0)); -PS0i = R127i.w; -// 9 -R127i.x = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3e22f983)); -PV1i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].y) + -(1.0)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3e22f983)); -PV1i.w = R126i.w; -R127i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[13].z) + -(1.0)); -PS1i = R127i.y; -// 10 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + -(0.0)); -R124i.y = floatBitsToInt(intBitsToFloat(uf_remappedVS[14].x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R0i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R1i.w = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R124i.x = floatBitsToInt(sin((intBitsToFloat(PV1i.w))/0.1591549367)); -PS0i = R124i.x; -// 11 -R125i.x = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -R5i.y = ((intBitsToFloat(uf_remappedVS[14].x) == intBitsToFloat(uf_remappedVS[14].y))?int(0xFFFFFFFF):int(0x0)); -R1i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[13].w) + 1.0)); -R123i.w = ((intBitsToFloat(PV0i.x) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R123i.w; -R127i.y = floatBitsToInt(sin((intBitsToFloat(R127i.x))/0.1591549367)); -PS1i = R127i.y; -// 12 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R14i.x) * intBitsToFloat(PV1i.w)); -PV0i.x = R127i.x; -R11i.y = floatBitsToInt(intBitsToFloat(R14i.y) * intBitsToFloat(PV1i.w)); -PV0i.y = R11i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R14i.z) * intBitsToFloat(PV1i.w)); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R127i.w = floatBitsToInt(cos((intBitsToFloat(backupReg0i))/0.1591549367)); -PS0i = R127i.w; -// 13 -backupReg0i = R126i.y; -backupReg0i = R126i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(R126i.y)); -R126i.y = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS0i)); -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) * intBitsToFloat(backupReg0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(backupReg0i)); -PS1i = floatBitsToInt(cos((intBitsToFloat(R126i.w))/0.1591549367)); -// 14 -R11i.x = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(PV1i.w)); -PV0i.x = R11i.x; -R0i.y = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(PV1i.z)); -PV0i.y = R0i.y; -R2i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.x)); -PV0i.z = R2i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R1i.x) * intBitsToFloat(PS1i)); -R122i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(R1i.y) + intBitsToFloat(R125i.x))); -PS0i = R122i.x; -// 15 -backupReg0i = R0i.w; -R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w)))); -PV1i.x = R2i.x; -PV1i.y = R2i.x; -PV1i.z = R2i.x; -PV1i.w = R2i.x; -R126i.x = floatBitsToInt((intBitsToFloat(R10i.w) * intBitsToFloat(PS0i) + intBitsToFloat(R10i.y))); -PS1i = R126i.x; -// 16 -backupReg0i = R0i.w; -backupReg1i = R126i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R0i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.y = tempi.x; -R126i.w = floatBitsToInt((-(intBitsToFloat(R124i.x)) * intBitsToFloat(R1i.y) + intBitsToFloat(backupReg1i))); -PS0i = R126i.w; -// 17 -backupReg0i = R0i.y; -backupReg1i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R2i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R11i.z = tempi.x; -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(R124i.y)); -PS1i = R2i.w; -// 18 -backupReg0i = R126i.y; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) * intBitsToFloat(0x42800000)); -R126i.y = floatBitsToInt((intBitsToFloat(R10i.z) * intBitsToFloat(R126i.w) + intBitsToFloat(R10i.x))); -R126i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(R1i.y) + intBitsToFloat(R125i.w))); -R123i.w = floatBitsToInt((-(intBitsToFloat(R127i.y)) * intBitsToFloat(R1i.y) + intBitsToFloat(backupReg0i))); -PV0i.w = R123i.w; -R1i.y = floatBitsToInt(intBitsToFloat(backupReg1i) + 0.5); -PS0i = R1i.y; -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R11i.y),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = floatBitsToInt((intBitsToFloat(R9i.z) * intBitsToFloat(PV0i.w) + intBitsToFloat(R9i.x))); -PS1i = R127i.y; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R11i.y),intBitsToFloat(R127i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(0x3a4ccccd)); -PS0i = R127i.x; -// 21 -backupReg0i = R9i.y; -R9i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ab60b61)); -R9i.y = floatBitsToInt(intBitsToFloat(R126i.x) * intBitsToFloat(uf_remappedVS[12].w)); -PV1i.y = R9i.y; -R9i.z = floatBitsToInt(intBitsToFloat(R126i.y) + 0.5); -R10i.w = floatBitsToInt((intBitsToFloat(R9i.w) * intBitsToFloat(R126i.z) + intBitsToFloat(backupReg0i))); -R7i.x = floatBitsToInt(intBitsToFloat(R127i.y) + 0.5); -PS1i = R7i.x; -// 22 -backupReg0i = R0i.y; -backupReg1i = R0i.w; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R2i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w)))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -R9i.w = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(R127i.x)); -PS0i = R9i.w; -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -backupReg0i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(R0i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -R126i.z = floatBitsToInt(intBitsToFloat(R9i.y) * intBitsToFloat(R9i.x)); -PS0i = R126i.z; -// 1 -backupReg0i = R0i.y; -backupReg1i = R0i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R2i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(R9i.w)); -PS1i = R126i.x; -// 2 -backupReg0i = R1i.y; -R127i.x = ((R2i.y == 0)?(PS1i):(PS1i)); -R1i.y = floatBitsToInt(intBitsToFloat(R10i.w) + 0.5); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(uf_remappedVS[0].z)); -R126i.w = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(R126i.z)); -R125i.x = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + 1.0); -PS0i = R125i.x; -// 3 -backupReg0i = R0i.y; -backupReg1i = R0i.w; -backupReg2i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R11i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R2i.z),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.z = tempi.x; -R127i.y = ((R2i.y == 0)?(PV0i.z):(backupReg2i)); -PS1i = R127i.y; -// 4 -R123i.x = ((R2i.y == 0)?(PV1i.x):(PV1i.x)); -PV0i.x = R123i.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(R11i.z))); -R125i.z = ((intBitsToFloat(uf_remappedVS[14].z) == 0.0)?int(0xFFFFFFFF):int(0x0)); -R123i.w = ((R2i.y == 0)?(R126i.w):(R126i.w)); -PV0i.w = R123i.w; -R0i.x = ((R5i.x == 0)?(R127i.x):(0x3f800000)); -PS0i = R0i.x; -// 5 -backupReg0i = R0i.y; -R1i.x = 0; -R2i.y = ((R5i.x == 0)?(PV0i.w):(0x3f800000)); -R2i.z = ((R5i.x == 0)?(R127i.y):(0x3f800000)); -R0i.w = ((R5i.x == 0)?(PV0i.x):(0x3f800000)); -R0i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(uf_remappedVS[14].w))); -PS1i = R0i.y; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R6i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R7i.z = 0; -PS0i = R7i.z; -// 7 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -R3i.w = 0; -PS1i = R3i.w; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.w)); -R126i.z = floatBitsToInt(tempResultf); -PS0i = R126i.z; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),-0.0),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R124i.x = floatBitsToInt(intBitsToFloat(R6i.x) * intBitsToFloat(PS0i)); -PS1i = R124i.x; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(intBitsToFloat(R6i.y) * intBitsToFloat(R126i.z)); -PS0i = R127i.y; -// 11 -R6i.x = ((R125i.z == 0)?(R1i.x):(R126i.x)); -R6i.y = ((R125i.z == 0)?(R0i.y):(R126i.w)); -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(R126i.z)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),-0.0),vec4(-(intBitsToFloat(uf_remappedVS[19].x)),-(intBitsToFloat(uf_remappedVS[19].y)),-(intBitsToFloat(uf_remappedVS[19].z)),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) / 2.0); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -// 13 -PV1i.x = floatBitsToInt(max(intBitsToFloat(PS0i), -(intBitsToFloat(PS0i)))); -R7i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + 1.0); -R6i.z = ((R125i.z == 0)?(R7i.z):(R126i.y)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.5); -R6i.w = ((R125i.z == 0)?(R3i.w):(R124i.z)); -PS1i = R6i.w; -// 14 -PV0i.x = floatBitsToInt(max(intBitsToFloat(PV1i.w), 0.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.x) + -(intBitsToFloat(uf_remappedVS[14].y))); -R7i.w = R125i.x; -R7i.z = R9i.z; -PS0i = R7i.z; -// 15 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[20].y) + intBitsToFloat(R1i.w))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[20].x) + intBitsToFloat(R0i.z))); -PV1i.y = R123i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(R2i.w)); -R123i.w = floatBitsToInt((intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[20].z) + intBitsToFloat(R1i.z))); -PV1i.w = R123i.w; -// 16 -R123i.x = ((R5i.y == 0)?(PV1i.z):(0x3f800000)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -// 17 -R1i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.x = R1i.x; -R0i.y = floatBitsToInt((intBitsToFloat(PV0i.y) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.y = R0i.y; -R0i.z = floatBitsToInt((intBitsToFloat(PV0i.w) * intBitsToFloat(uf_remappedVS[20].w) + 1.0)); -PV1i.z = R0i.z; -R1i.z = PV0i.x; -R1i.z = clampFI32(R1i.z); -PS1i = R1i.z; -// 18 -backupReg0i = R3i.x; -backupReg1i = R3i.z; -R3i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV1i.x)); -R1i.y = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(PV1i.y)); -R3i.z = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(PV1i.z)); -// 19 -predResult = (intBitsToFloat(uf_remappedVS[11].y) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[11].x))); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].x)) + intBitsToFloat(uf_remappedVS[11].y)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -predResult = (intBitsToFloat(uf_remappedVS[11].w) > 0.0); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -R127i.z = floatBitsToInt(intBitsToFloat(R11i.z) + intBitsToFloat(uf_remappedVS[11].w)); -PV0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedVS[11].z)) + intBitsToFloat(uf_remappedVS[11].w)); -// 1 -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 2 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS1i)); -PV0i.x = clampFI32(PV0i.x); -// 3 -backupReg0i = R5i.z; -R5i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PV0i.x)); -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R11i.z)) + -(intBitsToFloat(uf_remappedVS[21].x))); -R126i.y = floatBitsToInt(intBitsToFloat(R4i.x) * intBitsToFloat(R1i.x)); -R126i.z = floatBitsToInt(intBitsToFloat(R4i.y) * intBitsToFloat(R0i.y)); -PV0i.w = ((0.0 >= intBitsToFloat(uf_remappedVS[0].w))?int(0xFFFFFFFF):int(0x0)); -R127i.w = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(R0i.z)); -PS0i = R127i.w; -// 1 -R4i.x = ((PV0i.w == 0)?(R0i.x):(0x3f800000)); -R4i.y = ((PV0i.w == 0)?(R2i.y):(0x3f800000)); -R4i.z = ((PV0i.w == 0)?(R2i.z):(0x3f800000)); -R4i.w = ((PV0i.w == 0)?(R0i.w):(0x3f800000)); -PS1i = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_remappedVS[21].y)); -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R10i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(PS1i), 0.0)); -PS0i = R127i.z; -// 3 -R0i.x = floatBitsToInt(max(intBitsToFloat(R3i.x), 0.0)); -R0i.y = floatBitsToInt(max(intBitsToFloat(R1i.y), 0.0)); -R0i.w = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R5i.z)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 4 -backupReg0i = R127i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(PS1i)); -PV0i.x = R127i.x; -R125i.y = floatBitsToInt(intBitsToFloat(R10i.y) * intBitsToFloat(PS1i)); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt(intBitsToFloat(R11i.z) * intBitsToFloat(PS1i)); -PV0i.z = R127i.z; -tempResultf = log2(intBitsToFloat(backupReg0i)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R127i.y = floatBitsToInt(tempResultf); -PS0i = R127i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R0i.z = floatBitsToInt(max(intBitsToFloat(R3i.z), 0.0)); -PS1i = R0i.z; -// 6 -PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(uf_remappedVS[21].z)); -R2i.y = floatBitsToInt(max(intBitsToFloat(R126i.z), 0.0)); -R2i.z = floatBitsToInt(max(intBitsToFloat(R127i.w), 0.0)); -PV0i.w = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(intBitsToFloat(PV1i.x)))); -R2i.x = floatBitsToInt(max(intBitsToFloat(R126i.y), 0.0)); -PS0i = R2i.x; -// 7 -PV1i.x = floatBitsToInt(intBitsToFloat(uf_remappedVS[23].z) * intBitsToFloat(R127i.z)); -PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0); -R127i.z = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R127i.z; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),1.0,0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = log2(intBitsToFloat(PV1i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS0i = floatBitsToInt(tempResultf); -// 9 -PV1i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].w)); -PV1i.y = floatBitsToInt(min(intBitsToFloat(R127i.z), 1.0)); -tempResultf = log2(intBitsToFloat(PV0i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 10 -R127i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(uf_remappedVS[21].w)); -PV0i.y = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_remappedVS[25].w)); -R127i.w = floatBitsToInt(exp2(intBitsToFloat(PV1i.x))); -PS0i = R127i.w; -// 11 -R125i.y = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].y) + intBitsToFloat(uf_remappedVS[26].y))); -R127i.z = floatBitsToInt((intBitsToFloat(PS0i) * intBitsToFloat(uf_remappedVS[24].x) + intBitsToFloat(uf_remappedVS[26].x))); -R126i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.y))); -PS1i = R126i.w; -// 12 -R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_remappedVS[24].z) + intBitsToFloat(uf_remappedVS[26].z))); -PV0i.x = R123i.x; -// 13 -R1i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[25].x) + intBitsToFloat(R127i.z))); -R1i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[25].y) + intBitsToFloat(R125i.y))); -R1i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(uf_remappedVS[25].z) + intBitsToFloat(PV0i.x))); -// 14 -R1i.w = floatBitsToInt(intBitsToFloat(R127i.x) * intBitsToFloat(uf_remappedVS[19].w)); -} -// export -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -gl_Position = vec4(intBitsToFloat(R4i.x)*(origRatio / newRatio), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -// skipped export to semanticId 255 -// export -passParameterSem4 = vec4(intBitsToFloat(R7i.x), intBitsToFloat(R7i.y), intBitsToFloat(R7i.z), intBitsToFloat(R7i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -if( activeMaskStackC[1] == true ) { -// 0 -} -} diff --git a/Source/XenobladeX/fa7054d25fd49999_0000000000000000_vs.txt b/Source/XenobladeX/fa7054d25fd49999_0000000000000000_vs.txt deleted file mode 100644 index a7bf4fa5..00000000 --- a/Source/XenobladeX/fa7054d25fd49999_0000000000000000_vs.txt +++ /dev/null @@ -1,121 +0,0 @@ - - - -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader fa7054d25fd49999 -//lock line combat -uniform ivec4 uf_remappedVS[4]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem1.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem0.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -// 0 -R126f.x = R1f.w * 1.0; -R127f.y = mul_nonIEEE(R1f.y, R1f.w); -R127f.z = mul_nonIEEE(R1f.x, R1f.w); -R127f.w = 1.0; -PV0f.w = R127f.w; -R127f.x = mul_nonIEEE(R1f.z, R1f.w); -PS0f = R127f.x; -// 1 -R0f.x = dot(vec4(R2f.x,R2f.y,R2f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV1f.x = R0f.x; -PV1f.y = R0f.x; -PV1f.z = R0f.x; -PV1f.w = R0f.x; -R1f.w = 1.0; -PS1f = R1f.w; -// 2 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -R3f.x = R127f.z * intBitsToFloat(0x41200000); -PS0f = R3f.x; -// 3 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.z = tempf.x; -R3f.y = R127f.y * intBitsToFloat(0x41200000); -PS1f = R3f.y; -// 4 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.w = tempf.x; -R3f.z = R127f.x * intBitsToFloat(0x41200000); -PS0f = R3f.z; -// 5 -R3f.w = R126f.x * intBitsToFloat(0x41200000); -float origRatio = 1.777f; -float newRatio = ; -// *(origRatio / newRatio) -// export -gl_Position = vec4(R0f.x*(origRatio / newRatio), R0f.y, R0f.z, R0f.w); -// export -passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// 0 -} diff --git a/Source/XenobladeX/fdb5a87dd0368c6b_000000000000f249_ps.txt b/Source/XenobladeX/fdb5a87dd0368c6b_000000000000f249_ps.txt index 0e3b7e77..ff7da166 100644 --- a/Source/XenobladeX/fdb5a87dd0368c6b_000000000000f249_ps.txt +++ b/Source/XenobladeX/fdb5a87dd0368c6b_000000000000f249_ps.txt @@ -1,18 +1,11 @@ - #version 420 #extension GL_ARB_texture_gather : enable // shader fdb5a87dd0368c6b // shadows scaling, ie 4096 = x4 // To do - some nice edge smoothing at higher res -const float resScale = ; -const float resScaleDetail = 2.0; +const float resScale = ($height/$gameHeight); +const float resScaleDetail = ($height/$gameHeight) * 0.75; const float shadowExposure = 0.85; uniform ivec4 uf_remappedPS[23]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4386000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 diff --git a/Source/XenobladeX/patches.txt b/Source/XenobladeX/patches.txt deleted file mode 100644 index c1f80ec8..00000000 --- a/Source/XenobladeX/patches.txt +++ /dev/null @@ -1,76 +0,0 @@ - -[XCXAspectV100U_V101U] -moduleMatches = 2878856811, 0x676EB33E - -# rodata constants -0x1003E754 = .float -_aspectAddr = 0x1003E754 - -# 3d Aspect -0x031608E4 = lis r7, _aspectAddr@ha -0x031608E8 = lfs f13, _aspectAddr@l(r7) - -[XCXAspectV102U] -moduleMatches = 0x30B6E091 - -#rodata constants -0x1003E754 = .float -_aspectAddr = 0x1003E754 - -# 3d Aspect -0x03160A64 = lis r7, _aspectAddr@ha -0x03160A68 = lfs f13, _aspectAddr@l(r7) - -[XCXAspectV100E_V101E] -moduleMatches = 0x218F6E07, 0xF882D5CF - -# rodata constants -0x1003E754 = .float -_aspectAddr = 0x1003E754 - -# 3d Aspect -0x03160AE4 = lis r7, _aspectAddr@ha -0x03160AE8 = lfs f13, _aspectAddr@l(r7) - -[XCXAspectV100J] -moduleMatches = 0x785CA8A9 - -#rodata constants -0x1003E6C4 = .float -_aspectAddr = 0x1003E6C4 - -# 3d Aspect -0x0315687C = lis r7, _aspectAddr@ha -0x03156880 = lfs f13, _aspectAddr@l(r7) - -[XCXAspectV101J] -moduleMatches = 0x8780C48F - -#rodata constants -0x1003E714 = .float -_aspectAddr = 0x1003E714 - -# 3d Aspect -0x0315BBA4 = lis r7, _aspectAddr@ha -0x0315BBA8 = lfs f13, _aspectAddr@l(r7) - -[XCXAspectV102J] -moduleMatches = 0x7672271D - -#rodata constants -0x1003E714 = .float -_aspectAddr = 0x1003E714 - -# 3d Aspect -0x0315BE7C = lis r7, _aspectAddr@ha -0x0315BE80 = lfs f13, _aspectAddr@l(r7) diff --git a/Source/XenobladeX/rules.txt b/Source/XenobladeX/rules.txt index 517b73e5..d899c9a7 100644 --- a/Source/XenobladeX/rules.txt +++ b/Source/XenobladeX/rules.txt @@ -1,215 +1,345 @@ - [Definition] titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - " -version = 2 +name = Resolution +path = "Xenoblade Chronicles X/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 -[TextureRedefine] # increase colour depth, slower but less banding -formats = 0x816 -overwriteFormat = 0x820 +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 -[TextureRedefine] # -formats = 0x810 -overwriteFormat = 0x81e +// Performance -[TextureRedefine] # -formats = 0x806 -overwriteFormat = 0x80e +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 -[TextureRedefine] # -formats = 0x007 -overwriteFormat = 0x00f +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 -formats = 0x19,0x1a -overwriteFormat = 0x1f -tileModesExcluded = 0x001 +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 -[TextureRedefine] # -width = 320 -height = 180 -formats = 0x19 -overwriteFormat = 0x823 +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 -[TextureRedefine] # -width = 320 -height = 180 -formats = 0x1a -overwriteFormat = 0x823 +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 -#[TextureRedefine] #lod override, shimmer and possible sharper textures -#formats = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435 -#overwriteRelativeLodBias = -1 # don't reccomend more than -1 +// Quality -[TextureRedefine] #0x01a, super sampling -formats = 0x005,0x01a -overwriteRelativeLodBias = -16 # +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 -[TextureRedefine] # tv +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] width = 1280 height = 720 +#formats = 0x816,0x810,0x41a,0x008,0x001,0x01a formatsExcluded = 0x031 #NLA flyover XCX logo screen tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 -[TextureRedefine] #XCX shadow +[TextureRedefine] # shadows width = 1024 height = 1024 -formats = 0x005 -overwriteWidth = -overwriteHeight = +formats = 0x005 +overwriteWidth = ($width/$gameWidth) * 1024 +overwriteHeight = ($height/$gameHeight) * 1024 -[TextureRedefine] # Gear menu +[TextureRedefine] #ingame menu width = 1024 height = 720 -formatsExcluded = 0x001 #in game movies, stasis -overwriteWidth = -overwriteHeight = +tileModesExcluded = 0x001 +###formats = 0x01a,0x810,0x011,0x816 # 0x41a +overwriteWidth = ($width/$gameWidth) * 1024 +overwriteHeight = ($height/$gameHeight) * 720 -[TextureRedefine] # Do not remove, must be upscaled with same factor as TV or probe view breaks +[TextureRedefine] +width = 864 +height = 480 +#formats = +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 + +[TextureRedefine] width = 854 height = 480 -overwriteWidth = -overwriteHeight = +#formats = +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 854 +overwriteHeight = ($height/$gameHeight) * 480 -[TextureRedefine] # half-res alpha +[TextureRedefine] +width = 640 +height = 368 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 #dialog prompt fixes, XCX Logo NLA +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 + +[TextureRedefine] width = 640 height = 360 -formatsExcluded = 0x41A,0x033,0x031 #dialog prompt fixes, XCX Logo NLA exclude obvious textures -tileModesExcluded = 0x001 -overwriteWidth = -overwriteHeight = +tileModesExcluded = 0x001 # fmv sub colour +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 -[TextureRedefine] #XCX Dynamic shadow scale both same for smoother transitions +[TextureRedefine] # shadows 1024 for smoother transition width = 512 height = 512 -formats = 0x005 -overwriteWidth = -overwriteHeight = +formats = 0x005 +overwriteWidth = ($height/$gameHeight) * 1024 +overwriteHeight = ($height/$gameHeight) * 1024 -[TextureRedefine] # Sun, Light Sources (plants, armor etc) -width = 512 +[TextureRedefine] +width = 512 height = 288 -overwriteWidth = -overwriteHeight = +#formats = +overwriteWidth = ($width/$gameWidth) * 512 +overwriteHeight = ($height/$gameHeight) * 288 -[TextureRedefine] # Fog -width = 426 +[TextureRedefine] # fog +width = 448 height = 240 -overwriteWidth = -overwriteHeight = +overwriteWidth = ($width/$gameWidth) * 448 +overwriteHeight = ($height/$gameHeight) * 240 -[TextureRedefine] # q-res alpha (Previously not added due to potential conflict, please remove rule when using Xeno GCN4 workaround) +[TextureRedefine] # fog +width = 426 +height = 240 +overwriteWidth = ($width/$gameWidth) * 426 +overwriteHeight = ($height/$gameHeight) * 240 + +[TextureRedefine] # #Bloom, DOF +width = 320 +height = 192 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + +[TextureRedefine] # Bloom, DOF width = 320 height = 180 -overwriteWidth = -overwriteHeight = +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 [TextureRedefine] -width = 261 -height = 223 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] -width = 256 -height = 180 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine] # "God rays" stencil res, lens reflections. width = 256 height = 144 -overwriteWidth = -overwriteHeight = +###formats = 0x816 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 144 -#[TextureRedefine] # lod switch dithering, don't scale -#width = 256 -#height = 8 -#formats = 0x01a # verify not to scale. +[TextureRedefine] # PR screen +width = 256 +height = 256 +formats = 0x810 #,0x011 #0x816 +overwriteWidth = ($height/$gameHeight) * 256 +overwriteHeight = ($height/$gameHeight) * 256 -#[TextureRedefine] # lod switch dithering, don't scale -#width = 256 -#height = 4 -#formats = 0x01a # verify not to scale. - - -[TextureRedefine] # +[TextureRedefine]# sky width = 255 height = 255 -formats = 0x810 # 0x01a, PR screen NLA -overwriteWidth = -overwriteHeight = +formats = 0x810 +#formatsExcluded = 0x01a,0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($height/$gameHeight) * 255 +overwriteHeight = ($height/$gameHeight) * 255 -[TextureRedefine]# Probe glow. +[TextureRedefine] # Bloom +width = 160 +height = 96 +###formats = 0x816 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 96 + +[TextureRedefine] #bloom width = 160 height = 90 -#formatsExcluded = 0x816 #fixed in shader -overwriteWidth = -overwriteHeight = +###formats = 0x816 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 90 -[TextureRedefine] +[TextureRedefine] # width = 128 height = 128 -formats = 0x806 -overwriteWidth = -overwriteHeight = +#formats = 0x806 #,0x035,0x034,0x033,0x031 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 128 +overwriteHeight = ($height/$gameHeight) * 128 + +[TextureRedefine] +width = 127 +height = 127 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +###formats = 0x80e # 0x820,0x816 #,0x035,0x034,0x033,0x032,0x031 +overwriteWidth = ($width/$gameWidth) * 127 +overwriteHeight = ($height/$gameHeight) * 127 + +[TextureRedefine] +width = 96 +height = 48 +###formats = 0x816 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 96 +overwriteHeight = ($height/$gameHeight) * 48 [TextureRedefine] -width = 128 -height = 90 -#formatsExcluded = -overwriteWidth = -overwriteHeight = - -[TextureRedefine]# should up-scale from 35 to keep aligment with other 16:9 buffers width = 80 height = 46 -#formatsExcluded = 0x816 #fixed in shader -overwriteWidth = -overwriteHeight = +###formats = 0x816 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 80 +overwriteHeight = ($height/$gameHeight) * 46 -[TextureRedefine] # +[TextureRedefine] width = 64 height = 64 -formats = 0x816,0x820 #001a includes cube breaks if scaled -overwriteWidth = -overwriteHeight = +###formats = 0x820,0x816 #,0x035,0x034,0x033,0x032,0x031 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 64 -[TextureRedefine] +[TextureRedefine] width = 64 -height = 46 -#formatsExcluded = -overwriteWidth = -overwriteHeight = +height = 32 +###formats = 0x806 #0x820,0x816 #,0x035,0x034,0x033,0x032,0x031 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 32 [TextureRedefine] # +width = 32 height = 32 -height = 32 -formats = 0x806 #001a includes cube breaks flashlight scene -overwriteWidth = -overwriteHeight = +formats = 0x806 #001a breaks flashlight scene +overwriteWidth = ($width/$gameWidth) * 32 +overwriteHeight = ($height/$gameHeight) * 32 -#[TextureRedefine] #grading don't scale -#width = 16 -#height = 16 -#formatsExcluded = -#overwriteWidth = 16 -#overwriteHeight = 16 +[TextureRedefine] +width = 32 +height = 16 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 32 +overwriteHeight = ($height/$gameHeight) * 16 + +[TextureRedefine] # +width = 16 +height = 8 +###formats = 0x008,0x806,0x80e # ,0x431,0x031 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 16 +overwriteHeight = ($height/$gameHeight) * 8 [TextureRedefine] # width = 8 height = 8 -formats = 0x806 -overwriteWidth = -overwriteHeight = +##formats = 0x806,0x81e,0x80e # ,0x431,0x031 +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 8 +overwriteHeight = ($height/$gameHeight) * 8 + +[TextureRedefine] +width = 4 +height = 4 +###formats = 0x81e,0x80e +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 4 +overwriteHeight = ($height/$gameHeight) * 4 + +[TextureRedefine] +width = 1 +height = 1 +###formats = 0x008,0x81e,0x01a +formatsExcluded = 0x431,0x035,0x034,0x033,0x031 +overwriteWidth = ($width/$gameWidth) * 1 +overwriteHeight = ($height/$gameHeight) * 1 diff --git a/Source/WoollyWorld/b5082db8c1a44514_0000000000000079_ps.txt b/Source/YoshisWoollyWorld/b5082db8c1a44514_0000000000000079_ps.txt similarity index 94% rename from Source/WoollyWorld/b5082db8c1a44514_0000000000000079_ps.txt rename to Source/YoshisWoollyWorld/b5082db8c1a44514_0000000000000079_ps.txt index 5b2a339e..0eb4ca29 100644 --- a/Source/WoollyWorld/b5082db8c1a44514_0000000000000079_ps.txt +++ b/Source/YoshisWoollyWorld/b5082db8c1a44514_0000000000000079_ps.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader b5082db8c1a44514 // Used for vertical blur DoF -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_uniformRegisterPS[256]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4e14800 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 diff --git a/Source/WoollyWorld/f1f99f18ae69719b_0000000000000079_ps.txt b/Source/YoshisWoollyWorld/f1f99f18ae69719b_0000000000000079_ps.txt similarity index 94% rename from Source/WoollyWorld/f1f99f18ae69719b_0000000000000079_ps.txt rename to Source/YoshisWoollyWorld/f1f99f18ae69719b_0000000000000079_ps.txt index 8b02780a..f32be300 100644 --- a/Source/WoollyWorld/f1f99f18ae69719b_0000000000000079_ps.txt +++ b/Source/YoshisWoollyWorld/f1f99f18ae69719b_0000000000000079_ps.txt @@ -1,17 +1,10 @@ - #version 420 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader f1f99f18ae69719b // Used for horizontal blur DoF -const float resXScale = ; -const float resYScale = ; +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); uniform ivec4 uf_uniformRegisterPS[256]; layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf59d2000 res 640x360x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 diff --git a/Source/YoshisWoollyWorld/rules.txt b/Source/YoshisWoollyWorld/rules.txt new file mode 100644 index 00000000..57576096 --- /dev/null +++ b/Source/YoshisWoollyWorld/rules.txt @@ -0,0 +1,136 @@ +[Definition] +titleIds = 0005000010131F00,0005000010184E00,0005000010184D00 +name = Resolution +path = "Yoshi's Woolly World/Graphics/Resolution" +description = Changes the resolution of the game. +version = 3 + +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + +[TextureRedefine] # Game Resolution +width = 1280 +height = 720 +formatsExcluded = 0x033 +overwriteWidth = ($width / $gameWidth) * 1280 +overwriteHeight = ($height / $gameHeight) * 720 + +[TextureRedefine] # Depth of Field Pass +width = 640 +height = 368 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 368 + +[TextureRedefine] # Depth of Field Pass +width = 640 +height = 360 +overwriteWidth = ($width / $gameWidth) * 640 +overwriteHeight = ($height / $gameHeight) * 360 diff --git a/Source/functions.php b/Source/functions.php deleted file mode 100644 index 2bfff6aa..00000000 --- a/Source/functions.php +++ /dev/null @@ -1,53 +0,0 @@ - 0) { - $a = $b; - $b = $r; - $r = $a % $b; - } - return $b; -} -function simplify($num,$den) { - $g = gcd($num,$den); - return Array($num/$g,$den/$g); -} -function get_title($width, $height) { - $title = $width . "x" . $height; - $ratio = simplify($width, $height); - if (!($ratio[0] == 16 && $ratio[1] == 9)) { - if ($ratio[0] == 64 && $ratio[1] == 27) { - // 64:27 is the true ratio, but 21:9 is the common approximation - $title = $title . " (21:9)"; - } else if ($ratio[0] == 43 && $ratio[1] == 18) { - // 43:18 is the true ratio for 3440x1440, but 21:9 is the common approximation - $title = $title . " (21:9)"; - } else if ($ratio[0] == 7 && $ratio[1] == 3) { - // 2100x900 and 4200x1800 are actual 21:9 (21*100 and 9*100) but for some reason it calculates to 7:3? - $title = $title . " (21:9)"; - } else if ($ratio[0] == 853 && $ratio[1] == 360) { - // 21:9 720p calculates to 853:360 - $title = $title . " (21:9)"; - } else if ($ratio[0] == 8 && $ratio[1] == 5) { - // common sense - $title = $title . " (16:10)"; - } else if ($ratio[0] == 427 && $ratio[1] == 240) { - // common sense - return $title; - } else if ($ratio[0] == 683 && $ratio[1] == 384) { - // common sense - return $title; - } else if ($ratio[0] == 71 && $ratio[1] == 40) { - // common sense - return $title; - } else { - $title = $title . " (" . $ratio[0] .":". $ratio[1] . ")"; - } - } - return $title; -} -?> \ No newline at end of file diff --git a/Workaround/BreathOfTheWild_!AMDLights/cf2e9b7aab93e342_000000000001fe49_ps.txt b/Workaround/BreathOfTheWild_!AMDLights/cf2e9b7aab93e342_000000000001fe49_ps.txt deleted file mode 100644 index f4f3ebb3..00000000 --- a/Workaround/BreathOfTheWild_!AMDLights/cf2e9b7aab93e342_000000000001fe49_ps.txt +++ /dev/null @@ -1,494 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader cf2e9b7aab93e342 -// AMD Light Circle fix - World lights reflection pass - -uniform ivec4 uf_remappedPS[10]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3df6f800 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 1) noperspective in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem0); -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0)); -PV0i.x = R123i.x; -R6i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(uf_remappedPS[0].y)); -R0i.z = 0; -R2i.w = floatBitsToInt(-(intBitsToFloat(R1i.x)) + intBitsToFloat(uf_remappedPS[0].x)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[1].x)); -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(PS0i)); -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[1].y)); -// 2 -R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(PS1i)); -R13i.w = 0; -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[2].w)); -PS0i = R1i.w; -R3i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.xy)).xyzw); -R2i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R2i.xy)).x); -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R3i.x) * 2.0 + -(1.0))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R3i.y) * 2.0 + -(1.0))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R3i.z) * 2.0 + -(1.0))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),intBitsToFloat(R2i.x)) + intBitsToFloat(uf_remappedPS[3].x))); -PV0i.w = R127i.w; -tempResultf = 1.0 / sqrt(intBitsToFloat(R0i.w)); -R126i.w = floatBitsToInt(tempResultf); -PS0i = R126i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 2 -backupReg0i = R127i.w; -R125i.x = floatBitsToInt(-(intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[4].z)); -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R126i.w))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(R127i.w)))); -PV0i.z = R126i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), -(intBitsToFloat(backupReg0i)))); -PV0i.w = R127i.w; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 3 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R6i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R124i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(uf_remappedPS[4].x)); -PV1i.w = R124i.w; -R125i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(uf_remappedPS[4].y)); -PS1i = R125i.y; -// 4 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(PV1i.w)),-(intBitsToFloat(PS1i)),-(intBitsToFloat(R125i.x)),-0.0),vec4(intBitsToFloat(uf_remappedPS[2].x),intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(uf_remappedPS[2].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R126i.w))); -PS0i = R10i.y; -// 5 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.w))); -PV1i.x = R0i.x; -R3i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + 1.0); -PV1i.y = R3i.y; -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R1i.w)); -R127i.z = clampFI32(R127i.z); -PV1i.z = R127i.z; -R0i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[5].x)); -R5i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[0].y)) + intBitsToFloat(uf_remappedPS[5].y)); -PS1i = R5i.y; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[4].x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[4].y))); -PV0i.y = R123i.y; -R125i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * 0.5 + 0.5)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(0x3d4ccccd))); -R123i.w = clampFI32(R123i.w); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.z), intBitsToFloat(PV1i.x))); -// 7 -R126i.x = floatBitsToInt(intBitsToFloat(R126i.z) + -(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.w) + -(intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),intBitsToFloat(R127i.z)) + intBitsToFloat(uf_remappedPS[4].z))); -PV1i.w = R123i.w; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(R10i.y)) + intBitsToFloat(PS0i))); -PS1i = R122i.x; -// 8 -backupReg0i = R125i.z; -backupReg0i = R125i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R9i.y)) + intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R12i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R125i.z = floatBitsToInt(intBitsToFloat(R126i.y) + -(intBitsToFloat(PV1i.w))); -PV0i.z = R125i.z; -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg0i))); -R4i.w = floatBitsToInt(intBitsToFloat(R4i.w) / 2.0); -R8i.z = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3ea2f983)); -PS0i = R8i.z; -// 9 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R126i.x)),-(intBitsToFloat(R127i.y)),-(intBitsToFloat(PV0i.z)),-0.0),vec4(-(intBitsToFloat(R126i.x)),-(intBitsToFloat(R127i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R3i.z = tempi.x; -PS1i = PV0i.x; -PS1i = floatBitsToInt(intBitsToFloat(PS1i) * 2.0); -// 10 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(PS1i)) + -(intBitsToFloat(R9i.y)))); -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R11i.y),intBitsToFloat(PS1i)) + -(intBitsToFloat(R10i.y)))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.z),intBitsToFloat(PS1i)) + -(intBitsToFloat(R0i.x)))); -R127i.w = R127i.x; -R127i.w = clampFI32(R127i.w); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R126i.x)), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R127i.y)), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R125i.z)), intBitsToFloat(PS0i))); -PV1i.z = R5i.z; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].w), intBitsToFloat(PS0i))); -PV1i.w = R125i.w; -R2i.x = floatBitsToInt(-(intBitsToFloat(R4i.w)) + 1.0); -PS1i = R2i.x; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.w = tempi.x; -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PV1i.w)); -PS0i = R126i.y; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[2].x),intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(uf_remappedPS[2].z),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R2i.x)) + intBitsToFloat(R4i.w))); -PS1i = R122i.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.w),intBitsToFloat(R125i.y),intBitsToFloat(R125i.x),-0.0),vec4(intBitsToFloat(uf_remappedPS[2].x),intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(uf_remappedPS[2].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R7i.z = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); -PS0i = R7i.z; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.w),intBitsToFloat(R125i.y),intBitsToFloat(R125i.x),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.z = tempi.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PS1i = R126i.x; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.w),intBitsToFloat(R125i.y),intBitsToFloat(R125i.x),-0.0),vec4(intBitsToFloat(R124i.w),intBitsToFloat(R125i.y),intBitsToFloat(R125i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.x))); -// 17 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(max(intBitsToFloat(R126i.w), -(1.0))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[2].w)),intBitsToFloat(R125i.z)) + intBitsToFloat(backupReg0i))); -PV1i.y = R123i.y; -R125i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -R126i.w = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(0x40400000)); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(R125i.w))); -PS1i = R5i.w; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.w),intBitsToFloat(R5i.y),intBitsToFloat(R0i.z),-0.0),vec4(intBitsToFloat(R0i.w),intBitsToFloat(R5i.y),intBitsToFloat(R5i.y),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 19 -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(min(intBitsToFloat(backupReg0i), 1.0)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(uf_remappedPS[7].y))); -R4i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedPS[8].x)) + intBitsToFloat(uf_remappedPS[8].y))); -PV1i.w = floatBitsToInt(intBitsToFloat(R125i.z) * intBitsToFloat(PS0i)); -PV1i.w = clampFI32(PV1i.w); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); -// 20 -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),intBitsToFloat(PV1i.w)) + intBitsToFloat(R124i.w))); -PV0i.x = R3i.x; -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(PV1i.w)) + intBitsToFloat(R125i.y))); -PV0i.y = R8i.y; -R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R125i.x))); -PV0i.z = R2i.z; -R3i.w = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(PS1i)); -R3i.w = clampFI32(R3i.w); -R2i.y = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -PS0i = R2i.y; -// 21 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = tempi.x; -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedPS[8].z)) + intBitsToFloat(uf_remappedPS[8].w))); -PS1i = R4i.y; -R7i.y = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.yy)).x); -// 0 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.w)) + -(intBitsToFloat(R3i.x)))); -PV0i.x = R126i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.w)) + -(intBitsToFloat(R8i.y)))); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)) + -(intBitsToFloat(R2i.z)))); -PV0i.z = R127i.z; -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(uf_remappedPS[9].y))); -R124i.w = clampFI32(R124i.w); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R3i.w)); -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt(intBitsToFloat(R3i.y) * intBitsToFloat(PS0i)); -PS1i = R126i.w; -// 2 -backupReg0i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R2i.w)),-(intBitsToFloat(R6i.y)),-(intBitsToFloat(R6i.y)),-0.0),vec4(intBitsToFloat(R0i.w),intBitsToFloat(R5i.y),intBitsToFloat(backupReg0i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -backupReg0i = R0i.y; -R125i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R2i.y)); -R125i.x = clampFI32(R125i.x); -PV1i.x = R125i.x; -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.y), intBitsToFloat(backupReg0i))); -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.w)),intBitsToFloat(R124i.w)) + 1.0)); -PV1i.z = R123i.z; -PV1i.w = ((intBitsToFloat(R4i.z) > intBitsToFloat(uf_remappedPS[7].x))?int(0xFFFFFFFF):int(0x0)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(R2i.w))); -PV0i.x = R123i.x; -R126i.y = ((PV1i.w == 0)?(R7i.y):(PV1i.y)); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(R6i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[6].w) * intBitsToFloat(PS1i)); -PV0i.w = clampFI32(PV0i.w); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(PV1i.z))); -PS0i = R5i.y; -// 5 -backupReg0i = R126i.x; -backupReg1i = R125i.y; -backupReg2i = R127i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.w)) + intBitsToFloat(R3i.x))); -PV1i.x = R126i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV0i.w)) + intBitsToFloat(R8i.y))); -PV1i.y = R125i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg2i),intBitsToFloat(PV0i.w)) + intBitsToFloat(R2i.z))); -PV1i.z = R127i.z; -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[0].z)) + intBitsToFloat(uf_remappedPS[5].z)); -// 6 -backupReg0i = R125i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(backupReg0i)) + intBitsToFloat(uf_remappedPS[0].z))); -PS0i = R125i.x; -// 7 -R127i.x = floatBitsToInt(max(-(intBitsToFloat(R5i.z)), 0.0)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].y), intBitsToFloat(R126i.y))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R125i.z)) + intBitsToFloat(R124i.w))); -PV1i.z = R123i.z; -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].x), intBitsToFloat(R126i.y))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 8 -backupReg0i = R126i.x; -backupReg1i = R127i.z; -backupReg2i = R126i.y; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS1i))); -PV0i.y = R126i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.x)),intBitsToFloat(PV1i.z)) + 1.0)); -R125i.w = clampFI32(R125i.w); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].z), intBitsToFloat(backupReg2i))); -PS0i = R124i.y; -// 9 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R9i.y) + intBitsToFloat(PV0i.x)); -PV1i.x = R127i.x; -R125i.y = floatBitsToInt(intBitsToFloat(R10i.y) + intBitsToFloat(PV0i.y)); -PV1i.y = R125i.y; -R125i.z = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(PV0i.z)); -PV1i.z = R125i.z; -PV1i.w = floatBitsToInt(min(intBitsToFloat(backupReg0i), 1.0)); -PS1i = floatBitsToInt(-(intBitsToFloat(R5i.y)) + 1.0); -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R8i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(PS1i)) + intBitsToFloat(R5i.y))); -PS0i = R8i.y; -// 11 -backupReg0i = R126i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -backupReg0i = R127i.x; -backupReg1i = R125i.y; -backupReg2i = R125i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R125i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R2i.x)) + intBitsToFloat(R4i.w))); -PV0i.w = R123i.w; -R125i.x = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(0x3ea2f983)); -PS0i = R125i.x; -// 13 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.y),intBitsToFloat(R10i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R11i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),intBitsToFloat(R125i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R125i.z; -// 15 -backupReg0i = R127i.y; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -PV1i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3ea2f983)); -R124i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(R126i.x))); -PS1i = floatBitsToInt(intBitsToFloat(R124i.y) * intBitsToFloat(0x3ea2f983)); -// 16 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R125i.x))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.y),intBitsToFloat(PV1i.x)) + 1.0)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(PV1i.z))); -// 17 -R13i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), intBitsToFloat(0x42000000))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); -R13i.z = floatBitsToInt(min(intBitsToFloat(PV0i.y), intBitsToFloat(0x42000000))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.x))); -R13i.y = floatBitsToInt(min(intBitsToFloat(PS0i), intBitsToFloat(0x42000000))); -PS1i = R13i.y; -// 18 -R125i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3f75c28f) + intBitsToFloat(0x3d23d70a))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 19 -PV1i.w = floatBitsToInt(intBitsToFloat(R8i.z) * intBitsToFloat(PS0i)); -// 20 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R125i.z))); -// 21 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(PV0i.y))); -// 22 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * 0.25); -// 23 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w))); -// 24 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.z))); -// 25 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.y))); -// 26 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].z), intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].y), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].x), intBitsToFloat(PV1i.x))); -// 27 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.z))); -// 28 -backupReg0i = R8i.y; -backupReg0i = R8i.y; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R8i.y), intBitsToFloat(PV1i.w))); -R8i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.x))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV1i.z))); -// 0 -backupReg0i = R4i.x; -R4i.x = floatBitsToInt(min(intBitsToFloat(R8i.y), intBitsToFloat(0x42000000))); -R4i.y = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(0x42000000))); -R4i.z = floatBitsToInt(min(intBitsToFloat(R5i.w), intBitsToFloat(0x42000000))); -// 1 -R0i.xyz = ivec3(R13i.x,R13i.y,R13i.z); -R0i.w = R13i.w; -// 2 -R1i.xyz = ivec3(R4i.x,R4i.y,R4i.z); -R1i.w = R4i.w; -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Workaround/BreathOfTheWild_!AMDLights/d2082c0e0e8ddf27_000000000001fe49_ps.txt b/Workaround/BreathOfTheWild_!AMDLights/d2082c0e0e8ddf27_000000000001fe49_ps.txt deleted file mode 100644 index 750cec2e..00000000 --- a/Workaround/BreathOfTheWild_!AMDLights/d2082c0e0e8ddf27_000000000001fe49_ps.txt +++ /dev/null @@ -1,424 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader d2082c0e0e8ddf27 -uniform ivec4 uf_remappedPS[8]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3de51000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 1) noperspective in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem0); -// 0 -backupReg0i = R0i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(uf_remappedPS[0].x))); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xbc23d70a)); -PV0i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0xbc23d70a)); -R3i.w = floatBitsToInt(intBitsToFloat(R1i.y) + -(intBitsToFloat(uf_remappedPS[0].y))); -PS0i = R3i.w; -// 1 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[1].z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[1].w))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(PV0i.y))); -R8i.w = 0; -PS1i = R8i.w; -R2i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyzw); -R0i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).x); -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R2i.x) * 2.0 + -(1.0))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R2i.y) * 2.0 + -(1.0))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R2i.z) * 2.0 + -(1.0))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(R0i.x)) + intBitsToFloat(uf_remappedPS[2].x))); -PV0i.w = R127i.w; -R126i.w = floatBitsToInt(intBitsToFloat(R2i.w) * intBitsToFloat(0x437f0000)); -PS0i = R126i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),-(intBitsToFloat(PV0i.w))) + -(intBitsToFloat(uf_remappedPS[3].x)))); -PS1i = R124i.x; -// 2 -R3i.x = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); -PV0i.x = R3i.x; -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),-(intBitsToFloat(R127i.w))) + -(intBitsToFloat(uf_remappedPS[3].y)))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),-(intBitsToFloat(R127i.w))) + -(intBitsToFloat(uf_remappedPS[3].z)))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 3 -backupReg0i = R126i.w; -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3d4ccccd))); -R126i.w = clampFI32(R126i.w); -PS1i = int(intBitsToFloat(backupReg0i)); -// 4 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R126i.z)),-0.0),vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R126i.z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R0i.x = PS1i & 0x00000002; -PS0i = R0i.x; -// 5 -R2i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x3a83126f))); -PV1i.x = R2i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R126i.w))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R3i.x) * 0.5 + 0.5)); -R6i.w = floatBitsToInt((0.0 * intBitsToFloat(uf_remappedPS[4].w) + 1.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(R0i.z)); -PS1i = floatBitsToInt(tempResultf); -// 6 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PV0i.x = R4i.x; -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PS1i))); -PV0i.y = R4i.y; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(PS1i))); -PV0i.z = R3i.z; -R1i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + -(1.0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -R126i.w = floatBitsToInt(tempResultf); -PS0i = R126i.w; -// 7 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -R125i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R124i.x)), intBitsToFloat(PS0i))); -PS1i = R125i.x; -// 8 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(R127i.z))); -R1i.x = floatBitsToInt(intBitsToFloat(R1i.x) / 2.0); -PV0i.x = R1i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R2i.y)), intBitsToFloat(R126i.w))); -R7i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R126i.z)), intBitsToFloat(R126i.w))); -PV0i.w = PV1i.x; -PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].w), intBitsToFloat(R126i.w))); -// 9 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R4i.x)))); -PV1i.x = R126i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R4i.y)))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(PV0i.w)) + -(intBitsToFloat(R3i.z)))); -PV1i.z = R127i.z; -R2i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0); -R124i.y = floatBitsToInt(min(intBitsToFloat(PS0i), 1.0)); -PS1i = R124i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R126i.z)),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = R127i.x; -PS0i = clampFI32(PS0i); -// 11 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(PV0i.x)) + intBitsToFloat(R124i.x))); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV0i.x)) + intBitsToFloat(R126i.z))); -PV1i.z = R127i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS0i),intBitsToFloat(R2i.w)) + intBitsToFloat(R1i.x))); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(R124i.y)); -PS1i = R126i.x; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R7i.y = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(0x3ea2f983)); -PS0i = R7i.y; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(R7i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); -// 14 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x40400000)); -PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.x), -(1.0))); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(uf_remappedPS[6].y))); -PV0i.z = R1i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R124i.y))); -PV0i.w = R5i.w; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); -// 15 -PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), 1.0)); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[7].y))); -R6i.z = ((intBitsToFloat(PV0i.z) > intBitsToFloat(uf_remappedPS[7].x))?int(0xFFFFFFFF):int(0x0)); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) * intBitsToFloat(PS0i)); -PV1i.w = clampFI32(PV1i.w); -R6i.y = floatBitsToInt(1.0 / intBitsToFloat(R126i.w)); -PS1i = R6i.y; -// 16 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -backupReg2i = R126i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R124i.x)))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R2i.y)))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R126i.z)))); -PV0i.z = R127i.z; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[6].w))); -PV0i.w = R126i.w; -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS0i = R127i.x; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); -// 18 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PS1i))); -PV0i.y = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R127i.x)); -PV0i.y = clampFI32(PV0i.y); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_remappedPS[4].y))); -R5i.z = clampFI32(R5i.z); -PV0i.w = ((intBitsToFloat(R126i.w) > 0.0)?int(0xFFFFFFFF):int(0x0)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 19 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.x = R2i.x; -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -PV1i.y = R2i.y; -R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -PV1i.z = R0i.z; -R123i.w = ((PV0i.w == 0)?(0):(PV0i.x)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 20 -backupReg0i = R0i.x; -R0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV1i.x)); -R3i.y = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(PV1i.y)); -R2i.z = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(PV1i.z)); -R0i.w = floatBitsToInt(intBitsToFloat(R3i.x) * intBitsToFloat(PS1i)); -R1i.y = R126i.w; -PS0i = R1i.y; -R1i.y = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R1i.yy)).x); - -//backupReg0i = R0i.x; -//backupReg1i = R0i.y; -//R0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV1i.x)); -//R3i.y = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(PV1i.y)); -//R0i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV1i.z)); -//R3i.w = R126i.z; -//R4i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(PS1i)); -//PS0i = R4i.y; -//R5i.y = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R3i.ww)).x); - -//backupReg0i = R0i.x; -//backupReg1i = R0i.y; -//R0i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV1i.x)); -//R3i.y = floatBitsToInt(intBitsToFloat(R4i.w) + intBitsToFloat(PV1i.y)); -//R2i.z = floatBitsToInt(intBitsToFloat(R3i.w) + intBitsToFloat(PV1i.z)); -//R1i.y = R126i.w; -//R0i.w = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(PS1i)); -//PS0i = R1i.y; -//R1i.y = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R1i.yy)).x); - -//R127i.z = ((R6i.z == 0)?(R1i.y):(R127i.w)); -//R1i.y = ((backupReg0i == 0)?(R126i.w):(PV1i.w)); -//PS0i = R1i.y; -//R1i.y = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R1i.zy)).x); - -// 0 -backupReg0i = R0i.x; -backupReg0i = R0i.x; -backupReg1i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R3i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R3i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(backupReg1i))); -PS0i = R127i.w; -// 1 -backupReg0i = R0i.z; -R124i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(backupReg0i),0.0))); -R124i.x = clampFI32(R124i.x); -PV1i.x = R124i.x; -PV1i.y = R124i.x; -PV1i.z = R124i.x; -PV1i.w = R124i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(PS1i))); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R2i.w)) + intBitsToFloat(R1i.x))); -PV0i.w = R123i.w; -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(R0i.w))); -PS0i = R125i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R127i.y; -// 5 -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i))); -PV1i.x = R126i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R5i.z)),intBitsToFloat(R5i.z)) + 1.0)); -PV1i.y = R123i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R126i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R127i.z = ((R6i.z == 0)?(R1i.y):(R127i.w)); -PS1i = R127i.z; -// 6 -PV0i.x = floatBitsToInt(max(-(intBitsToFloat(R7i.z)), 0.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(R3i.w)) + intBitsToFloat(R4i.w))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(PV1i.w)) + 1.0)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV1i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.y), intBitsToFloat(PV1i.y))); -PS0i = R127i.x; -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R125i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[0].z)),intBitsToFloat(PV0i.y)) + 1.0)); -R125i.y = clampFI32(R125i.y); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV0i.w))); -R127i.w = floatBitsToInt(min(intBitsToFloat(PV0i.x), 1.0)); -R127i.y = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -PS1i = R127i.y; -// 8 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].x), intBitsToFloat(R127i.z))); -R124i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f75c28f) + intBitsToFloat(0x3d23d70a))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(R127i.z))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), intBitsToFloat(R127i.z))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -// 9 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R127i.y)) + intBitsToFloat(R127i.x))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(0x3ea2f983)); -PV1i.z = floatBitsToInt(intBitsToFloat(R7i.y) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(0x3ea2f983)); -PS1i = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3ea2f983)); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R124i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.y))); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.x))); -// 12 -R8i.x = floatBitsToInt(min(intBitsToFloat(PV1i.x), intBitsToFloat(0x42000000))); -R8i.y = floatBitsToInt(min(intBitsToFloat(PV1i.y), intBitsToFloat(0x42000000))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * 0.25); -R8i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x42000000))); -PS0i = R8i.z; -// 13 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PV0i.z))); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.y))); -// 15 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.w), intBitsToFloat(PV0i.x))); -// 16 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].x), intBitsToFloat(PV1i.w))); -// 17 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.z))); -// 18 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PV1i.z))); -// 19 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.w), intBitsToFloat(PV0i.z))); -// 20 -R7i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), intBitsToFloat(0x42000000))); -R7i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), intBitsToFloat(0x42000000))); -R7i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), intBitsToFloat(0x42000000))); -// 21 -R0i.xyz = ivec3(R8i.x,R8i.y,R8i.z); -R0i.w = R8i.w; -// 22 -R1i.xyz = ivec3(R7i.x,R7i.y,R7i.z); -R1i.w = R7i.w; -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Workaround/BreathOfTheWild_!AMDLights/e7e31b26bbd728fc_000000000001fe49_ps.txt b/Workaround/BreathOfTheWild_!AMDLights/e7e31b26bbd728fc_000000000001fe49_ps.txt deleted file mode 100644 index 7ca52c14..00000000 --- a/Workaround/BreathOfTheWild_!AMDLights/e7e31b26bbd728fc_000000000001fe49_ps.txt +++ /dev/null @@ -1,506 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader e7e31b26bbd728fc -uniform ivec4 uf_remappedPS[10]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3de51000 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 1) noperspective in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem0); -// 0 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0)); -PV0i.x = R123i.x; -R7i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(uf_remappedPS[0].y)); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(0xbc23d70a)); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.x) + intBitsToFloat(0xbc23d70a)); -R1i.w = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[1].w)); -PS0i = R1i.w; -// 1 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[2].z))); -R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(uf_remappedPS[2].w))); -R0i.z = 0; -R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.x))); -R4i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + intBitsToFloat(uf_remappedPS[0].x)); -PS1i = R4i.x; -R2i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.xy)).xyzw); -R0i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).x); -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R2i.x) * 2.0 + -(1.0))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R2i.y) * 2.0 + -(1.0))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R2i.z) * 2.0 + -(1.0))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),intBitsToFloat(R0i.x)) + intBitsToFloat(uf_remappedPS[3].x))); -PV0i.w = R127i.w; -tempResultf = 1.0 / sqrt(intBitsToFloat(R0i.w)); -R126i.w = floatBitsToInt(tempResultf); -PS0i = R126i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w))); -PS1i = R126i.y; -// 2 -backupReg0i = R127i.w; -R124i.x = floatBitsToInt(-(intBitsToFloat(PS1i)) + intBitsToFloat(uf_remappedPS[4].z)); -R10i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R126i.w))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), -(intBitsToFloat(R127i.w)))); -PV0i.z = R126i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), -(intBitsToFloat(backupReg0i)))); -PV0i.w = R127i.w; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 3 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -R12i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R125i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + intBitsToFloat(uf_remappedPS[4].x)); -PV1i.w = R125i.w; -R125i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + intBitsToFloat(uf_remappedPS[4].y)); -PS1i = R125i.y; -// 4 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(PV1i.w)),-(intBitsToFloat(PS1i)),-(intBitsToFloat(R124i.x)),-0.0),vec4(intBitsToFloat(uf_remappedPS[1].x),intBitsToFloat(uf_remappedPS[1].y),intBitsToFloat(uf_remappedPS[1].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R11i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R126i.w))); -PS0i = R11i.y; -// 5 -R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R126i.w))); -R0i.y = floatBitsToInt(-(intBitsToFloat(R2i.w)) + 1.0); -PV1i.y = R0i.y; -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(R1i.w)); -R127i.z = clampFI32(R127i.z); -PV1i.z = R127i.z; -R3i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[0].x)) + intBitsToFloat(uf_remappedPS[5].x)); -R6i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[0].y)) + intBitsToFloat(uf_remappedPS[5].y)); -PS1i = R6i.y; -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[4].x))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),intBitsToFloat(PV1i.z)) + intBitsToFloat(uf_remappedPS[4].y))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.y) * 0.5 + 0.5)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.y)) + intBitsToFloat(0x3d4ccccd))); -R123i.w = clampFI32(R123i.w); -PV0i.w = R123i.w; -R14i.w = 0; -PS0i = R14i.w; -// 7 -R127i.x = floatBitsToInt(intBitsToFloat(R126i.z) + -(intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.w) + -(intBitsToFloat(PV0i.y))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),intBitsToFloat(R127i.z)) + intBitsToFloat(uf_remappedPS[4].z))); -PV1i.w = R123i.w; -R9i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R9i.y = floatBitsToInt(intBitsToFloat(R9i.y) / 2.0); -PS1i = R9i.y; -// 8 -R5i.x = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0); -R13i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R127i.z = floatBitsToInt(intBitsToFloat(R126i.y) + -(intBitsToFloat(PV1i.w))); -PV0i.z = R127i.z; -R4i.w = floatBitsToInt(intBitsToFloat(PV1i.z) * intBitsToFloat(0x3ea2f983)); -R8i.y = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[0].z)) + intBitsToFloat(uf_remappedPS[5].z)); -PS0i = R8i.y; -// 9 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),-(intBitsToFloat(PV0i.z)),-0.0),vec4(-(intBitsToFloat(R127i.x)),-(intBitsToFloat(R127i.y)),-(intBitsToFloat(PV0i.z)),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = tempi.x; -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R6i.x))); -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R12i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R10i.y),intBitsToFloat(R11i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -R127i.w = floatBitsToInt(tempResultf); -PS0i = R127i.w; -// 11 -backupReg0i = R127i.z; -R125i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R127i.y)), intBitsToFloat(PS0i))); -PV1i.y = PV0i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * 2.0); -R127i.z = PV0i.x; -R127i.z = clampFI32(R127i.z); -R0i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(backupReg0i)), intBitsToFloat(PS0i))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].w), intBitsToFloat(PS0i))); -PS1i = R126i.x; -// 12 -R1i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R7i.x),intBitsToFloat(PV1i.y)) + -(intBitsToFloat(R10i.y)))); -PV0i.x = R1i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R12i.y),intBitsToFloat(PV1i.y)) + -(intBitsToFloat(R11i.y)))); -PV0i.y = R1i.y; -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(PV1i.y)) + -(intBitsToFloat(R6i.x)))); -PV0i.z = R1i.z; -R126i.w = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R127i.x)), intBitsToFloat(R127i.w))); -R126i.y = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); -PS0i = R126i.y; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[1].x),intBitsToFloat(uf_remappedPS[1].y),intBitsToFloat(uf_remappedPS[1].z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R5i.x)) + intBitsToFloat(R9i.y))); -PS1i = R122i.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.w),intBitsToFloat(R125i.y),intBitsToFloat(R124i.x),-0.0),vec4(intBitsToFloat(uf_remappedPS[1].x),intBitsToFloat(uf_remappedPS[1].y),intBitsToFloat(uf_remappedPS[1].z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R4i.z = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); -PS0i = R4i.z; -// 15 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.w),intBitsToFloat(R125i.y),intBitsToFloat(R124i.x),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.z = tempi.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.y))); -PS1i = R127i.x; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.w),intBitsToFloat(R125i.y),intBitsToFloat(R124i.x),-0.0),vec4(intBitsToFloat(R125i.w),intBitsToFloat(R125i.y),intBitsToFloat(R124i.x),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV1i.x))); -// 17 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(0x40400000)); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[1].w)),intBitsToFloat(R127i.z)) + intBitsToFloat(backupReg0i))); -PV1i.y = R123i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(PV0i.x)),intBitsToFloat(R127i.y)) + intBitsToFloat(PS0i))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R126i.x))); -R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(uf_remappedPS[7].x)) + intBitsToFloat(uf_remappedPS[7].y))); -PS1i = R2i.x; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R12i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R126i.w),intBitsToFloat(R125i.x),intBitsToFloat(R0i.w),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 19 -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(uf_remappedPS[8].y))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(uf_remappedPS[9].y))); -R3i.y = clampFI32(R3i.y); -PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), -(1.0))); -PV1i.w = floatBitsToInt(intBitsToFloat(R127i.z) * intBitsToFloat(PS0i)); -PV1i.w = clampFI32(PV1i.w); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R127i.x)); -// 20 -R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),intBitsToFloat(PV1i.w)) + intBitsToFloat(R125i.w))); -PV0i.x = R3i.x; -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),intBitsToFloat(PV1i.w)) + intBitsToFloat(R125i.y))); -PV0i.y = R4i.y; -R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),intBitsToFloat(PV1i.w)) + intBitsToFloat(R124i.x))); -PV0i.z = R2i.z; -PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), 1.0)); -R2i.w = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PS1i)); -R2i.w = clampFI32(R2i.w); -PS0i = R2i.w; -// 21 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.w = tempi.x; -R4i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedPS[8].z)) + intBitsToFloat(uf_remappedPS[8].w))); -PS1i = R4i.y; -R7i.y = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R4i.yy)).x); - -//tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -//PV1i.x = tempi.x; -//PV1i.y = tempi.x; -//PV1i.z = tempi.x; -//PV1i.w = tempi.x; -//R1i.w = tempi.x; -//R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(uf_remappedPS[7].z)) + intBitsToFloat(uf_remappedPS[7].w))); -//PS1i = R2i.y; -//R5i.y = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R2i.yy)).x); - -// 0 -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.w)) + -(intBitsToFloat(R3i.x)))); -PV0i.x = R124i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.w)) + -(intBitsToFloat(R4i.y)))); -PV0i.y = R125i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)) + -(intBitsToFloat(R2i.z)))); -PV0i.z = R126i.z; -R126i.w = ((intBitsToFloat(R2i.x) > intBitsToFloat(uf_remappedPS[8].x))?int(0xFFFFFFFF):int(0x0)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R2i.w)); -// 1 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(PS0i)); -PS1i = R127i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.w),intBitsToFloat(R6i.y),intBitsToFloat(R0i.z),-0.0),vec4(intBitsToFloat(R3i.w),intBitsToFloat(R6i.y),intBitsToFloat(R6i.y),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -PS0i = floatBitsToInt(sqrt(intBitsToFloat(PV1i.x))); -// 3 -backupReg0i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R4i.x)),-(intBitsToFloat(R7i.y)),-(intBitsToFloat(R7i.y)),-0.0),vec4(intBitsToFloat(R3i.w),intBitsToFloat(R6i.y),intBitsToFloat(backupReg0i),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PS0i)); -// 4 -R127i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R3i.y)),intBitsToFloat(R3i.y)) + 1.0)); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R0i.x))); -R125i.z = floatBitsToInt(max(-(intBitsToFloat(R0i.w)), 0.0)); -PV0i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[6].w) * intBitsToFloat(PS1i)); -PV0i.w = clampFI32(PV0i.w); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R127i.z)); -// 5 -backupReg0i = R124i.x; -backupReg1i = R125i.y; -backupReg2i = R126i.z; -backupReg3i = R126i.w; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.w)) + intBitsToFloat(R3i.x))); -PV1i.x = R124i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV0i.w)) + intBitsToFloat(R4i.y))); -PV1i.y = R125i.y; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg2i),intBitsToFloat(PV0i.w)) + intBitsToFloat(R2i.z))); -PV1i.z = R126i.z; -R126i.w = floatBitsToInt(intBitsToFloat(R125i.w) * intBitsToFloat(PS0i)); -R126i.w = clampFI32(R126i.w); -PV1i.w = R126i.w; -R125i.x = ((backupReg3i == 0)?(R5i.y):(PV0i.y)); -PS1i = R125i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w),intBitsToFloat(PV1i.w)) + intBitsToFloat(R4i.x))); -PS0i = R122i.x; -// 7 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R8i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(uf_remappedPS[0].z))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg0i))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(R7i.y))); -PV1i.z = R123i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 8 -backupReg0i = R124i.x; -backupReg1i = R125i.y; -backupReg2i = R126i.z; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R124i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R126i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(PV1i.z)) + intBitsToFloat(PV1i.w))); -PV0i.w = R123i.w; -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].x), intBitsToFloat(R125i.x))); -PS0i = R126i.w; -// 9 -backupReg0i = R127i.x; -R127i.xyz = floatBitsToInt(vec3(intBitsToFloat(R10i.y),intBitsToFloat(R11i.y),intBitsToFloat(R6i.x)) + vec3(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z))); -PV1i.x = R127i.x; -PV1i.y = R127i.y; -PV1i.z = R127i.z; -R124i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(backupReg0i)),intBitsToFloat(PV0i.w)) + 1.0)); -R124i.w = clampFI32(R124i.w); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].y), intBitsToFloat(R125i.x))); -PS1i = R124i.z; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].z), intBitsToFloat(R125i.x))); -PS0i = R126i.y; -// 11 -backupReg0i = R125i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R12i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R126i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 12 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.z; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS1i))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg2i), intBitsToFloat(PS1i))); -PV0i.z = R127i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R5i.x)) + intBitsToFloat(R9i.y))); -PV0i.w = R123i.w; -R125i.w = floatBitsToInt(min(intBitsToFloat(R125i.z), 1.0)); -PS0i = R125i.w; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R10i.y),intBitsToFloat(R11i.y),intBitsToFloat(R6i.x),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R124i.x; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R7i.x),intBitsToFloat(R12i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R127i.z; -// 15 -backupReg0i = R126i.w; -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -PV1i.z = floatBitsToInt(-(intBitsToFloat(R124i.y)) + 1.0); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R124i.x))); -R124i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3ea2f983)); -PS1i = R124i.x; -// 16 -backupReg0i = R13i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV1i.y))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(PV1i.z)) + intBitsToFloat(R124i.y))); -PV0i.z = floatBitsToInt(intBitsToFloat(R124i.z) * intBitsToFloat(0x3ea2f983)); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.x)) + 1.0)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(0x3ea2f983)); -// 17 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(PV0i.w))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(backupReg0i))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.z))); -// 18 -R14i.x = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x42000000))); -R14i.y = floatBitsToInt(min(intBitsToFloat(PS1i), intBitsToFloat(0x42000000))); -R127i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3f75c28f) + intBitsToFloat(0x3d23d70a))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.y)); -// 19 -R14i.z = floatBitsToInt(min(intBitsToFloat(R124i.x), intBitsToFloat(0x42000000))); -PV1i.w = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(PS0i)); -// 20 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R127i.z))); -// 21 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.y))); -// 22 -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.x) * 0.25); -// 23 -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV0i.w))); -// 24 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV1i.z))); -// 25 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PV0i.y))); -// 26 -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].z), intBitsToFloat(PV1i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].y), intBitsToFloat(PV1i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[6].x), intBitsToFloat(PV1i.x))); -// 27 -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(PV0i.w))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(PV0i.y))); -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(PV0i.z))); -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(R5i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(R7i.x))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R13i.y), intBitsToFloat(R4i.z))); -// 1 -R4i.x = floatBitsToInt(min(intBitsToFloat(PV0i.y), intBitsToFloat(0x42000000))); -R4i.y = floatBitsToInt(min(intBitsToFloat(PV0i.x), intBitsToFloat(0x42000000))); -R4i.z = floatBitsToInt(min(intBitsToFloat(PV0i.w), intBitsToFloat(0x42000000))); -// 2 -R0i.xyz = ivec3(R14i.x,R14i.y,R14i.z); -R0i.w = R14i.w; -// 3 -R1i.xyz = ivec3(R4i.x,R4i.y,R4i.z); -R1i.w = R4i.w; -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} \ No newline at end of file diff --git a/Workaround/BreathOfTheWild_!AMDLights/e95d54571be1c0a9_000000000001fe49_ps.txt b/Workaround/BreathOfTheWild_!AMDLights/e95d54571be1c0a9_000000000001fe49_ps.txt deleted file mode 100644 index 4e9cdcde..00000000 --- a/Workaround/BreathOfTheWild_!AMDLights/e95d54571be1c0a9_000000000001fe49_ps.txt +++ /dev/null @@ -1,398 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -// shader e95d54571be1c0a9 -// AMD Light Circle fix - Shrine lights reflection pass - -uniform ivec4 uf_remappedPS[8]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5054000 res 640x360x1 dim 1 tm: 4 format 080e compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf494a800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x3df6f800 res 64x64x1 dim 1 tm: 4 format 0806 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 1 -layout(location = 1) noperspective in vec4 passParameterSem0; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw)); -R1i = floatBitsToInt(passParameterSem0); -// 0 -PV0i.x = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(uf_remappedPS[0].x))); -R127i.y = floatBitsToInt(intBitsToFloat(R1i.y) + -(intBitsToFloat(uf_remappedPS[0].y))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R1i.x)) + 1.0)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[1].x)); -// 1 -R2i.x = floatBitsToInt(intBitsToFloat(R0i.x) * intBitsToFloat(PS0i)); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R1i.y)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R5i.w = floatBitsToInt((0.0 * intBitsToFloat(uf_remappedPS[2].w) + 1.0)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedPS[1].y)); -// 2 -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.y))); -R2i.y = floatBitsToInt(intBitsToFloat(R0i.y) * intBitsToFloat(PS1i)); -R8i.w = 0; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.z)); -R0i.y = floatBitsToInt(tempResultf); -PS0i = R0i.y; -R3i.xyzw = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R2i.xy)).xyzw); -R2i.x = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R2i.xy)).x); -// 0 -R127i.x = floatBitsToInt((intBitsToFloat(R3i.x) * 2.0 + -(1.0))); -PV0i.x = R127i.x; -R127i.y = floatBitsToInt((intBitsToFloat(R3i.y) * 2.0 + -(1.0))); -PV0i.y = R127i.y; -R127i.z = floatBitsToInt((intBitsToFloat(R3i.z) * 2.0 + -(1.0))); -PV0i.z = R127i.z; -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(uf_remappedPS[3].y),intBitsToFloat(R2i.x)) + intBitsToFloat(uf_remappedPS[3].x))); -PV0i.w = R127i.w; -R126i.w = floatBitsToInt(intBitsToFloat(R3i.w) * intBitsToFloat(0x437f0000)); -PS0i = R126i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),-(intBitsToFloat(PV0i.w))) + -(intBitsToFloat(uf_remappedPS[4].x)))); -PS1i = R124i.x; -// 2 -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R0i.y))); -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),-(intBitsToFloat(R127i.w))) + -(intBitsToFloat(uf_remappedPS[4].y)))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z),-(intBitsToFloat(R127i.w))) + -(intBitsToFloat(uf_remappedPS[4].z)))); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R0i.y))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 3 -R5i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(PS0i))); -R4i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -R1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.z), intBitsToFloat(R0i.y))); -PS1i = int(intBitsToFloat(R126i.w)); -// 4 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R125i.z)),-0.0),vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R125i.z)),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.x = PS1i & 0x00000002; -PS0i = R1i.x; -// 5 -R125i.x = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x3a83126f))); -PV1i.x = R125i.x; -R0i.y = floatBitsToInt(-(intBitsToFloat(R3i.w)) + 1.0); -R7i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(uf_remappedPS[0].z)),intBitsToFloat(R0i.x)) + 1.0)); -R7i.z = clampFI32(R7i.z); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.z), intBitsToFloat(R1i.w))); -// 6 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(R4i.x),intBitsToFloat(R0i.w),1.0,0.0))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R124i.x)), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R2i.y)), intBitsToFloat(PS0i))); -R5i.z = floatBitsToInt(mul_nonIEEE(-(intBitsToFloat(R125i.z)), intBitsToFloat(PS0i))); -PV1i.z = R5i.z; -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].w), intBitsToFloat(PS0i))); -R126i.w = PV0i.x; -R126i.w = floatBitsToInt(intBitsToFloat(R126i.w) * 2.0); -PS1i = R126i.w; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.z = tempi.x; -R124i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), 1.0)); -PS0i = R124i.y; -// 9 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R126i.w)) + -(intBitsToFloat(R4i.x)))); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y),intBitsToFloat(R126i.w)) + -(intBitsToFloat(R0i.w)))); -PV1i.y = R127i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(R126i.w)) + -(intBitsToFloat(R1i.w)))); -PV1i.z = R127i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.y),intBitsToFloat(R0i.y)) + intBitsToFloat(0x3d4ccccd))); -R123i.w = clampFI32(R123i.w); -PV1i.w = R123i.w; -R126i.y = floatBitsToInt((intBitsToFloat(R0i.y) * 0.5 + 0.5)); -PS1i = R126i.y; -// 10 -tempi.x = floatBitsToInt(dot(vec4(-(intBitsToFloat(R124i.x)),-(intBitsToFloat(R2i.y)),-(intBitsToFloat(R125i.z)),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.w))); -PS0i = R125i.y; -// 11 -backupReg0i = R127i.x; -backupReg1i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV0i.x)) + intBitsToFloat(R124i.x))); -PV1i.x = R127i.x; -R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R2i.y))); -PV1i.y = R3i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV0i.x)) + intBitsToFloat(R125i.z))); -PV1i.z = R127i.z; -R2i.w = floatBitsToInt(intBitsToFloat(PS0i) + -(1.0)); -R127i.y = floatBitsToInt(max(intBitsToFloat(R126i.z), -(1.0))); -PS1i = R127i.y; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.y))); -R2i.x = floatBitsToInt(intBitsToFloat(R2i.x) / 2.0); -PS0i = R2i.x; -// 13 -R3i.x = floatBitsToInt(-(intBitsToFloat(PS0i)) + 1.0); -PV1i.x = R3i.x; -PV1i.y = R126i.x; -PV1i.y = clampFI32(PV1i.y); -R6i.z = floatBitsToInt(intBitsToFloat(R125i.y) * intBitsToFloat(0x3ea2f983)); -PV1i.w = floatBitsToInt(min(intBitsToFloat(R127i.y), 1.0)); -PS1i = floatBitsToInt(sqrt(intBitsToFloat(PV0i.x))); -// 14 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.x)) + intBitsToFloat(R2i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_remappedPS[2].y))); -R127i.y = clampFI32(R127i.y); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[6].w))); -PV0i.z = R126i.z; -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R124i.y))); -PV0i.w = R4i.w; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PS1i)); -// 15 -backupReg0i = R124i.y; -R0i.x = ((intBitsToFloat(PV0i.z) > 0.0)?int(0xFFFFFFFF):int(0x0)); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[7].y))); -PV1i.w = floatBitsToInt(intBitsToFloat(uf_remappedPS[5].w) * intBitsToFloat(PS0i)); -PV1i.w = clampFI32(PV1i.w); -R126i.x = floatBitsToInt(1.0 / intBitsToFloat(backupReg0i)); -PS1i = R126i.x; -// 16 -backupReg0i = R127i.x; -backupReg1i = R127i.z; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R124i.x)))); -PV0i.x = R127i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R2i.y)))); -PV0i.y = R125i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PV1i.w)) + -(intBitsToFloat(R125i.z)))); -PV0i.z = R127i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x40400000)); -R3i.y = floatBitsToInt(1.0 / intBitsToFloat(R125i.x)); -PS0i = R3i.y; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 18 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R124i.y))); -R6i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R127i.y)),intBitsToFloat(R127i.y)) + 1.0)); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(uf_remappedPS[6].y))); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) + intBitsToFloat(PS1i)); -PV0i.w = clampFI32(PV0i.w); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 19 -backupReg0i = R0i.x; -R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS0i))); -PV1i.x = R0i.x; -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS0i))); -PV1i.y = R2i.y; -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -PV1i.z = R1i.z; -R123i.w = ((backupReg0i == 0)?(0):(PV0i.x)); -PV1i.w = R123i.w; -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 20 -backupReg0i = R1i.x; -backupReg1i = R0i.y; -R1i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(PV1i.x)); -R0i.y = floatBitsToInt(intBitsToFloat(R0i.w) + intBitsToFloat(PV1i.y)); -R0i.z = floatBitsToInt(intBitsToFloat(R1i.w) + intBitsToFloat(PV1i.z)); -R3i.w = R126i.z; -R4i.y = floatBitsToInt(intBitsToFloat(backupReg1i) * intBitsToFloat(PS1i)); -PS0i = R4i.y; -R5i.y = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R3i.ww)).x); -// 0 -backupReg0i = R0i.y; -backupReg0i = R0i.y; -backupReg1i = R0i.z; -backupReg1i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),-0.0),vec4(intBitsToFloat(R1i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.y = ((intBitsToFloat(R3i.z) > intBitsToFloat(uf_remappedPS[7].x))?int(0xFFFFFFFF):int(0x0)); -PS0i = R127i.y; -// 1 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R0i.x),intBitsToFloat(R2i.y),intBitsToFloat(R1i.z),0.0))); -R125i.x = clampFI32(R125i.x); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PS1i))); -PV0i.x = R127i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.y), intBitsToFloat(PS1i))); -PV0i.y = R125i.y; -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PS1i))); -PV0i.z = R126i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R3i.x)) + intBitsToFloat(R2i.x))); -PV0i.w = R123i.w; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R2i.z))); -PS0i = R127i.w; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R0i.w),intBitsToFloat(R1i.w),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.w = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -PS1i = R126i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R1i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),0.0))); -tempi.x = clampFI32(tempi.x); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R125i.y; -// 5 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS0i), intBitsToFloat(PS0i))); -PV1i.x = R127i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(R4i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R126i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -PS1i = floatBitsToInt(max(-(intBitsToFloat(R5i.z)), 0.0)); -// 6 -R126i.x = ((R127i.y == 0)?(R5i.y):(R127i.w)); -PV0i.x = R126i.x; -R127i.y = floatBitsToInt(min(intBitsToFloat(PS1i), 1.0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV1i.w)) + 1.0)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV1i.x))); -// 7 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R6i.y), intBitsToFloat(R6i.y))); -PV1i.y = R124i.y; -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV0i.w))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].x), intBitsToFloat(PV0i.x))); -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(PV0i.x))); -PS1i = R127i.x; -// 8 -PV0i.x = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0); -R125i.y = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3f75c28f) + intBitsToFloat(0x3d23d70a))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(0x3ea2f983)); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), intBitsToFloat(R126i.x))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -// 9 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R124i.y))); -PV1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(0x3ea2f983)); -PV1i.z = floatBitsToInt(intBitsToFloat(R6i.z) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * intBitsToFloat(0x3ea2f983)); -PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV0i.z))); -// 10 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PS1i))); -// 11 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV0i.x))); -R8i.x = floatBitsToInt(min(intBitsToFloat(PV0i.w), intBitsToFloat(0x42000000))); -PS1i = R8i.x; -// 12 -R8i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), intBitsToFloat(0x42000000))); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.w) * 0.25); -R8i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x42000000))); -PS0i = R8i.z; -// 13 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PV0i.z))); -// 14 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(PV1i.y))); -// 15 -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.x))); -// 16 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].z), intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].y), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedPS[5].x), intBitsToFloat(PV1i.w))); -// 17 -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PV0i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R7i.z), intBitsToFloat(PV0i.z))); -// 18 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.y))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PV1i.z))); -// 19 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.w))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.x))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(PV0i.z))); -// 20 -R7i.x = floatBitsToInt(min(intBitsToFloat(PV1i.y), intBitsToFloat(0x42000000))); -R7i.y = floatBitsToInt(min(intBitsToFloat(PV1i.x), intBitsToFloat(0x42000000))); -R7i.z = floatBitsToInt(min(intBitsToFloat(PV1i.w), intBitsToFloat(0x42000000))); -// 21 -R0i.xyz = ivec3(R8i.x,R8i.y,R8i.z); -R0i.w = R8i.w; -// 22 -R1i.xyz = ivec3(R7i.x,R7i.y,R7i.z); -R1i.w = R7i.w; -// export -passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w)); -passPixelColor1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -} diff --git a/Workaround/BreathOfTheWild_!AMDLights/rules.txt b/Workaround/BreathOfTheWild_!AMDLights/rules.txt deleted file mode 100644 index f0cf2de9..00000000 --- a/Workaround/BreathOfTheWild_!AMDLights/rules.txt +++ /dev/null @@ -1,8 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - AMD Light Circle fix" -version = 2 - -# credit of identifying shaders go to Kiri -# these two shaders are based on Glow Lights Color Mod -# works Cemu 1.11.0c and BotW 1.3.1 and 1.4.0 \ No newline at end of file diff --git a/Workaround/BreathOfTheWild_!AMDShadows/rules.txt b/Workaround/BreathOfTheWild_!AMDShadows/rules.txt deleted file mode 100644 index 8a724823..00000000 --- a/Workaround/BreathOfTheWild_!AMDShadows/rules.txt +++ /dev/null @@ -1,6 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - AMD Shadows" # made by ethrillo -version = 2 - -#Updated by Cypher to support BotW 1.40 \ No newline at end of file diff --git a/Workaround/BreathOfTheWild_LwzxNullCheck/rules.txt b/Workaround/BreathOfTheWild_LwzxNullCheck/rules.txt deleted file mode 100644 index 6f4c38f8..00000000 --- a/Workaround/BreathOfTheWild_LwzxNullCheck/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - LWZX Crash workaround" -version = 2 \ No newline at end of file diff --git a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/10e939370329849a_0000000000000000_vs.txt b/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/10e939370329849a_0000000000000000_vs.txt deleted file mode 100644 index 0a29e900..00000000 --- a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/10e939370329849a_0000000000000000_vs.txt +++ /dev/null @@ -1,471 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 10e939370329849a -// Used for: Fixing Nvidia lava when on Vah Rudania. -// Check rules.txt for documentation and when to enable. - - - -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 2, std140) uniform uniformBlockVS2 -{ -vec4 uf_blockVS2[1024]; -}; - -layout(binding = 4, std140) uniform uniformBlockVS4 -{ -vec4 uf_blockVS4[1024]; -}; - -layout(binding = 8, std140) uniform uniformBlockVS8 -{ -vec4 uf_blockVS8[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem6; -layout(location = 4) in uvec4 attrDataSem8; -layout(location = 5) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 5) out vec4 passParameterSem5; -layout(location = 6) out vec4 passParameterSem6; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 4) out vec4 passParameterSem4; -layout(location = 7) out vec4 passParameterSem7; -layout(location = 3) out vec4 passParameterSem3; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R11i = ivec4(0); -ivec4 R12i = ivec4(0); -ivec4 R13i = ivec4(0); -ivec4 R14i = ivec4(0); -ivec4 R15i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyzw = attrDataSem0.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem1.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = attrDataSem2.xyzw; -if( (attrDecoder.x&0x80) != 0 ) attrDecoder.x |= 0xFFFFFF00; -if( (attrDecoder.y&0x80) != 0 ) attrDecoder.y |= 0xFFFFFF00; -if( (attrDecoder.z&0x80) != 0 ) attrDecoder.z |= 0xFFFFFF00; -if( (attrDecoder.w&0x80) != 0 ) attrDecoder.w |= 0xFFFFFF00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/127.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/127.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/127.0,-1.0)); -attrDecoder.w = floatBitsToUint(max(float(int(attrDecoder.w))/127.0,-1.0)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem12.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = uvec4(attrDataSem6.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -// 0 -backupReg0i = R1i.x; -R7i.x = 0x3f800000; -R1i.yzw = ivec3(0x3f800000,floatBitsToInt(uf_blockVS4[3].y),0x3f800000); -R1i.x = backupReg0i * 0x00000003; -PS0i = R1i.x; -// 1 -R0i.x = PS0i + 0x00000002; -R0i.y = floatBitsToInt(uf_blockVS8[7].x); -R0i.z = floatBitsToInt(uf_blockVS8[7].y); -R0i.w = PS0i + int(1); -R8i.x = floatBitsToInt(uf_blockVS8[8].x); -PS1i = R8i.x; -R9i.xyzw = floatBitsToInt(uf_blockVS2[R1i.x].xyzw); -R10i.xyzw = floatBitsToInt(uf_blockVS2[R0i.w].xyzw); -R11i.xyzw = floatBitsToInt(uf_blockVS2[R0i.x].xyzw); -// export -passParameterSem5 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -// 0 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),intBitsToFloat(R9i.w)))); -PV0i.x = R127i.x; -PV0i.y = R127i.x; -PV0i.z = R127i.x; -PV0i.w = R127i.x; -R127i.w = floatBitsToInt(uf_blockVS8[8].y); -PS0i = R127i.w; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),intBitsToFloat(R10i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R126i.w = floatBitsToInt(uf_blockVS8[11].x); -PS1i = R126i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),intBitsToFloat(R11i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R126i.y = floatBitsToInt(uf_blockVS8[11].y); -PS0i = R126i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x),intBitsToFloat(R7i.x)),vec4(uf_blockVS1[0].x,uf_blockVS1[0].y,uf_blockVS1[0].z,uf_blockVS1[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.w = R5i.w; -PS1i = R14i.w; -// 4 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R7i.x)),vec4(uf_blockVS1[1].x,uf_blockVS1[1].y,uf_blockVS1[1].z,uf_blockVS1[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R4i.x = PV1i.x; -PS0i = R4i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R7i.x)),vec4(uf_blockVS1[2].x,uf_blockVS1[2].y,uf_blockVS1[2].z,uf_blockVS1[2].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.y = PV0i.x; -PS1i = R4i.y; -// 6 -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS8[15].x,intBitsToFloat(R1i.z)) + intBitsToFloat(R0i.y))); -R124i.y = floatBitsToInt(uf_blockVS8[12].y); -R4i.z = PV1i.x; -PV0i.z = R4i.z; -R125i.w = floatBitsToInt(uf_blockVS8[12].x); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS8[15].y,intBitsToFloat(R1i.z)) + intBitsToFloat(R0i.z))); -PS0i = R127i.y; -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(PV0i.z),intBitsToFloat(R1i.y)),vec4(uf_blockVS1[8].x,uf_blockVS1[8].y,uf_blockVS1[8].z,uf_blockVS1[8].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.y = tempi.x; -R13i.z = R6i.x; -PS1i = R13i.z; -// 8 -R12i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R1i.y)),vec4(uf_blockVS1[7].x,uf_blockVS1[7].y,uf_blockVS1[7].z,uf_blockVS1[7].w))); -PV0i.x = R12i.x; -PV0i.y = R12i.x; -PV0i.z = R12i.x; -PV0i.w = R12i.x; -R0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x))); -PS0i = R0i.z; -// 9 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R1i.y)),vec4(uf_blockVS1[9].x,uf_blockVS1[9].y,uf_blockVS1[9].z,uf_blockVS1[9].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R12i.z = tempi.x; -R13i.w = R6i.y; -PS1i = R13i.w; -// 10 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R1i.y)),vec4(uf_blockVS1[10].x,uf_blockVS1[10].y,uf_blockVS1[10].z,uf_blockVS1[10].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R12i.w = tempi.x; -R15i.z = PV1i.x; -PS0i = R15i.z; -// 11 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),0.0))); -PV1i.x = R126i.x; -PV1i.y = R126i.x; -PV1i.z = R126i.x; -PV1i.w = R126i.x; -R7i.x = floatBitsToInt(uf_blockVS8[7].z); -PS1i = R7i.x; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.y = tempi.x; -R1i.w = floatBitsToInt(uf_blockVS8[7].w); -PS0i = R1i.w; -// 13 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R126i.z = tempi.x; -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS8[16].x,intBitsToFloat(R1i.z)) + intBitsToFloat(R8i.x))); -PS1i = R127i.z; -// 14 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),0.0))); -PV0i.x = R125i.x; -PV0i.y = R125i.x; -PV0i.z = R125i.x; -PV0i.w = R125i.x; -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS8[16].y,intBitsToFloat(R1i.z)) + intBitsToFloat(R127i.w))); -PS0i = R125i.y; -// 15 -backupReg0i = R10i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R10i.x),intBitsToFloat(backupReg0i),intBitsToFloat(R10i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R10i.y = tempi.x; -R10i.x = floatBitsToInt(uf_blockVS8[9].x); -PS1i = R10i.x; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R5i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(R11i.x),intBitsToFloat(R11i.y),intBitsToFloat(R11i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R10i.z = tempi.x; -R5i.w = floatBitsToInt(uf_blockVS8[9].y); -PS0i = R5i.w; -// 17 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R1i.y),intBitsToFloat(R126i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R1i.y),intBitsToFloat(R126i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R5i.x = floatBitsToInt(uf_blockVS8[10].x); -PS1i = R5i.x; -// 18 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R10i.y),intBitsToFloat(R10i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R5i.y = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -R125i.z = floatBitsToInt(tempResultf); -PS0i = R125i.z; -// 19 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS8[15].y,intBitsToFloat(R1i.z)) + intBitsToFloat(R126i.y))); -R11i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(backupReg0i)) + intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS8[15].x,intBitsToFloat(R1i.z)) + intBitsToFloat(R126i.w))); -R10i.w = floatBitsToInt(uf_blockVS8[10].y); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.y)) + intBitsToFloat(R125i.y))); -PS1i = R5i.z; -// 20 -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS8[16].y,intBitsToFloat(R1i.z)) + intBitsToFloat(R124i.y))); -PV0i.x = R123i.x; -R9i.y = floatBitsToInt(uf_blockVS8[11].w); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS8[16].x,intBitsToFloat(R1i.z)) + intBitsToFloat(R125i.w))); -PV0i.z = R123i.z; -R11i.w = floatBitsToInt(uf_blockVS8[11].z); -R9i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(R125i.z))); -PS0i = R9i.x; -// 21 -backupReg0i = R1i.y; -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R125i.z))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R125i.z))); -R11i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -R9i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R127i.z)) + intBitsToFloat(PV0i.z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(R5i.y)); -R2i.w = floatBitsToInt(tempResultf); -PS1i = R2i.w; -// 22 -backupReg0i = R10i.y; -R11i.x = floatBitsToInt(uf_blockVS8[6].x); -R10i.y = floatBitsToInt(uf_blockVS8[31].x); -R9i.z = floatBitsToInt(uf_blockVS8[6].y); -R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PS1i))); -R5i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PS0i = R5i.y; -// export -gl_Position = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), 1.0); // "workaround" -// export -passParameterSem6 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// 0 -R125i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS8[15].x,intBitsToFloat(R1i.z)) + intBitsToFloat(R10i.x))); -R124i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS8[15].w,intBitsToFloat(R1i.z)) + intBitsToFloat(R1i.w))); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS8[15].z,intBitsToFloat(R1i.z)) + intBitsToFloat(R7i.x))); -PV0i.z = R123i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS8[15].y,intBitsToFloat(R1i.z)) + intBitsToFloat(R5i.w))); -R127i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS8[15].z,intBitsToFloat(R1i.z)) + intBitsToFloat(R11i.w))); -PS0i = R127i.z; -// 1 -R127i.x = floatBitsToInt(uf_blockVS8[9].z); -R123i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS8[16].y,intBitsToFloat(R1i.z)) + intBitsToFloat(R10i.w))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS8[16].x,intBitsToFloat(R1i.z)) + intBitsToFloat(R5i.x))); -PV1i.z = R123i.z; -R126i.w = floatBitsToInt(uf_blockVS8[9].w); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.z)) + intBitsToFloat(R11i.y))); -PS1i = R127i.w; -// 2 -backupReg0i = R124i.y; -backupReg1i = R125i.w; -backupReg2i = R127i.z; -R123i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS8[15].w,intBitsToFloat(R1i.z)) + intBitsToFloat(R9i.y))); -PV0i.x = R123i.x; -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(backupReg0i)) + intBitsToFloat(R5i.z))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(R125i.x)) + intBitsToFloat(PV1i.z))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV1i.y))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(backupReg2i)) + intBitsToFloat(R9i.w))); -PS0i = R126i.y; -// 3 -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV0i.x)) + intBitsToFloat(R11i.z))); -R125i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS8[5].y,intBitsToFloat(R10i.y)) + intBitsToFloat(R9i.z))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R10i.z), intBitsToFloat(R2i.w))); -R124i.w = floatBitsToInt((mul_nonIEEE(uf_blockVS8[5].x,intBitsToFloat(R10i.y)) + intBitsToFloat(R11i.x))); -R15i.x = floatBitsToInt(intBitsToFloat(R12i.x) + intBitsToFloat(R12i.w)); -R15i.x = floatBitsToInt(intBitsToFloat(R15i.x) / 2.0); -PS1i = R15i.x; -// 4 -backupReg0i = R0i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R1i.y),intBitsToFloat(R3i.x),-0.0),vec4(uf_blockVS1[0].x,uf_blockVS1[0].y,uf_blockVS1[0].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R15i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(R12i.w)); -R15i.y = floatBitsToInt(intBitsToFloat(R15i.y) / 2.0); -PS0i = R15i.y; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R1i.y),intBitsToFloat(R3i.x),-0.0),vec4(uf_blockVS1[1].x,uf_blockVS1[1].y,uf_blockVS1[1].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.x = PV0i.x; -PS1i = R2i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R1i.y),intBitsToFloat(R3i.x),-0.0),vec4(uf_blockVS1[2].x,uf_blockVS1[2].y,uf_blockVS1[2].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.y = PV1i.x; -PS0i = R2i.y; -// 7 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), uf_blockVS1[0].z)); -R127i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS8[15].w,intBitsToFloat(R1i.z)) + intBitsToFloat(R126i.w))); -R123i.z = floatBitsToInt((mul_nonIEEE(uf_blockVS8[15].z,intBitsToFloat(R1i.z)) + intBitsToFloat(backupReg0i))); -PV1i.z = R123i.z; -R2i.w = PV0i.x; -R15i.w = R12i.w; -PS1i = R15i.w; -// 8 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),uf_blockVS8[13].y) + uf_blockVS8[14].y)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),uf_blockVS8[13].x) + uf_blockVS8[14].x)); -PV0i.y = R123i.y; -R1i.z = R127i.w; -R1i.w = R124i.y; -R12i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(PV1i.z)) + intBitsToFloat(R127i.z))); -PS0i = R12i.x; -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),uf_blockVS1[0].y) + intBitsToFloat(R127i.x))); -PV1i.x = R123i.x; -R12i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(R125i.w))); -R12i.w = R125i.x; -R13i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),uf_blockVS8[13].z) + intBitsToFloat(PV0i.y))); -PS1i = R13i.x; -// 10 -R14i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),uf_blockVS1[0].x) + intBitsToFloat(PV1i.x))); -R13i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.y),uf_blockVS8[13].w) + intBitsToFloat(R126i.x))); -R12i.z = R126i.y; -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.w),intBitsToFloat(R5i.y),intBitsToFloat(R126i.z),-0.0),vec4(uf_blockVS1[1].x,uf_blockVS1[1].y,uf_blockVS1[1].z,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R14i.y = tempi.x; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.w),intBitsToFloat(R5i.y),intBitsToFloat(R126i.z),-0.0),vec4(uf_blockVS1[2].x,uf_blockVS1[2].y,uf_blockVS1[2].z,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R14i.z = tempi.x; -// 13 -R1i.x = floatBitsToInt((mul_nonIEEE(uf_blockVS8[5].z,uf_blockVS8[31].x) + intBitsToFloat(R124i.w))); -R1i.y = floatBitsToInt((mul_nonIEEE(uf_blockVS8[5].w,uf_blockVS8[31].x) + intBitsToFloat(R125i.y))); -// export -passParameterSem0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem1 = vec4(intBitsToFloat(R12i.x), intBitsToFloat(R12i.y), intBitsToFloat(R12i.z), intBitsToFloat(R12i.w)); -// export -passParameterSem2 = vec4(intBitsToFloat(R13i.x), intBitsToFloat(R13i.y), intBitsToFloat(R13i.z), intBitsToFloat(R13i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R14i.x), intBitsToFloat(R14i.y), intBitsToFloat(R14i.z), intBitsToFloat(R14i.w)); -// export -passParameterSem7 = vec4(intBitsToFloat(R15i.x), intBitsToFloat(R15i.y), intBitsToFloat(R15i.z), intBitsToFloat(R15i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.w), intBitsToFloat(R2i.w)); -} diff --git a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/127a33e6425e2e83_0000000000000000_vs.txt b/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/127a33e6425e2e83_0000000000000000_vs.txt deleted file mode 100644 index 2ffccbdb..00000000 --- a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/127a33e6425e2e83_0000000000000000_vs.txt +++ /dev/null @@ -1,449 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 127a33e6425e2e83 -// Used for: Fixing Nvidia lava artifacts. -// Check rules.txt for documentation and when to enable. - - - - -uniform ivec4 uf_remappedVS[24]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 5) out vec4 passParameterSem5; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 4) out vec4 passParameterSem4; -layout(location = 7) out vec4 passParameterSem7; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 6) out vec4 passParameterSem6; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R10f = vec4(0.0); -vec4 R11f = vec4(0.0); -vec4 R12f = vec4(0.0); -vec4 R13f = vec4(0.0); -vec4 R14f = vec4(0.0); -vec4 R15f = vec4(0.0); -vec4 R122f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyzw = attrDataSem0.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.x = attrDataSem1.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xyzw = attrDataSem2.xyzw; -if( (attrDecoder.x&0x80) != 0 ) attrDecoder.x |= 0xFFFFFF00; -if( (attrDecoder.y&0x80) != 0 ) attrDecoder.y |= 0xFFFFFF00; -if( (attrDecoder.z&0x80) != 0 ) attrDecoder.z |= 0xFFFFFF00; -if( (attrDecoder.w&0x80) != 0 ) attrDecoder.w |= 0xFFFFFF00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/127.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/127.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/127.0,-1.0)); -attrDecoder.w = floatBitsToUint(max(float(int(attrDecoder.w))/127.0,-1.0)); -R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = ((attrDecoder.xy>>8)&0xFF)|((attrDecoder.xy<<8)&0xFF00); -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xy = floatBitsToUint(vec2(float(attrDecoder.x), float(attrDecoder.y))/65535.0); -attrDecoder.zw = uvec2(0); -R5f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem12.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -// 0 -R7f.x = 1.0; -R6f.y = 1.0; -R0f.z = intBitsToFloat(uf_remappedVS[0].y); -R127f.w = 1.0; -PV0f.w = R127f.w; -R124f.x = intBitsToFloat(uf_remappedVS[1].x); -PS0f = R124f.x; -// 1 -R6f.x = dot(vec4(R3f.x,R3f.y,R3f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV1f.x = R6f.x; -PV1f.y = R6f.x; -PV1f.z = R6f.x; -PV1f.w = R6f.x; -R13f.w = R4f.w; -PS1f = R13f.w; -// 2 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -R12f.z = R5f.x; -PS0f = R12f.z; -// 3 -backupReg0f = R3f.z; -tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.z = tempf.x; -R12f.w = R5f.y; -PS1f = R12f.w; -// 4 -R3f.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0)); -PV0f.x = R3f.x; -PV0f.y = R3f.x; -PV0f.z = R3f.x; -PV0f.w = R3f.x; -R127f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[2].z)); -PS0f = R127f.x; -// 5 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R124f.y = tempf.x; -R126f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[3].z)); -PS1f = R126f.x; -// 6 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R125f.z = tempf.x; -R125f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[4].z)); -PS0f = R125f.x; -// 7 -backupReg0f = R126f.x; -R126f.x = dot(vec4(R4f.x,R4f.y,R127f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),1.0,0.0)); -PV1f.x = R126f.x; -PV1f.y = R126f.x; -PV1f.z = R126f.x; -PV1f.w = R126f.x; -R122f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[3].y)) + backupReg0f); -PS1f = R122f.x; -// 8 -R123f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[4].y)) + R125f.x); -PV0f.x = R123f.x; -R2f.y = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[3].x)) + PS1f); -PS0f = mul_nonIEEE(R125f.z, R125f.z); -// 9 -R123f.x = (mul_nonIEEE(R124f.y,R124f.y) + PS0f); -PV1f.x = R123f.x; -R4f.z = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[4].x)) + PV0f.x); -R127f.w = intBitsToFloat(uf_remappedVS[1].y); -// 10 -R125f.x = intBitsToFloat(uf_remappedVS[5].x); -R127f.y = intBitsToFloat(uf_remappedVS[5].y); -R126f.z = intBitsToFloat(uf_remappedVS[6].x); -R123f.w = (mul_nonIEEE(R3f.x,R3f.x) + PV1f.x); -PV0f.w = R123f.w; -R125f.y = intBitsToFloat(uf_remappedVS[6].y); -PS0f = R125f.y; -// 11 -backupReg0f = R124f.x; -R124f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R127f.w); -R126f.y = intBitsToFloat(uf_remappedVS[8].y); -R127f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + backupReg0f); -R127f.w = intBitsToFloat(uf_remappedVS[8].x); -tempResultf = 1.0 / sqrt(PV0f.w); -R124f.z = tempResultf; -PS1f = R124f.z; -// 12 -tempf.x = dot(vec4(R126f.x,R2f.y,R4f.z,-0.0),vec4(R126f.x,R2f.y,R4f.z,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R4f.y = tempf.x; -R4f.x = intBitsToFloat(uf_remappedVS[1].z); -PS0f = R4f.x; -// 13 -backupReg0f = R127f.y; -backupReg1f = R125f.x; -R125f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + R127f.w); -R127f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + backupReg0f); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + backupReg1f); -PV1f.z = R123f.z; -R127f.w = intBitsToFloat(uf_remappedVS[1].w); -R127f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + R126f.y); -PS1f = R127f.x; -// 14 -backupReg0f = R127f.z; -R2f.x = intBitsToFloat(uf_remappedVS[10].x); -R126f.y = intBitsToFloat(uf_remappedVS[11].x); -R127f.z = intBitsToFloat(uf_remappedVS[11].y); -R126f.w = intBitsToFloat(uf_remappedVS[10].y); -R0f.x = (mul_nonIEEE(R5f.x,backupReg0f) + PV1f.z); -PS0f = R0f.x; -// 15 -backupReg0f = R127f.y; -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R125f.y); -PV1f.x = R123f.x; -R127f.y = intBitsToFloat(uf_remappedVS[6].w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + R126f.z); -PV1f.z = R123f.z; -R125f.w = intBitsToFloat(uf_remappedVS[6].z); -R126f.z = (mul_nonIEEE(R5f.x,R124f.x) + backupReg0f); -PS1f = R126f.z; -// 16 -backupReg0f = R4f.y; -R8f.x = mul_nonIEEE(R125f.z, R124f.z); -R4f.y = mul_nonIEEE(R124f.y, R124f.z); -R125f.z = (mul_nonIEEE(R5f.x,PV1f.x) + R127f.x); -R124f.w = (mul_nonIEEE(R5f.x,PV1f.z) + R125f.x); -tempResultf = 1.0 / sqrt(backupReg0f); -R4f.w = tempResultf; -PS0f = R4f.w; -// 17 -backupReg0f = R3f.x; -R3f.x = mul_nonIEEE(backupReg0f, R124f.z); -R125f.y = intBitsToFloat(uf_remappedVS[12].x); -R2f.z = intBitsToFloat(uf_remappedVS[13].x); -R0f.w = intBitsToFloat(uf_remappedVS[13].y); -R9f.x = mul_nonIEEE(R126f.x, PS0f); -PS1f = R9f.x; -// 18 -R126f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + R2f.x); -R124f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R127f.w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R4f.x); -PV0f.z = R123f.z; -R127f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R126f.w); -R124f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R125f.w); -PS0f = R124f.z; -// 19 -R127f.x = intBitsToFloat(uf_remappedVS[10].z); -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + R127f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + R126f.y); -PV1f.z = R123f.z; -R126f.w = intBitsToFloat(uf_remappedVS[10].w); -R125f.w = (mul_nonIEEE(R5f.y,PV0f.z) + R0f.x); -PS1f = R125f.w; -// 20 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R127f.y); -PV0f.x = R123f.x; -R127f.y = (mul_nonIEEE(R5f.y,R124f.y) + R126f.z); -R126f.z = (mul_nonIEEE(R5f.x,R126f.x) + PV1f.z); -R2f.w = (mul_nonIEEE(R5f.x,R127f.w) + PV1f.y); -R124f.y = (mul_nonIEEE(R5f.y,R124f.z) + R124f.w); -PS0f = R124f.y; -// 21 -backupReg0f = R2f.z; -backupReg1f = R0f.w; -R126f.x = (mul_nonIEEE(R5f.y,PV0f.x) + R125f.z); -R3f.y = mul_nonIEEE(R2f.y, R4f.w); -R2f.z = mul_nonIEEE(R4f.z, R4f.w); -R0f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].x),R125f.y) + backupReg0f); -R4f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].y),R125f.y) + backupReg1f); -PS1f = R4f.w; -// 22 -R2f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R126f.w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R127f.x); -PV0f.z = R123f.z; -R10f.w = R127f.y; -R10f.z = R125f.w; -PS0f = R10f.z; -// 23 -R0f.x = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[15].y)) + intBitsToFloat(uf_remappedVS[16].y)); -R7f.y = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[15].x)) + intBitsToFloat(uf_remappedVS[16].x)); -R11f.z = R124f.y; -R11f.w = R126f.x; -R11f.x = (mul_nonIEEE(R5f.y,PV0f.z) + R126f.z); -PS1f = R11f.x; -// export -passParameterSem5 = vec4(R1f.x, R1f.y, R1f.z, 1.0); // = "workaround" -// 0 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R11f.y = (mul_nonIEEE(R5f.y,R2f.y) + R2f.w); -PS0f = R11f.y; -// 1 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R15f.x = PV0f.x; -PS1f = R15f.x; -// 2 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),intBitsToFloat(uf_remappedVS[19].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R15f.y = PV1f.x; -PS0f = R15f.y; -// 3 -R10f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[12].x)) + R0f.w); -R10f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].w),intBitsToFloat(uf_remappedVS[12].x)) + R4f.w); -R15f.z = PV0f.x; -PV1f.z = R15f.z; -// 4 -tempf.x = dot(vec4(R15f.x,R15f.y,PV1f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[20].x),intBitsToFloat(uf_remappedVS[20].y),intBitsToFloat(uf_remappedVS[20].z),intBitsToFloat(uf_remappedVS[20].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -// 5 -R1f.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),intBitsToFloat(uf_remappedVS[21].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R126f.z = -(PV0f.x); -PS1f = R126f.z; -// 6 -tempf.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),intBitsToFloat(uf_remappedVS[22].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.z = tempf.x; -// 7 -tempf.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(uf_remappedVS[23].z),intBitsToFloat(uf_remappedVS[23].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.w = tempf.x; -R6f.z = PV0f.x; -PS1f = R6f.z; -// 8 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R6f.x = R1f.x + PV1f.x; -R6f.x /= 2.0; -PS0f = R6f.x; -// 9 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R14f.x = PV0f.x; -PS1f = R14f.x; -// 10 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R14f.y = PV1f.x; -PS0f = R14f.y; -// 11 -R13f.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),0.0)); -PV1f.x = R13f.x; -PV1f.y = R13f.x; -PV1f.z = R13f.x; -PV1f.w = R13f.x; -R14f.z = PV0f.x; -PS1f = R14f.z; -// 12 -tempf.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R13f.y = tempf.x; -R6f.y = R126f.z + R1f.w; -R6f.y /= 2.0; -PS0f = R6f.y; -// 13 -tempf.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R13f.z = tempf.x; -R6f.w = R1f.w; -PS1f = R6f.w; -// 14 -R12f.x = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[15].z)) + R7f.y); -R12f.y = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[15].w)) + R0f.x); -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R10f.x, R10f.y, R10f.z, R10f.w); -// export -passParameterSem1 = vec4(R11f.x, R11f.y, R11f.z, R11f.w); -// export -passParameterSem2 = vec4(R12f.x, R12f.y, R12f.z, R12f.w); -// export -passParameterSem4 = vec4(R13f.x, R13f.y, R13f.z, R13f.w); -// export -passParameterSem7 = vec4(R6f.x, R6f.y, R6f.z, R6f.w); -// export -passParameterSem3 = vec4(R14f.x, R14f.y, R14f.z, R14f.w); -// export -passParameterSem6 = vec4(R15f.x, R15f.y, R15f.z, R15f.w); -} diff --git a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/127a33e6825e2e83_0000000000000000_vs.txt b/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/127a33e6825e2e83_0000000000000000_vs.txt deleted file mode 100644 index 069eb228..00000000 --- a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/127a33e6825e2e83_0000000000000000_vs.txt +++ /dev/null @@ -1,451 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 127a33e6825e2e83 -// Used for: Fixing Nvidia lava waterfall artifacts. -// Check rules.txt for documentation and when to enable. - - - -uniform ivec4 uf_remappedVS[24]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 5) out vec4 passParameterSem5; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 4) out vec4 passParameterSem4; -layout(location = 7) out vec4 passParameterSem7; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 6) out vec4 passParameterSem6; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R10f = vec4(0.0); -vec4 R11f = vec4(0.0); -vec4 R12f = vec4(0.0); -vec4 R13f = vec4(0.0); -vec4 R14f = vec4(0.0); -vec4 R15f = vec4(0.0); -vec4 R122f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyzw = attrDataSem0.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.x = attrDataSem1.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xyzw = attrDataSem2.xyzw; -if( (attrDecoder.x&0x80) != 0 ) attrDecoder.x |= 0xFFFFFF00; -if( (attrDecoder.y&0x80) != 0 ) attrDecoder.y |= 0xFFFFFF00; -if( (attrDecoder.z&0x80) != 0 ) attrDecoder.z |= 0xFFFFFF00; -if( (attrDecoder.w&0x80) != 0 ) attrDecoder.w |= 0xFFFFFF00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/127.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/127.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/127.0,-1.0)); -attrDecoder.w = floatBitsToUint(max(float(int(attrDecoder.w))/127.0,-1.0)); -R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = ((attrDecoder.xy>>8)&0xFF)|((attrDecoder.xy<<8)&0xFF00); -attrDecoder.z = 0; -attrDecoder.w = 0; -if( (attrDecoder.x&0x8000) != 0 ) attrDecoder.x |= 0xFFFF0000; -if( (attrDecoder.y&0x8000) != 0 ) attrDecoder.y |= 0xFFFF0000; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/32767.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/32767.0,-1.0)); -attrDecoder.zw = uvec2(0); -R5f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem12.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -// 0 -R7f.x = 1.0; -R6f.y = 1.0; -R0f.z = intBitsToFloat(uf_remappedVS[0].y); -R127f.w = 1.0; -PV0f.w = R127f.w; -R124f.x = intBitsToFloat(uf_remappedVS[1].x); -PS0f = R124f.x; -// 1 -R6f.x = dot(vec4(R3f.x,R3f.y,R3f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV1f.x = R6f.x; -PV1f.y = R6f.x; -PV1f.z = R6f.x; -PV1f.w = R6f.x; -R13f.w = R4f.w; -PS1f = R13f.w; -// 2 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -R12f.z = R5f.x; -PS0f = R12f.z; -// 3 -backupReg0f = R3f.z; -tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.z = tempf.x; -R12f.w = R5f.y; -PS1f = R12f.w; -// 4 -R3f.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0)); -PV0f.x = R3f.x; -PV0f.y = R3f.x; -PV0f.z = R3f.x; -PV0f.w = R3f.x; -R127f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[2].z)); -PS0f = R127f.x; -// 5 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R124f.y = tempf.x; -R126f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[3].z)); -PS1f = R126f.x; -// 6 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R125f.z = tempf.x; -R125f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[4].z)); -PS0f = R125f.x; -// 7 -backupReg0f = R126f.x; -R126f.x = dot(vec4(R4f.x,R4f.y,R127f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),1.0,0.0)); -PV1f.x = R126f.x; -PV1f.y = R126f.x; -PV1f.z = R126f.x; -PV1f.w = R126f.x; -R122f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[3].y)) + backupReg0f); -PS1f = R122f.x; -// 8 -R123f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[4].y)) + R125f.x); -PV0f.x = R123f.x; -R2f.y = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[3].x)) + PS1f); -PS0f = mul_nonIEEE(R125f.z, R125f.z); -// 9 -R123f.x = (mul_nonIEEE(R124f.y,R124f.y) + PS0f); -PV1f.x = R123f.x; -R4f.z = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[4].x)) + PV0f.x); -R127f.w = intBitsToFloat(uf_remappedVS[1].y); -// 10 -R125f.x = intBitsToFloat(uf_remappedVS[5].x); -R127f.y = intBitsToFloat(uf_remappedVS[5].y); -R126f.z = intBitsToFloat(uf_remappedVS[6].x); -R123f.w = (mul_nonIEEE(R3f.x,R3f.x) + PV1f.x); -PV0f.w = R123f.w; -R125f.y = intBitsToFloat(uf_remappedVS[6].y); -PS0f = R125f.y; -// 11 -backupReg0f = R124f.x; -R124f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R127f.w); -R126f.y = intBitsToFloat(uf_remappedVS[8].y); -R127f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + backupReg0f); -R127f.w = intBitsToFloat(uf_remappedVS[8].x); -tempResultf = 1.0 / sqrt(PV0f.w); -R124f.z = tempResultf; -PS1f = R124f.z; -// 12 -tempf.x = dot(vec4(R126f.x,R2f.y,R4f.z,-0.0),vec4(R126f.x,R2f.y,R4f.z,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R4f.y = tempf.x; -R4f.x = intBitsToFloat(uf_remappedVS[1].z); -PS0f = R4f.x; -// 13 -backupReg0f = R127f.y; -backupReg1f = R125f.x; -R125f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + R127f.w); -R127f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + backupReg0f); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + backupReg1f); -PV1f.z = R123f.z; -R127f.w = intBitsToFloat(uf_remappedVS[1].w); -R127f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + R126f.y); -PS1f = R127f.x; -// 14 -backupReg0f = R127f.z; -R2f.x = intBitsToFloat(uf_remappedVS[10].x); -R126f.y = intBitsToFloat(uf_remappedVS[11].x); -R127f.z = intBitsToFloat(uf_remappedVS[11].y); -R126f.w = intBitsToFloat(uf_remappedVS[10].y); -R0f.x = (mul_nonIEEE(R5f.x,backupReg0f) + PV1f.z); -PS0f = R0f.x; -// 15 -backupReg0f = R127f.y; -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R125f.y); -PV1f.x = R123f.x; -R127f.y = intBitsToFloat(uf_remappedVS[6].w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + R126f.z); -PV1f.z = R123f.z; -R125f.w = intBitsToFloat(uf_remappedVS[6].z); -R126f.z = (mul_nonIEEE(R5f.x,R124f.x) + backupReg0f); -PS1f = R126f.z; -// 16 -backupReg0f = R4f.y; -R8f.x = mul_nonIEEE(R125f.z, R124f.z); -R4f.y = mul_nonIEEE(R124f.y, R124f.z); -R125f.z = (mul_nonIEEE(R5f.x,PV1f.x) + R127f.x); -R124f.w = (mul_nonIEEE(R5f.x,PV1f.z) + R125f.x); -tempResultf = 1.0 / sqrt(backupReg0f); -R4f.w = tempResultf; -PS0f = R4f.w; -// 17 -backupReg0f = R3f.x; -R3f.x = mul_nonIEEE(backupReg0f, R124f.z); -R125f.y = intBitsToFloat(uf_remappedVS[12].x); -R2f.z = intBitsToFloat(uf_remappedVS[13].x); -R0f.w = intBitsToFloat(uf_remappedVS[13].y); -R9f.x = mul_nonIEEE(R126f.x, PS0f); -PS1f = R9f.x; -// 18 -R126f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + R2f.x); -R124f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R127f.w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R4f.x); -PV0f.z = R123f.z; -R127f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R126f.w); -R124f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R125f.w); -PS0f = R124f.z; -// 19 -R127f.x = intBitsToFloat(uf_remappedVS[10].z); -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + R127f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + R126f.y); -PV1f.z = R123f.z; -R126f.w = intBitsToFloat(uf_remappedVS[10].w); -R125f.w = (mul_nonIEEE(R5f.y,PV0f.z) + R0f.x); -PS1f = R125f.w; -// 20 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R127f.y); -PV0f.x = R123f.x; -R127f.y = (mul_nonIEEE(R5f.y,R124f.y) + R126f.z); -R126f.z = (mul_nonIEEE(R5f.x,R126f.x) + PV1f.z); -R2f.w = (mul_nonIEEE(R5f.x,R127f.w) + PV1f.y); -R124f.y = (mul_nonIEEE(R5f.y,R124f.z) + R124f.w); -PS0f = R124f.y; -// 21 -backupReg0f = R2f.z; -backupReg1f = R0f.w; -R126f.x = (mul_nonIEEE(R5f.y,PV0f.x) + R125f.z); -R3f.y = mul_nonIEEE(R2f.y, R4f.w); -R2f.z = mul_nonIEEE(R4f.z, R4f.w); -R0f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].x),R125f.y) + backupReg0f); -R4f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].y),R125f.y) + backupReg1f); -PS1f = R4f.w; -// 22 -R2f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R126f.w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R127f.x); -PV0f.z = R123f.z; -R10f.w = R127f.y; -R10f.z = R125f.w; -PS0f = R10f.z; -// 23 -R0f.x = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[15].y)) + intBitsToFloat(uf_remappedVS[16].y)); -R7f.y = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[15].x)) + intBitsToFloat(uf_remappedVS[16].x)); -R11f.z = R124f.y; -R11f.w = R126f.x; -R11f.x = (mul_nonIEEE(R5f.y,PV0f.z) + R126f.z); -PS1f = R11f.x; -// export -passParameterSem5 = vec4(R1f.x, R1f.y, R1f.z, 1.0); // = "workaround" -// 0 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R11f.y = (mul_nonIEEE(R5f.y,R2f.y) + R2f.w); -PS0f = R11f.y; -// 1 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R15f.x = PV0f.x; -PS1f = R15f.x; -// 2 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),intBitsToFloat(uf_remappedVS[19].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R15f.y = PV1f.x; -PS0f = R15f.y; -// 3 -R10f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[12].x)) + R0f.w); -R10f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].w),intBitsToFloat(uf_remappedVS[12].x)) + R4f.w); -R15f.z = PV0f.x; -PV1f.z = R15f.z; -// 4 -tempf.x = dot(vec4(R15f.x,R15f.y,PV1f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[20].x),intBitsToFloat(uf_remappedVS[20].y),intBitsToFloat(uf_remappedVS[20].z),intBitsToFloat(uf_remappedVS[20].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -// 5 -R1f.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),intBitsToFloat(uf_remappedVS[21].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R126f.z = -(PV0f.x); -PS1f = R126f.z; -// 6 -tempf.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),intBitsToFloat(uf_remappedVS[22].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.z = tempf.x; -// 7 -tempf.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(uf_remappedVS[23].z),intBitsToFloat(uf_remappedVS[23].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.w = tempf.x; -R6f.z = PV0f.x; -PS1f = R6f.z; -// 8 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R6f.x = R1f.x + PV1f.x; -R6f.x /= 2.0; -PS0f = R6f.x; -// 9 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R14f.x = PV0f.x; -PS1f = R14f.x; -// 10 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R14f.y = PV1f.x; -PS0f = R14f.y; -// 11 -R13f.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),0.0)); -PV1f.x = R13f.x; -PV1f.y = R13f.x; -PV1f.z = R13f.x; -PV1f.w = R13f.x; -R14f.z = PV0f.x; -PS1f = R14f.z; -// 12 -tempf.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R13f.y = tempf.x; -R6f.y = R126f.z + R1f.w; -R6f.y /= 2.0; -PS0f = R6f.y; -// 13 -tempf.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R13f.z = tempf.x; -R6f.w = R1f.w; -PS1f = R6f.w; -// 14 -R12f.x = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[15].z)) + R7f.y); -R12f.y = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[15].w)) + R0f.x); -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R10f.x, R10f.y, R10f.z, R10f.w); -// export -passParameterSem1 = vec4(R11f.x, R11f.y, R11f.z, R11f.w); -// export -passParameterSem2 = vec4(R12f.x, R12f.y, R12f.z, R12f.w); -// export -passParameterSem4 = vec4(R13f.x, R13f.y, R13f.z, R13f.w); -// export -passParameterSem7 = vec4(R6f.x, R6f.y, R6f.z, R6f.w); -// export -passParameterSem3 = vec4(R14f.x, R14f.y, R14f.z, R14f.w); -// export -passParameterSem6 = vec4(R15f.x, R15f.y, R15f.z, R15f.w); -} diff --git a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/127a33ea625e2e83_0000000000000000_vs.txt b/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/127a33ea625e2e83_0000000000000000_vs.txt deleted file mode 100644 index 1c755a38..00000000 --- a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/127a33ea625e2e83_0000000000000000_vs.txt +++ /dev/null @@ -1,449 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 127a33ea625e2e83 -// Used for: Fixing Nvidia lava waterfall artifacts. -// Check rules.txt for documentation and when to enable. - - - - -uniform ivec4 uf_remappedVS[24]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 5) out vec4 passParameterSem5; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 4) out vec4 passParameterSem4; -layout(location = 7) out vec4 passParameterSem7; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 6) out vec4 passParameterSem6; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R10f = vec4(0.0); -vec4 R11f = vec4(0.0); -vec4 R12f = vec4(0.0); -vec4 R13f = vec4(0.0); -vec4 R14f = vec4(0.0); -vec4 R15f = vec4(0.0); -vec4 R122f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyzw = attrDataSem0.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.x = attrDataSem1.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xyzw = attrDataSem2.xyzw; -if( (attrDecoder.x&0x80) != 0 ) attrDecoder.x |= 0xFFFFFF00; -if( (attrDecoder.y&0x80) != 0 ) attrDecoder.y |= 0xFFFFFF00; -if( (attrDecoder.z&0x80) != 0 ) attrDecoder.z |= 0xFFFFFF00; -if( (attrDecoder.w&0x80) != 0 ) attrDecoder.w |= 0xFFFFFF00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/127.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/127.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/127.0,-1.0)); -attrDecoder.w = floatBitsToUint(max(float(int(attrDecoder.w))/127.0,-1.0)); -R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = ((attrDecoder.xy>>8)&0xFF)|((attrDecoder.xy<<8)&0xFF00); -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xy = floatBitsToUint(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16))); -attrDecoder.zw = uvec2(0); -R5f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem12.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -// 0 -R7f.x = 1.0; -R6f.y = 1.0; -R0f.z = intBitsToFloat(uf_remappedVS[0].y); -R127f.w = 1.0; -PV0f.w = R127f.w; -R124f.x = intBitsToFloat(uf_remappedVS[1].x); -PS0f = R124f.x; -// 1 -R6f.x = dot(vec4(R3f.x,R3f.y,R3f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV1f.x = R6f.x; -PV1f.y = R6f.x; -PV1f.z = R6f.x; -PV1f.w = R6f.x; -R13f.w = R4f.w; -PS1f = R13f.w; -// 2 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -R12f.z = R5f.x; -PS0f = R12f.z; -// 3 -backupReg0f = R3f.z; -tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.z = tempf.x; -R12f.w = R5f.y; -PS1f = R12f.w; -// 4 -R3f.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0)); -PV0f.x = R3f.x; -PV0f.y = R3f.x; -PV0f.z = R3f.x; -PV0f.w = R3f.x; -R127f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[2].z)); -PS0f = R127f.x; -// 5 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R124f.y = tempf.x; -R126f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[3].z)); -PS1f = R126f.x; -// 6 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R125f.z = tempf.x; -R125f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[4].z)); -PS0f = R125f.x; -// 7 -backupReg0f = R126f.x; -R126f.x = dot(vec4(R4f.x,R4f.y,R127f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),1.0,0.0)); -PV1f.x = R126f.x; -PV1f.y = R126f.x; -PV1f.z = R126f.x; -PV1f.w = R126f.x; -R122f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[3].y)) + backupReg0f); -PS1f = R122f.x; -// 8 -R123f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[4].y)) + R125f.x); -PV0f.x = R123f.x; -R2f.y = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[3].x)) + PS1f); -PS0f = mul_nonIEEE(R125f.z, R125f.z); -// 9 -R123f.x = (mul_nonIEEE(R124f.y,R124f.y) + PS0f); -PV1f.x = R123f.x; -R4f.z = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[4].x)) + PV0f.x); -R127f.w = intBitsToFloat(uf_remappedVS[1].y); -// 10 -R125f.x = intBitsToFloat(uf_remappedVS[5].x); -R127f.y = intBitsToFloat(uf_remappedVS[5].y); -R126f.z = intBitsToFloat(uf_remappedVS[6].x); -R123f.w = (mul_nonIEEE(R3f.x,R3f.x) + PV1f.x); -PV0f.w = R123f.w; -R125f.y = intBitsToFloat(uf_remappedVS[6].y); -PS0f = R125f.y; -// 11 -backupReg0f = R124f.x; -R124f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R127f.w); -R126f.y = intBitsToFloat(uf_remappedVS[8].y); -R127f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + backupReg0f); -R127f.w = intBitsToFloat(uf_remappedVS[8].x); -tempResultf = 1.0 / sqrt(PV0f.w); -R124f.z = tempResultf; -PS1f = R124f.z; -// 12 -tempf.x = dot(vec4(R126f.x,R2f.y,R4f.z,-0.0),vec4(R126f.x,R2f.y,R4f.z,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R4f.y = tempf.x; -R4f.x = intBitsToFloat(uf_remappedVS[1].z); -PS0f = R4f.x; -// 13 -backupReg0f = R127f.y; -backupReg1f = R125f.x; -R125f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + R127f.w); -R127f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + backupReg0f); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + backupReg1f); -PV1f.z = R123f.z; -R127f.w = intBitsToFloat(uf_remappedVS[1].w); -R127f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + R126f.y); -PS1f = R127f.x; -// 14 -backupReg0f = R127f.z; -R2f.x = intBitsToFloat(uf_remappedVS[10].x); -R126f.y = intBitsToFloat(uf_remappedVS[11].x); -R127f.z = intBitsToFloat(uf_remappedVS[11].y); -R126f.w = intBitsToFloat(uf_remappedVS[10].y); -R0f.x = (mul_nonIEEE(R5f.x,backupReg0f) + PV1f.z); -PS0f = R0f.x; -// 15 -backupReg0f = R127f.y; -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R125f.y); -PV1f.x = R123f.x; -R127f.y = intBitsToFloat(uf_remappedVS[6].w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + R126f.z); -PV1f.z = R123f.z; -R125f.w = intBitsToFloat(uf_remappedVS[6].z); -R126f.z = (mul_nonIEEE(R5f.x,R124f.x) + backupReg0f); -PS1f = R126f.z; -// 16 -backupReg0f = R4f.y; -R8f.x = mul_nonIEEE(R125f.z, R124f.z); -R4f.y = mul_nonIEEE(R124f.y, R124f.z); -R125f.z = (mul_nonIEEE(R5f.x,PV1f.x) + R127f.x); -R124f.w = (mul_nonIEEE(R5f.x,PV1f.z) + R125f.x); -tempResultf = 1.0 / sqrt(backupReg0f); -R4f.w = tempResultf; -PS0f = R4f.w; -// 17 -backupReg0f = R3f.x; -R3f.x = mul_nonIEEE(backupReg0f, R124f.z); -R125f.y = intBitsToFloat(uf_remappedVS[12].x); -R2f.z = intBitsToFloat(uf_remappedVS[13].x); -R0f.w = intBitsToFloat(uf_remappedVS[13].y); -R9f.x = mul_nonIEEE(R126f.x, PS0f); -PS1f = R9f.x; -// 18 -R126f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + R2f.x); -R124f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R127f.w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R4f.x); -PV0f.z = R123f.z; -R127f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R126f.w); -R124f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R125f.w); -PS0f = R124f.z; -// 19 -R127f.x = intBitsToFloat(uf_remappedVS[10].z); -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + R127f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + R126f.y); -PV1f.z = R123f.z; -R126f.w = intBitsToFloat(uf_remappedVS[10].w); -R125f.w = (mul_nonIEEE(R5f.y,PV0f.z) + R0f.x); -PS1f = R125f.w; -// 20 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R127f.y); -PV0f.x = R123f.x; -R127f.y = (mul_nonIEEE(R5f.y,R124f.y) + R126f.z); -R126f.z = (mul_nonIEEE(R5f.x,R126f.x) + PV1f.z); -R2f.w = (mul_nonIEEE(R5f.x,R127f.w) + PV1f.y); -R124f.y = (mul_nonIEEE(R5f.y,R124f.z) + R124f.w); -PS0f = R124f.y; -// 21 -backupReg0f = R2f.z; -backupReg1f = R0f.w; -R126f.x = (mul_nonIEEE(R5f.y,PV0f.x) + R125f.z); -R3f.y = mul_nonIEEE(R2f.y, R4f.w); -R2f.z = mul_nonIEEE(R4f.z, R4f.w); -R0f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].x),R125f.y) + backupReg0f); -R4f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].y),R125f.y) + backupReg1f); -PS1f = R4f.w; -// 22 -R2f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R126f.w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R127f.x); -PV0f.z = R123f.z; -R10f.w = R127f.y; -R10f.z = R125f.w; -PS0f = R10f.z; -// 23 -R0f.x = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[15].y)) + intBitsToFloat(uf_remappedVS[16].y)); -R7f.y = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[15].x)) + intBitsToFloat(uf_remappedVS[16].x)); -R11f.z = R124f.y; -R11f.w = R126f.x; -R11f.x = (mul_nonIEEE(R5f.y,PV0f.z) + R126f.z); -PS1f = R11f.x; -// export -passParameterSem5 = vec4(R1f.x, R1f.y, R1f.z, 1.0); -// 0 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R11f.y = (mul_nonIEEE(R5f.y,R2f.y) + R2f.w); -PS0f = R11f.y; -// 1 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R15f.x = PV0f.x; -PS1f = R15f.x; -// 2 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),intBitsToFloat(uf_remappedVS[19].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R15f.y = PV1f.x; -PS0f = R15f.y; -// 3 -R10f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[12].x)) + R0f.w); -R10f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].w),intBitsToFloat(uf_remappedVS[12].x)) + R4f.w); -R15f.z = PV0f.x; -PV1f.z = R15f.z; -// 4 -tempf.x = dot(vec4(R15f.x,R15f.y,PV1f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[20].x),intBitsToFloat(uf_remappedVS[20].y),intBitsToFloat(uf_remappedVS[20].z),intBitsToFloat(uf_remappedVS[20].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -// 5 -R1f.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),intBitsToFloat(uf_remappedVS[21].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R126f.z = -(PV0f.x); -PS1f = R126f.z; -// 6 -tempf.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),intBitsToFloat(uf_remappedVS[22].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.z = tempf.x; -// 7 -tempf.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(uf_remappedVS[23].z),intBitsToFloat(uf_remappedVS[23].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.w = tempf.x; -R6f.z = PV0f.x; -PS1f = R6f.z; -// 8 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R6f.x = R1f.x + PV1f.x; -R6f.x /= 2.0; -PS0f = R6f.x; -// 9 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R14f.x = PV0f.x; -PS1f = R14f.x; -// 10 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R14f.y = PV1f.x; -PS0f = R14f.y; -// 11 -R13f.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),0.0)); -PV1f.x = R13f.x; -PV1f.y = R13f.x; -PV1f.z = R13f.x; -PV1f.w = R13f.x; -R14f.z = PV0f.x; -PS1f = R14f.z; -// 12 -tempf.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R13f.y = tempf.x; -R6f.y = R126f.z + R1f.w; -R6f.y /= 2.0; -PS0f = R6f.y; -// 13 -tempf.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R13f.z = tempf.x; -R6f.w = R1f.w; -PS1f = R6f.w; -// 14 -R12f.x = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[15].z)) + R7f.y); -R12f.y = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[15].w)) + R0f.x); -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R10f.x, R10f.y, R10f.z, R10f.w); -// export -passParameterSem1 = vec4(R11f.x, R11f.y, R11f.z, R11f.w); -// export -passParameterSem2 = vec4(R12f.x, R12f.y, R12f.z, R12f.w); -// export -passParameterSem4 = vec4(R13f.x, R13f.y, R13f.z, R13f.w); -// export -passParameterSem7 = vec4(R6f.x, R6f.y, R6f.z, R6f.w); -// export -passParameterSem3 = vec4(R14f.x, R14f.y, R14f.z, R14f.w); -// export -passParameterSem6 = vec4(R15f.x, R15f.y, R15f.z, R15f.w); -} diff --git a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/16fa33eae25e2e83_0000000000000000_vs.txt b/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/16fa33eae25e2e83_0000000000000000_vs.txt deleted file mode 100644 index 55072e95..00000000 --- a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/16fa33eae25e2e83_0000000000000000_vs.txt +++ /dev/null @@ -1,449 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 16fa33eae25e2e83 -// Used for: Fixing Nvidia lava artifacts. -// Check rules.txt for documentation and when to enable. - - - - -uniform ivec4 uf_remappedVS[24]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 5) out vec4 passParameterSem5; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 4) out vec4 passParameterSem4; -layout(location = 7) out vec4 passParameterSem7; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 6) out vec4 passParameterSem6; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R10f = vec4(0.0); -vec4 R11f = vec4(0.0); -vec4 R12f = vec4(0.0); -vec4 R13f = vec4(0.0); -vec4 R14f = vec4(0.0); -vec4 R15f = vec4(0.0); -vec4 R122f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.x = attrDataSem1.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xyzw = attrDataSem2.xyzw; -if( (attrDecoder.x&0x80) != 0 ) attrDecoder.x |= 0xFFFFFF00; -if( (attrDecoder.y&0x80) != 0 ) attrDecoder.y |= 0xFFFFFF00; -if( (attrDecoder.z&0x80) != 0 ) attrDecoder.z |= 0xFFFFFF00; -if( (attrDecoder.w&0x80) != 0 ) attrDecoder.w |= 0xFFFFFF00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/127.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/127.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/127.0,-1.0)); -attrDecoder.w = floatBitsToUint(max(float(int(attrDecoder.w))/127.0,-1.0)); -R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = ((attrDecoder.xy>>8)&0xFF)|((attrDecoder.xy<<8)&0xFF00); -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xy = floatBitsToUint(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16))); -attrDecoder.zw = uvec2(0); -R5f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem12.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -// 0 -R7f.x = 1.0; -R6f.y = 1.0; -R0f.z = intBitsToFloat(uf_remappedVS[0].y); -R127f.w = 1.0; -PV0f.w = R127f.w; -R124f.x = intBitsToFloat(uf_remappedVS[1].x); -PS0f = R124f.x; -// 1 -R6f.x = dot(vec4(R3f.x,R3f.y,R3f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV1f.x = R6f.x; -PV1f.y = R6f.x; -PV1f.z = R6f.x; -PV1f.w = R6f.x; -R13f.w = R4f.w; -PS1f = R13f.w; -// 2 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -R12f.z = R5f.x; -PS0f = R12f.z; -// 3 -backupReg0f = R3f.z; -tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.z = tempf.x; -R12f.w = R5f.y; -PS1f = R12f.w; -// 4 -R3f.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0)); -PV0f.x = R3f.x; -PV0f.y = R3f.x; -PV0f.z = R3f.x; -PV0f.w = R3f.x; -R127f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[2].z)); -PS0f = R127f.x; -// 5 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R124f.y = tempf.x; -R126f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[3].z)); -PS1f = R126f.x; -// 6 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R125f.z = tempf.x; -R125f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[4].z)); -PS0f = R125f.x; -// 7 -backupReg0f = R126f.x; -R126f.x = dot(vec4(R4f.x,R4f.y,R127f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),1.0,0.0)); -PV1f.x = R126f.x; -PV1f.y = R126f.x; -PV1f.z = R126f.x; -PV1f.w = R126f.x; -R122f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[3].y)) + backupReg0f); -PS1f = R122f.x; -// 8 -R123f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[4].y)) + R125f.x); -PV0f.x = R123f.x; -R2f.y = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[3].x)) + PS1f); -PS0f = mul_nonIEEE(R125f.z, R125f.z); -// 9 -R123f.x = (mul_nonIEEE(R124f.y,R124f.y) + PS0f); -PV1f.x = R123f.x; -R4f.z = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[4].x)) + PV0f.x); -R127f.w = intBitsToFloat(uf_remappedVS[1].y); -// 10 -R125f.x = intBitsToFloat(uf_remappedVS[5].x); -R127f.y = intBitsToFloat(uf_remappedVS[5].y); -R126f.z = intBitsToFloat(uf_remappedVS[6].x); -R123f.w = (mul_nonIEEE(R3f.x,R3f.x) + PV1f.x); -PV0f.w = R123f.w; -R125f.y = intBitsToFloat(uf_remappedVS[6].y); -PS0f = R125f.y; -// 11 -backupReg0f = R124f.x; -R124f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R127f.w); -R126f.y = intBitsToFloat(uf_remappedVS[8].y); -R127f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + backupReg0f); -R127f.w = intBitsToFloat(uf_remappedVS[8].x); -tempResultf = 1.0 / sqrt(PV0f.w); -R124f.z = tempResultf; -PS1f = R124f.z; -// 12 -tempf.x = dot(vec4(R126f.x,R2f.y,R4f.z,-0.0),vec4(R126f.x,R2f.y,R4f.z,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R4f.y = tempf.x; -R4f.x = intBitsToFloat(uf_remappedVS[1].z); -PS0f = R4f.x; -// 13 -backupReg0f = R127f.y; -backupReg1f = R125f.x; -R125f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + R127f.w); -R127f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + backupReg0f); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + backupReg1f); -PV1f.z = R123f.z; -R127f.w = intBitsToFloat(uf_remappedVS[1].w); -R127f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + R126f.y); -PS1f = R127f.x; -// 14 -backupReg0f = R127f.z; -R2f.x = intBitsToFloat(uf_remappedVS[10].x); -R126f.y = intBitsToFloat(uf_remappedVS[11].x); -R127f.z = intBitsToFloat(uf_remappedVS[11].y); -R126f.w = intBitsToFloat(uf_remappedVS[10].y); -R0f.x = (mul_nonIEEE(R5f.x,backupReg0f) + PV1f.z); -PS0f = R0f.x; -// 15 -backupReg0f = R127f.y; -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R125f.y); -PV1f.x = R123f.x; -R127f.y = intBitsToFloat(uf_remappedVS[6].w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + R126f.z); -PV1f.z = R123f.z; -R125f.w = intBitsToFloat(uf_remappedVS[6].z); -R126f.z = (mul_nonIEEE(R5f.x,R124f.x) + backupReg0f); -PS1f = R126f.z; -// 16 -backupReg0f = R4f.y; -R8f.x = mul_nonIEEE(R125f.z, R124f.z); -R4f.y = mul_nonIEEE(R124f.y, R124f.z); -R125f.z = (mul_nonIEEE(R5f.x,PV1f.x) + R127f.x); -R124f.w = (mul_nonIEEE(R5f.x,PV1f.z) + R125f.x); -tempResultf = 1.0 / sqrt(backupReg0f); -R4f.w = tempResultf; -PS0f = R4f.w; -// 17 -backupReg0f = R3f.x; -R3f.x = mul_nonIEEE(backupReg0f, R124f.z); -R125f.y = intBitsToFloat(uf_remappedVS[12].x); -R2f.z = intBitsToFloat(uf_remappedVS[13].x); -R0f.w = intBitsToFloat(uf_remappedVS[13].y); -R9f.x = mul_nonIEEE(R126f.x, PS0f); -PS1f = R9f.x; -// 18 -R126f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + R2f.x); -R124f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R127f.w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R4f.x); -PV0f.z = R123f.z; -R127f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R126f.w); -R124f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R125f.w); -PS0f = R124f.z; -// 19 -R127f.x = intBitsToFloat(uf_remappedVS[10].z); -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + R127f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + R126f.y); -PV1f.z = R123f.z; -R126f.w = intBitsToFloat(uf_remappedVS[10].w); -R125f.w = (mul_nonIEEE(R5f.y,PV0f.z) + R0f.x); -PS1f = R125f.w; -// 20 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R127f.y); -PV0f.x = R123f.x; -R127f.y = (mul_nonIEEE(R5f.y,R124f.y) + R126f.z); -R126f.z = (mul_nonIEEE(R5f.x,R126f.x) + PV1f.z); -R2f.w = (mul_nonIEEE(R5f.x,R127f.w) + PV1f.y); -R124f.y = (mul_nonIEEE(R5f.y,R124f.z) + R124f.w); -PS0f = R124f.y; -// 21 -backupReg0f = R2f.z; -backupReg1f = R0f.w; -R126f.x = (mul_nonIEEE(R5f.y,PV0f.x) + R125f.z); -R3f.y = mul_nonIEEE(R2f.y, R4f.w); -R2f.z = mul_nonIEEE(R4f.z, R4f.w); -R0f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].x),R125f.y) + backupReg0f); -R4f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].y),R125f.y) + backupReg1f); -PS1f = R4f.w; -// 22 -R2f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R126f.w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R127f.x); -PV0f.z = R123f.z; -R10f.w = R127f.y; -R10f.z = R125f.w; -PS0f = R10f.z; -// 23 -R0f.x = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[15].y)) + intBitsToFloat(uf_remappedVS[16].y)); -R7f.y = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[15].x)) + intBitsToFloat(uf_remappedVS[16].x)); -R11f.z = R124f.y; -R11f.w = R126f.x; -R11f.x = (mul_nonIEEE(R5f.y,PV0f.z) + R126f.z); -PS1f = R11f.x; -// export -passParameterSem5 = vec4(R1f.x, R1f.y, R1f.z, 1.0); -// 0 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R11f.y = (mul_nonIEEE(R5f.y,R2f.y) + R2f.w); -PS0f = R11f.y; -// 1 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R15f.x = PV0f.x; -PS1f = R15f.x; -// 2 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),intBitsToFloat(uf_remappedVS[19].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R15f.y = PV1f.x; -PS0f = R15f.y; -// 3 -R10f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[12].x)) + R0f.w); -R10f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].w),intBitsToFloat(uf_remappedVS[12].x)) + R4f.w); -R15f.z = PV0f.x; -PV1f.z = R15f.z; -// 4 -tempf.x = dot(vec4(R15f.x,R15f.y,PV1f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[20].x),intBitsToFloat(uf_remappedVS[20].y),intBitsToFloat(uf_remappedVS[20].z),intBitsToFloat(uf_remappedVS[20].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -// 5 -R1f.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),intBitsToFloat(uf_remappedVS[21].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R126f.z = -(PV0f.x); -PS1f = R126f.z; -// 6 -tempf.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),intBitsToFloat(uf_remappedVS[22].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.z = tempf.x; -// 7 -tempf.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(uf_remappedVS[23].z),intBitsToFloat(uf_remappedVS[23].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.w = tempf.x; -R6f.z = PV0f.x; -PS1f = R6f.z; -// 8 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R6f.x = R1f.x + PV1f.x; -R6f.x /= 2.0; -PS0f = R6f.x; -// 9 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R14f.x = PV0f.x; -PS1f = R14f.x; -// 10 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R14f.y = PV1f.x; -PS0f = R14f.y; -// 11 -R13f.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),0.0)); -PV1f.x = R13f.x; -PV1f.y = R13f.x; -PV1f.z = R13f.x; -PV1f.w = R13f.x; -R14f.z = PV0f.x; -PS1f = R14f.z; -// 12 -tempf.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R13f.y = tempf.x; -R6f.y = R126f.z + R1f.w; -R6f.y /= 2.0; -PS0f = R6f.y; -// 13 -tempf.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R13f.z = tempf.x; -R6f.w = R1f.w; -PS1f = R6f.w; -// 14 -R12f.x = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[15].z)) + R7f.y); -R12f.y = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[15].w)) + R0f.x); -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R10f.x, R10f.y, R10f.z, R10f.w); -// export -passParameterSem1 = vec4(R11f.x, R11f.y, R11f.z, R11f.w); -// export -passParameterSem2 = vec4(R12f.x, R12f.y, R12f.z, R12f.w); -// export -passParameterSem4 = vec4(R13f.x, R13f.y, R13f.z, R13f.w); -// export -passParameterSem7 = vec4(R6f.x, R6f.y, R6f.z, R6f.w); -// export -passParameterSem3 = vec4(R14f.x, R14f.y, R14f.z, R14f.w); -// export -passParameterSem6 = vec4(R15f.x, R15f.y, R15f.z, R15f.w); -} diff --git a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/16fa33fca25e2e83_0000000000000000_vs.txt b/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/16fa33fca25e2e83_0000000000000000_vs.txt deleted file mode 100644 index 477d6fad..00000000 --- a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/16fa33fca25e2e83_0000000000000000_vs.txt +++ /dev/null @@ -1,447 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 16fa33fca25e2e83 -// Used for: Fixing Nvidia lava artifacts. -// Check rules.txt for documentation and when to enable. - - - - -uniform ivec4 uf_remappedVS[24]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 5) out vec4 passParameterSem5; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 1) out vec4 passParameterSem1; -layout(location = 2) out vec4 passParameterSem2; -layout(location = 4) out vec4 passParameterSem4; -layout(location = 7) out vec4 passParameterSem7; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 6) out vec4 passParameterSem6; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R10f = vec4(0.0); -vec4 R11f = vec4(0.0); -vec4 R12f = vec4(0.0); -vec4 R13f = vec4(0.0); -vec4 R14f = vec4(0.0); -vec4 R15f = vec4(0.0); -vec4 R122f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.x = attrDataSem1.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xyzw = attrDataSem2.xyzw; -if( (attrDecoder.x&0x80) != 0 ) attrDecoder.x |= 0xFFFFFF00; -if( (attrDecoder.y&0x80) != 0 ) attrDecoder.y |= 0xFFFFFF00; -if( (attrDecoder.z&0x80) != 0 ) attrDecoder.z |= 0xFFFFFF00; -if( (attrDecoder.w&0x80) != 0 ) attrDecoder.w |= 0xFFFFFF00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/127.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/127.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/127.0,-1.0)); -attrDecoder.w = floatBitsToUint(max(float(int(attrDecoder.w))/127.0,-1.0)); -R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R5f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem12.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -// 0 -R7f.x = 1.0; -R6f.y = 1.0; -R0f.z = intBitsToFloat(uf_remappedVS[0].y); -R127f.w = 1.0; -PV0f.w = R127f.w; -R124f.x = intBitsToFloat(uf_remappedVS[1].x); -PS0f = R124f.x; -// 1 -R6f.x = dot(vec4(R3f.x,R3f.y,R3f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV1f.x = R6f.x; -PV1f.y = R6f.x; -PV1f.z = R6f.x; -PV1f.w = R6f.x; -R13f.w = R4f.w; -PS1f = R13f.w; -// 2 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -R12f.z = R5f.x; -PS0f = R12f.z; -// 3 -backupReg0f = R3f.z; -tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.z = tempf.x; -R12f.w = R5f.y; -PS1f = R12f.w; -// 4 -R3f.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0)); -PV0f.x = R3f.x; -PV0f.y = R3f.x; -PV0f.z = R3f.x; -PV0f.w = R3f.x; -R127f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[2].z)); -PS0f = R127f.x; -// 5 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R124f.y = tempf.x; -R126f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[3].z)); -PS1f = R126f.x; -// 6 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R125f.z = tempf.x; -R125f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[4].z)); -PS0f = R125f.x; -// 7 -backupReg0f = R126f.x; -R126f.x = dot(vec4(R4f.x,R4f.y,R127f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),1.0,0.0)); -PV1f.x = R126f.x; -PV1f.y = R126f.x; -PV1f.z = R126f.x; -PV1f.w = R126f.x; -R122f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[3].y)) + backupReg0f); -PS1f = R122f.x; -// 8 -R123f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[4].y)) + R125f.x); -PV0f.x = R123f.x; -R2f.y = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[3].x)) + PS1f); -PS0f = mul_nonIEEE(R125f.z, R125f.z); -// 9 -R123f.x = (mul_nonIEEE(R124f.y,R124f.y) + PS0f); -PV1f.x = R123f.x; -R4f.z = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[4].x)) + PV0f.x); -R127f.w = intBitsToFloat(uf_remappedVS[1].y); -// 10 -R125f.x = intBitsToFloat(uf_remappedVS[5].x); -R127f.y = intBitsToFloat(uf_remappedVS[5].y); -R126f.z = intBitsToFloat(uf_remappedVS[6].x); -R123f.w = (mul_nonIEEE(R3f.x,R3f.x) + PV1f.x); -PV0f.w = R123f.w; -R125f.y = intBitsToFloat(uf_remappedVS[6].y); -PS0f = R125f.y; -// 11 -backupReg0f = R124f.x; -R124f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R127f.w); -R126f.y = intBitsToFloat(uf_remappedVS[8].y); -R127f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + backupReg0f); -R127f.w = intBitsToFloat(uf_remappedVS[8].x); -tempResultf = 1.0 / sqrt(PV0f.w); -R124f.z = tempResultf; -PS1f = R124f.z; -// 12 -tempf.x = dot(vec4(R126f.x,R2f.y,R4f.z,-0.0),vec4(R126f.x,R2f.y,R4f.z,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R4f.y = tempf.x; -R4f.x = intBitsToFloat(uf_remappedVS[1].z); -PS0f = R4f.x; -// 13 -backupReg0f = R127f.y; -backupReg1f = R125f.x; -R125f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + R127f.w); -R127f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + backupReg0f); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + backupReg1f); -PV1f.z = R123f.z; -R127f.w = intBitsToFloat(uf_remappedVS[1].w); -R127f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + R126f.y); -PS1f = R127f.x; -// 14 -backupReg0f = R127f.z; -R2f.x = intBitsToFloat(uf_remappedVS[10].x); -R126f.y = intBitsToFloat(uf_remappedVS[11].x); -R127f.z = intBitsToFloat(uf_remappedVS[11].y); -R126f.w = intBitsToFloat(uf_remappedVS[10].y); -R0f.x = (mul_nonIEEE(R5f.x,backupReg0f) + PV1f.z); -PS0f = R0f.x; -// 15 -backupReg0f = R127f.y; -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R125f.y); -PV1f.x = R123f.x; -R127f.y = intBitsToFloat(uf_remappedVS[6].w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + R126f.z); -PV1f.z = R123f.z; -R125f.w = intBitsToFloat(uf_remappedVS[6].z); -R126f.z = (mul_nonIEEE(R5f.x,R124f.x) + backupReg0f); -PS1f = R126f.z; -// 16 -backupReg0f = R4f.y; -R8f.x = mul_nonIEEE(R125f.z, R124f.z); -R4f.y = mul_nonIEEE(R124f.y, R124f.z); -R125f.z = (mul_nonIEEE(R5f.x,PV1f.x) + R127f.x); -R124f.w = (mul_nonIEEE(R5f.x,PV1f.z) + R125f.x); -tempResultf = 1.0 / sqrt(backupReg0f); -R4f.w = tempResultf; -PS0f = R4f.w; -// 17 -backupReg0f = R3f.x; -R3f.x = mul_nonIEEE(backupReg0f, R124f.z); -R125f.y = intBitsToFloat(uf_remappedVS[12].x); -R2f.z = intBitsToFloat(uf_remappedVS[13].x); -R0f.w = intBitsToFloat(uf_remappedVS[13].y); -R9f.x = mul_nonIEEE(R126f.x, PS0f); -PS1f = R9f.x; -// 18 -R126f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].x),R0f.z) + R2f.x); -R124f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R127f.w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R4f.x); -PV0f.z = R123f.z; -R127f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].y),R0f.z) + R126f.w); -R124f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R125f.w); -PS0f = R124f.z; -// 19 -R127f.x = intBitsToFloat(uf_remappedVS[10].z); -R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].y),R0f.z) + R127f.z); -PV1f.y = R123f.y; -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[9].x),R0f.z) + R126f.y); -PV1f.z = R123f.z; -R126f.w = intBitsToFloat(uf_remappedVS[10].w); -R125f.w = (mul_nonIEEE(R5f.y,PV0f.z) + R0f.x); -PS1f = R125f.w; -// 20 -R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R127f.y); -PV0f.x = R123f.x; -R127f.y = (mul_nonIEEE(R5f.y,R124f.y) + R126f.z); -R126f.z = (mul_nonIEEE(R5f.x,R126f.x) + PV1f.z); -R2f.w = (mul_nonIEEE(R5f.x,R127f.w) + PV1f.y); -R124f.y = (mul_nonIEEE(R5f.y,R124f.z) + R124f.w); -PS0f = R124f.y; -// 21 -backupReg0f = R2f.z; -backupReg1f = R0f.w; -R126f.x = (mul_nonIEEE(R5f.y,PV0f.x) + R125f.z); -R3f.y = mul_nonIEEE(R2f.y, R4f.w); -R2f.z = mul_nonIEEE(R4f.z, R4f.w); -R0f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].x),R125f.y) + backupReg0f); -R4f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].y),R125f.y) + backupReg1f); -PS1f = R4f.w; -// 22 -R2f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].w),R0f.z) + R126f.w); -R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[7].z),R0f.z) + R127f.x); -PV0f.z = R123f.z; -R10f.w = R127f.y; -R10f.z = R125f.w; -PS0f = R10f.z; -// 23 -R0f.x = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[15].y)) + intBitsToFloat(uf_remappedVS[16].y)); -R7f.y = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[15].x)) + intBitsToFloat(uf_remappedVS[16].x)); -R11f.z = R124f.y; -R11f.w = R126f.x; -R11f.x = (mul_nonIEEE(R5f.y,PV0f.z) + R126f.z); -PS1f = R11f.x; -// export -passParameterSem5 = vec4(R1f.x, R1f.y, R1f.z, 1.0); // = "workaround" -// 0 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R11f.y = (mul_nonIEEE(R5f.y,R2f.y) + R2f.w); -PS0f = R11f.y; -// 1 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R15f.x = PV0f.x; -PS1f = R15f.x; -// 2 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R6f.x,backupReg0f,R3f.z,R7f.x),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),intBitsToFloat(uf_remappedVS[19].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R15f.y = PV1f.x; -PS0f = R15f.y; -// 3 -R10f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[12].x)) + R0f.w); -R10f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedVS[14].w),intBitsToFloat(uf_remappedVS[12].x)) + R4f.w); -R15f.z = PV0f.x; -PV1f.z = R15f.z; -// 4 -tempf.x = dot(vec4(R15f.x,R15f.y,PV1f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[20].x),intBitsToFloat(uf_remappedVS[20].y),intBitsToFloat(uf_remappedVS[20].z),intBitsToFloat(uf_remappedVS[20].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = tempf.x; -// 5 -R1f.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),intBitsToFloat(uf_remappedVS[21].w))); -PV1f.x = R1f.x; -PV1f.y = R1f.x; -PV1f.z = R1f.x; -PV1f.w = R1f.x; -R126f.z = -(PV0f.x); -PS1f = R126f.z; -// 6 -tempf.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),intBitsToFloat(uf_remappedVS[22].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.z = tempf.x; -// 7 -tempf.x = dot(vec4(R15f.x,R15f.y,R15f.z,R6f.y),vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(uf_remappedVS[23].z),intBitsToFloat(uf_remappedVS[23].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.w = tempf.x; -R6f.z = PV0f.x; -PS1f = R6f.z; -// 8 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R6f.x = R1f.x + PV1f.x; -R6f.x /= 2.0; -PS0f = R6f.x; -// 9 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R14f.x = PV0f.x; -PS1f = R14f.x; -// 10 -tempf.x = dot(vec4(R3f.x,R4f.y,R8f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R14f.y = PV1f.x; -PS0f = R14f.y; -// 11 -R13f.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),0.0)); -PV1f.x = R13f.x; -PV1f.y = R13f.x; -PV1f.z = R13f.x; -PV1f.w = R13f.x; -R14f.z = PV0f.x; -PS1f = R14f.z; -// 12 -tempf.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R13f.y = tempf.x; -R6f.y = R126f.z + R1f.w; -R6f.y /= 2.0; -PS0f = R6f.y; -// 13 -tempf.x = dot(vec4(R9f.x,R3f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R13f.z = tempf.x; -R6f.w = R1f.w; -PS1f = R6f.w; -// 14 -R12f.x = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[15].z)) + R7f.y); -R12f.y = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[15].w)) + R0f.x); -// export -gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem0 = vec4(R10f.x, R10f.y, R10f.z, R10f.w); -// export -passParameterSem1 = vec4(R11f.x, R11f.y, R11f.z, R11f.w); -// export -passParameterSem2 = vec4(R12f.x, R12f.y, R12f.z, R12f.w); -// export -passParameterSem4 = vec4(R13f.x, R13f.y, R13f.z, R13f.w); -// export -passParameterSem7 = vec4(R6f.x, R6f.y, R6f.z, R6f.w); -// export -passParameterSem3 = vec4(R14f.x, R14f.y, R14f.z, R14f.w); -// export -passParameterSem6 = vec4(R15f.x, R15f.y, R15f.z, R15f.w); -} diff --git a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/37d4289e0541199b_0000000000000000_vs.txt b/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/37d4289e0541199b_0000000000000000_vs.txt deleted file mode 100644 index ed58744e..00000000 --- a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/37d4289e0541199b_0000000000000000_vs.txt +++ /dev/null @@ -1,370 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 37d4289e0541199b -// Used for: Fixing Nvidia waterfall artifacts. -// Check rules.txt for documentation and when to enable. - - - -uniform ivec4 uf_remappedVS[17]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xb7993000 res 64x64x1 dim 1 tm: 4 format 0034 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler18 ClampX/Y/Z: 0 0 2 border: 0 -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 4) out vec4 passParameterSem5; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 3) out vec4 passParameterSem4; -layout(location = 1) out vec4 passParameterSem7; -layout(location = 2) out vec4 passParameterSem3; -layout(location = 5) out vec4 passParameterSem6; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R122f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.x = attrDataSem1.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xyzw = attrDataSem2.xyzw; -if( (attrDecoder.x&0x80) != 0 ) attrDecoder.x |= 0xFFFFFF00; -if( (attrDecoder.y&0x80) != 0 ) attrDecoder.y |= 0xFFFFFF00; -if( (attrDecoder.z&0x80) != 0 ) attrDecoder.z |= 0xFFFFFF00; -if( (attrDecoder.w&0x80) != 0 ) attrDecoder.w |= 0xFFFFFF00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/127.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/127.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/127.0,-1.0)); -attrDecoder.w = floatBitsToUint(max(float(int(attrDecoder.w))/127.0,-1.0)); -R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = ((attrDecoder.xy>>8)&0xFF)|((attrDecoder.xy<<8)&0xFF00); -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xy = floatBitsToUint(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16))); -attrDecoder.zw = uvec2(0); -R5f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem12.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -// 0 -PV0f.x = mul_nonIEEE(R5f.x, intBitsToFloat(uf_remappedVS[0].x)); -PV0f.y = mul_nonIEEE(R5f.y, intBitsToFloat(uf_remappedVS[0].w)); -PV0f.z = mul_nonIEEE(R5f.y, intBitsToFloat(uf_remappedVS[0].z)); -PV0f.w = mul_nonIEEE(R5f.x, intBitsToFloat(uf_remappedVS[0].y)); -R0f.w = 1.0; -PS0f = R0f.w; -// 1 -R8f.x = 1.0; -R8f.y = 1.0; -PV1f.z = PV0f.z + PV0f.x; -PV1f.w = PV0f.y + PV0f.w; -R122f.x = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[1].x)) + intBitsToFloat(uf_remappedVS[2].x)); -PS1f = R122f.x; -// 2 -R7f.x = intBitsToFloat(uf_remappedVS[3].x) + PV1f.z; -R7f.y = intBitsToFloat(uf_remappedVS[3].y) + PV1f.w; -R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[1].z)) + PS1f); -R9f.w = R4f.w; -R7f.z = R5f.x; -PS0f = R7f.z; -R0f.xyz = (textureLod(textureUnitVS0, R7f.xy,0.0).xyz); -// export -passParameterSem5 = vec4(R1f.x, R1f.y, R1f.z, 1.0); -// 0 -backupReg0f = R0f.y; -backupReg1f = R0f.x; -PV0f.x = mul_nonIEEE(R0f.z, intBitsToFloat(uf_remappedVS[4].z)); -PV0f.y = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedVS[4].z)); -PV0f.z = mul_nonIEEE(backupReg1f, intBitsToFloat(uf_remappedVS[4].z)); -R7f.w = R5f.y; -R6f.z = R5f.z; -PS0f = R6f.z; -// 1 -R127f.x = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[1].y)) + intBitsToFloat(uf_remappedVS[2].y)); -PV1f.y = mul_nonIEEE(R1f.y, PV0f.x); -PV1f.z = mul_nonIEEE(R1f.y, PV0f.y); -PV1f.w = mul_nonIEEE(R1f.y, PV0f.z); -// 2 -PV0f.x = mul_nonIEEE(R2f.x, PV1f.w); -PV0f.y = mul_nonIEEE(R2f.z, PV1f.y); -R123f.z = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[5].x)) + intBitsToFloat(uf_remappedVS[6].x)); -PV0f.z = R123f.z; -PV0f.w = mul_nonIEEE(R2f.y, PV1f.z); -R127f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[5].y)) + intBitsToFloat(uf_remappedVS[6].y)); -PS0f = R127f.w; -// 3 -backupReg0f = R127f.x; -R127f.xyz = vec3(R3f.x,R3f.y,R3f.z) + vec3(PV0f.x,PV0f.w,PV0f.y); -PV1f.x = R127f.x; -PV1f.y = R127f.y; -PV1f.z = R127f.z; -R123f.w = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[1].w)) + backupReg0f); -PV1f.w = R123f.w; -R6f.x = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[5].z)) + PV0f.z); -PS1f = R6f.x; -// 4 -backupReg0f = R0f.w; -R3f.x = dot(vec4(PV1f.x,PV1f.y,PV1f.z,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); -PV0f.x = R3f.x; -PV0f.y = R3f.x; -PV0f.z = R3f.x; -PV0f.w = R3f.x; -R6f.w = PV1f.w; -PS0f = R6f.w; -// 5 -backupReg0f = R0f.w; -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.y = tempf.x; -R126f.x = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[8].z)); -PS1f = R126f.x; -// 6 -backupReg0f = R0f.w; -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,backupReg0f),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R3f.z = tempf.x; -R127f.x = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[9].z)); -PS0f = R127f.x; -// 7 -R124f.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),0.0)); -PV1f.x = R124f.x; -PV1f.y = R124f.x; -PV1f.z = R124f.x; -PV1f.w = R124f.x; -R125f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[7].z)); -PS1f = R125f.x; -// 8 -tempf.x = dot(vec4(R2f.x,R2f.y,R126f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),1.0,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.y = tempf.x; -R122f.x = (mul_nonIEEE(R2f.y,intBitsToFloat(uf_remappedVS[9].y)) + R127f.x); -PS0f = R122f.x; -// 9 -R123f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[7].y)) + R125f.x); -PV1f.x = R123f.x; -R127f.z = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedVS[9].x)) + PS0f); -PV1f.z = R127f.z; -PS1f = mul_nonIEEE(R4f.y, intBitsToFloat(uf_remappedVS[9].y)); -// 10 -R127f.x = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[7].x)) + PV1f.x); -PV0f.y = mul_nonIEEE(PV1f.z, PV1f.z); -R125f.x = (mul_nonIEEE(R4f.z,intBitsToFloat(uf_remappedVS[9].z)) + PS1f); -PS0f = R125f.x; -// 11 -tempf.x = dot(vec4(R4f.x,R4f.y,R4f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R126f.y = tempf.x; -R122f.x = (mul_nonIEEE(R127f.y,R127f.y) + PV0f.y); -PS1f = R122f.x; -// 12 -R6f.y = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[5].w)) + R127f.w); -R126f.z = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[9].x)) + R125f.x); -PV0f.z = R126f.z; -R123f.w = (mul_nonIEEE(R124f.x,R124f.x) + PS1f); -PV0f.w = R123f.w; -// 13 -tempf.x = dot(vec4(R127f.x,R126f.y,PV0f.z,-0.0),vec4(R127f.x,R126f.y,PV0f.z,0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -tempResultf = 1.0 / sqrt(PV0f.w); -PS1f = tempResultf; -// 14 -R4f.x = mul_nonIEEE(R124f.x, PS1f); -R4f.y = mul_nonIEEE(R127f.y, PS1f); -R4f.z = mul_nonIEEE(R127f.z, PS1f); -tempResultf = 1.0 / sqrt(PV1f.x); -PS0f = tempResultf; -// 15 -R5f.x = mul_nonIEEE(R127f.x, PS0f); -R5f.y = mul_nonIEEE(R126f.y, PS0f); -R2f.z = mul_nonIEEE(R126f.z, PS0f); -// export -passParameterSem0 = vec4(R6f.x, R6f.y, R6f.z, R6f.w); -// export -// skipped export to semanticId 255 -// 0 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R8f.x),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[10].z)); -PS0f = R127f.x; -// 1 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R8f.x),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R6f.x = PV0f.x; -PS1f = R6f.x; -// 2 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R8f.x),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R6f.y = PV1f.x; -PS0f = R6f.y; -// 3 -backupReg0f = R127f.x; -R127f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[10].y)) + backupReg0f); -R126f.y = mul_nonIEEE(R5f.y, intBitsToFloat(uf_remappedVS[10].y)); -R6f.z = PV0f.x; -PV1f.z = R6f.z; -R127f.w = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[11].z)); -R124f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[11].z)); -PS1f = R124f.x; -// 4 -tempf.x = dot(vec4(R6f.x,R6f.y,PV1f.z,R8f.y),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R3f.y = tempf.x; -// 5 -R3f.x = dot(vec4(R6f.x,R6f.y,R6f.z,R8f.y),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w))); -PV1f.x = R3f.x; -PV1f.y = R3f.x; -PV1f.z = R3f.x; -PV1f.w = R3f.x; -R125f.x = -(PV0f.x); -PS1f = R125f.x; -// 6 -tempf.x = dot(vec4(R6f.x,R6f.y,R6f.z,R8f.y),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R3f.z = tempf.x; -// 7 -tempf.x = dot(vec4(R6f.x,R6f.y,R6f.z,R8f.y),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.w = tempf.x; -R8f.z = PV0f.x; -PS1f = R8f.z; -// 8 -R123f.x = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[10].x)) + R127f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[11].y)) + R127f.w); -PV0f.y = R123f.y; -R8f.w = PV1f.x; -R122f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[11].y)) + R124f.x); -PS0f = R122f.x; -// 9 -R127f.x = (mul_nonIEEE(R2f.z,intBitsToFloat(uf_remappedVS[10].z)) + R126f.y); -R9f.y = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[11].x)) + PV0f.y); -R123f.w = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[11].x)) + PS0f); -PV1f.w = R123f.w; -R7f.x = PV0f.x; -PS1f = R7f.x; -// 10 -tempf.x = dot(vec4(R4f.x,R4f.y,R4f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R7f.y = PV1f.w; -PS0f = R7f.y; -// 11 -R9f.x = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[10].x)) + R127f.x); -PV1f.y = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[12].z)); -R7f.z = PV0f.x; -R8f.x = R3f.x + R3f.w; -R8f.x /= 2.0; -PS1f = R8f.x; -// 12 -tempf.x = dot(vec4(R5f.x,R5f.y,PV1f.y,-0.0),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),1.0,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R9f.z = tempf.x; -R8f.y = R125f.x + R3f.w; -R8f.y /= 2.0; -PS0f = R8f.y; -// export -gl_Position = vec4(R3f.x, R3f.y, R3f.z, R3f.w); -// export -passParameterSem4 = vec4(R9f.x, R9f.y, R9f.z, R9f.w); -// export -passParameterSem7 = vec4(R8f.x, R8f.y, R8f.z, R8f.w); -// export -passParameterSem3 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); -// export -passParameterSem6 = vec4(R6f.x, R6f.y, R6f.z, R6f.w); -} \ No newline at end of file diff --git a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/4d3766953c3d41b4_0000000000000000_vs.txt b/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/4d3766953c3d41b4_0000000000000000_vs.txt deleted file mode 100644 index 4f861623..00000000 --- a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/4d3766953c3d41b4_0000000000000000_vs.txt +++ /dev/null @@ -1,343 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 4d3766953c3d41b4 -// Used for: Fixing Nvidia ice artifacts. -// Check rules.txt for documentation and when to enable. - - - - -layout(binding = 1, std140) uniform uniformBlockVS1 -{ -vec4 uf_blockVS1[1024]; -}; - -layout(binding = 2, std140) uniform uniformBlockVS2 -{ -vec4 uf_blockVS2[1024]; -}; - -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem6; -layout(location = 4) in uvec4 attrDataSem8; -layout(location = 5) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 5) out vec4 passParameterSem5; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 4) out vec4 passParameterSem4; -layout(location = 2) out vec4 passParameterSem7; -layout(location = 3) out vec4 passParameterSem3; -layout(location = 1) out vec4 passParameterSem6; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R10i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -uvec4 attrDecoder; -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); -attrDecoder.xyzw = attrDataSem0.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R4i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.x = attrDataSem1.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = attrDataSem2.xyzw; -if( (attrDecoder.x&0x80) != 0 ) attrDecoder.x |= 0xFFFFFF00; -if( (attrDecoder.y&0x80) != 0 ) attrDecoder.y |= 0xFFFFFF00; -if( (attrDecoder.z&0x80) != 0 ) attrDecoder.z |= 0xFFFFFF00; -if( (attrDecoder.w&0x80) != 0 ) attrDecoder.w |= 0xFFFFFF00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/127.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/127.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/127.0,-1.0)); -attrDecoder.w = floatBitsToUint(max(float(int(attrDecoder.w))/127.0,-1.0)); -R5i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = ((attrDecoder.xy>>8)&0xFF)|((attrDecoder.xy<<8)&0xFF00); -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xy = floatBitsToUint(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16))); -attrDecoder.zw = uvec2(0); -R6i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0)); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem12.xyzw)/255.0); -R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); -attrDecoder.xyzw = uvec4(attrDataSem6.x,0,0,0); -R1i = ivec4(int(attrDecoder.x), 0, 0, 1); -// 0 -R0i.x = 0x3f800000; -R0i.y = 0x3f800000; -R1i.w = 0x3f800000; -R0i.z = R1i.x * 0x00000003; -PS0i = R0i.z; -// 1 -R1i.x = PS0i + 0x00000002; -R0i.w = PS0i + int(1); -R10i.w = R5i.w; -PS1i = R10i.w; -R7i.xyzw = floatBitsToInt(uf_blockVS2[R0i.z].xyzw); -R8i.xyzw = floatBitsToInt(uf_blockVS2[R0i.w].xyzw); -R9i.xyzw = floatBitsToInt(uf_blockVS2[R1i.x].xyzw); -// export -passParameterSem5 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), 1.0); // = "workaround" -// export -passParameterSem0 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.x), intBitsToFloat(R6i.y)); -// 0 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(R7i.x),intBitsToFloat(R7i.y),intBitsToFloat(R7i.z),intBitsToFloat(R7i.w)))); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R7i.z))); -PS0i = R127i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),intBitsToFloat(R8i.z),intBitsToFloat(R8i.w)))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R8i.z))); -PS1i = R125i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),intBitsToFloat(R9i.z),intBitsToFloat(R9i.w)))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R9i.z))); -PS0i = R124i.x; -// 3 -backupReg0i = R0i.x; -backupReg1i = R127i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV0i.x),intBitsToFloat(backupReg0i)),vec4(uf_blockVS1[0].x,uf_blockVS1[0].y,uf_blockVS1[0].z,uf_blockVS1[0].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(backupReg1i))); -PS1i = R127i.x; -// 4 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(backupReg0i)),vec4(uf_blockVS1[1].x,uf_blockVS1[1].y,uf_blockVS1[1].z,uf_blockVS1[1].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R2i.x = PV1i.x; -PS0i = R2i.x; -// 5 -backupReg0i = R0i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(backupReg0i)),vec4(uf_blockVS1[2].x,uf_blockVS1[2].y,uf_blockVS1[2].z,uf_blockVS1[2].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R2i.y = PV0i.x; -PS1i = R2i.y; -// 6 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(R127i.x))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R8i.z))); -R2i.z = PV1i.x; -PV0i.z = R2i.z; -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.y), intBitsToFloat(R9i.y))); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.z), intBitsToFloat(R7i.z))); -// 7 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(PV0i.z),intBitsToFloat(R0i.y)),vec4(uf_blockVS1[8].x,uf_blockVS1[8].y,uf_blockVS1[8].z,uf_blockVS1[8].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.y = tempi.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R7i.x)) + intBitsToFloat(PS0i))); -PS1i = R127i.x; -// 8 -backupReg0i = R0i.y; -R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(uf_blockVS1[7].x,uf_blockVS1[7].y,uf_blockVS1[7].z,uf_blockVS1[7].w))); -PV0i.x = R1i.x; -PV0i.y = R1i.x; -PV0i.z = R1i.x; -PV0i.w = R1i.x; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(R9i.z)) + intBitsToFloat(R127i.w))); -PS0i = R0i.x; -// 9 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(uf_blockVS1[9].x,uf_blockVS1[9].y,uf_blockVS1[9].z,uf_blockVS1[9].w))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R1i.z = tempi.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R8i.x)) + intBitsToFloat(R127i.y))); -PS1i = R126i.x; -// 10 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),intBitsToFloat(backupReg0i)),vec4(uf_blockVS1[10].x,uf_blockVS1[10].y,uf_blockVS1[10].z,uf_blockVS1[10].w))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R1i.w = tempi.x; -PS0i = floatBitsToInt(-(intBitsToFloat(R1i.y))); -// 11 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R125i.x),-0.0),vec4(intBitsToFloat(R8i.x),intBitsToFloat(R8i.y),1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.y = tempi.x; -R6i.y = floatBitsToInt(intBitsToFloat(PS0i) + intBitsToFloat(PV0i.x)); -R6i.y = floatBitsToInt(intBitsToFloat(R6i.y) / 2.0); -PS1i = R6i.y; -// 12 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R124i.x),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R9i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R6i.z = R1i.z; -PS0i = R6i.z; -// 13 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R7i.y)) + intBitsToFloat(backupReg0i))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(R8i.y)) + intBitsToFloat(R126i.x))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(PV0i.x))); -R6i.w = R1i.w; -R6i.x = floatBitsToInt(intBitsToFloat(R1i.x) + intBitsToFloat(R1i.w)); -R6i.x = floatBitsToInt(intBitsToFloat(R6i.x) / 2.0); -PS1i = R6i.x; -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R127i.y)) + intBitsToFloat(PV1i.z))); -PV0i.x = R123i.x; -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.x),intBitsToFloat(R9i.x)) + intBitsToFloat(R0i.x))); -PV0i.z = R126i.z; -// 15 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.z))); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),intBitsToFloat(PV1i.x),-0.0),vec4(intBitsToFloat(R127i.x),intBitsToFloat(R126i.y),1.0,0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.y)); -PS0i = floatBitsToInt(tempResultf); -// 17 -backupReg0i = R127i.y; -backupReg1i = R127i.z; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PS0i))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(PS0i))); -PV1i.z = R127i.z; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 18 -backupReg0i = R126i.z; -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(PS1i))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockVS1[1].z)); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), uf_blockVS1[0].z)); -// 19 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(PS0i),-0.0),vec4(uf_blockVS1[0].x,uf_blockVS1[0].y,1.0,0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),uf_blockVS1[1].y) + intBitsToFloat(PV0i.w))); -PS1i = R122i.x; -// 20 -R4i.x = PV1i.x; -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.x),uf_blockVS1[1].x) + intBitsToFloat(PS1i))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), uf_blockVS1[1].y)); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), uf_blockVS1[2].z)); -PS0i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), uf_blockVS1[2].z)); -// 21 -R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.y),intBitsToFloat(PS0i),-0.0),vec4(uf_blockVS1[2].x,uf_blockVS1[2].y,1.0,0.0))); -PV1i.x = R127i.x; -PV1i.y = R127i.x; -PV1i.z = R127i.x; -PV1i.w = R127i.x; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),uf_blockVS1[1].z) + intBitsToFloat(PV0i.z))); -PS1i = R126i.x; -// 22 -R10i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(R126i.z),-0.0),vec4(uf_blockVS1[0].x,uf_blockVS1[0].y,uf_blockVS1[0].z,0.0))); -PV0i.x = R10i.x; -PV0i.y = R10i.x; -PV0i.z = R10i.x; -PV0i.w = R10i.x; -R4i.y = R126i.y; -PS0i = R4i.y; -// 23 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),uf_blockVS1[2].y) + intBitsToFloat(R127i.w))); -PV1i.x = R123i.x; -R10i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),uf_blockVS1[1].x) + intBitsToFloat(R126i.x))); -R4i.z = R127i.x; -// 24 -R10i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),uf_blockVS1[2].x) + intBitsToFloat(PV1i.x))); -// export -gl_Position = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -// export -passParameterSem4 = vec4(intBitsToFloat(R10i.x), intBitsToFloat(R10i.y), intBitsToFloat(R10i.z), intBitsToFloat(R10i.w)); -// export -passParameterSem7 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -// export -passParameterSem3 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -// export -passParameterSem6 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -} diff --git a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/95a6fa7649598084_0000000000000000_vs.txt b/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/95a6fa7649598084_0000000000000000_vs.txt deleted file mode 100644 index 5427d108..00000000 --- a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/95a6fa7649598084_0000000000000000_vs.txt +++ /dev/null @@ -1,353 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader 95a6fa7649598084 -// Used for: Fixing Nvidia water artifacts. -// Check rules.txt for documentation and when to enable. - - - - -uniform ivec4 uf_remappedVS[16]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem9; -layout(location = 5) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 0) out vec4 passParameterSem0; -layout(location = 4) out vec4 passParameterSem5; -layout(location = 3) out vec4 passParameterSem4; -layout(location = 1) out vec4 passParameterSem7; -layout(location = 2) out vec4 passParameterSem3; -layout(location = 5) out vec4 passParameterSem6; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R9f = vec4(0.0); -vec4 R122f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyzw = attrDataSem0.xyzw; -attrDecoder = ((attrDecoder>>8)&0xFF)|((attrDecoder<<8)&0xFF00); -attrDecoder.xyzw = floatBitsToInt(vec4(unpackHalf2x16(attrDecoder.x|(attrDecoder.y<<16)),unpackHalf2x16(attrDecoder.z|(attrDecoder.w<<16)))); -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.x = attrDataSem1.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xyzw = attrDataSem2.xyzw; -if( (attrDecoder.x&0x80) != 0 ) attrDecoder.x |= 0xFFFFFF00; -if( (attrDecoder.y&0x80) != 0 ) attrDecoder.y |= 0xFFFFFF00; -if( (attrDecoder.z&0x80) != 0 ) attrDecoder.z |= 0xFFFFFF00; -if( (attrDecoder.w&0x80) != 0 ) attrDecoder.w |= 0xFFFFFF00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/127.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/127.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/127.0,-1.0)); -attrDecoder.w = floatBitsToUint(max(float(int(attrDecoder.w))/127.0,-1.0)); -R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = ((attrDecoder.xy>>8)&0xFF)|((attrDecoder.xy<<8)&0xFF00); -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xy = floatBitsToUint(vec2(float(attrDecoder.x), float(attrDecoder.y))/65535.0); -attrDecoder.zw = uvec2(0); -R5f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xy = attrDataSem9.xy; -attrDecoder.xy = ((attrDecoder.xy>>8)&0xFF)|((attrDecoder.xy<<8)&0xFF00); -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xy = floatBitsToUint(vec2(float(attrDecoder.x), float(attrDecoder.y))/65535.0); -attrDecoder.zw = uvec2(0); -R6f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem12.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -// 0 -R8f.x = 1.0; -R7f.y = 1.0; -R127f.z = (mul_nonIEEE(R6f.x,intBitsToFloat(uf_remappedVS[0].x)) + intBitsToFloat(uf_remappedVS[1].x)); -R127f.w = 1.0; -PV0f.w = R127f.w; -R0f.x = (mul_nonIEEE(R6f.x,intBitsToFloat(uf_remappedVS[0].y)) + intBitsToFloat(uf_remappedVS[1].y)); -PS0f = R0f.x; -// 1 -R7f.x = dot(vec4(R3f.x,R3f.y,R3f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV1f.x = R7f.x; -PV1f.y = R7f.x; -PV1f.z = R7f.x; -PV1f.w = R7f.x; -R9f.w = R4f.w; -PS1f = R9f.w; -// 2 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -R127f.x = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[3].z)); -PS0f = R127f.x; -// 3 -backupReg0f = R3f.z; -tempf.x = dot(vec4(R3f.x,R3f.y,backupReg0f,R127f.w),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R3f.z = tempf.x; -R126f.x = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[4].z)); -PS1f = R126f.x; -// 4 -R124f.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),0.0)); -PV0f.x = R124f.x; -PV0f.y = R124f.x; -PV0f.z = R124f.x; -PV0f.w = R124f.x; -R125f.x = mul_nonIEEE(R4f.z, intBitsToFloat(uf_remappedVS[2].z)); -PS0f = R125f.x; -// 5 -tempf.x = dot(vec4(R2f.x,R2f.y,R127f.x,-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),1.0,0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.y = tempf.x; -R122f.x = (mul_nonIEEE(R2f.y,intBitsToFloat(uf_remappedVS[4].y)) + R126f.x); -PS1f = R122f.x; -// 6 -R123f.x = (mul_nonIEEE(R4f.y,intBitsToFloat(uf_remappedVS[2].y)) + R125f.x); -PV0f.x = R123f.x; -R126f.z = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedVS[4].x)) + PS1f); -PV0f.z = R126f.z; -PS0f = mul_nonIEEE(R4f.y, intBitsToFloat(uf_remappedVS[4].y)); -// 7 -R127f.x = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[2].x)) + PV0f.x); -PV1f.y = mul_nonIEEE(PV0f.z, PV0f.z); -R125f.x = (mul_nonIEEE(R4f.z,intBitsToFloat(uf_remappedVS[4].z)) + PS0f); -PS1f = R125f.x; -// 8 -tempf.x = dot(vec4(R4f.x,R4f.y,R4f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R126f.y = tempf.x; -R122f.x = (mul_nonIEEE(R127f.y,R127f.y) + PV1f.y); -PS0f = R122f.x; -// 9 -backupReg0f = R125f.x; -R125f.x = (mul_nonIEEE(R6f.y,intBitsToFloat(uf_remappedVS[0].z)) + R127f.z); -R127f.z = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[4].x)) + backupReg0f); -PV1f.z = R127f.z; -R123f.w = (mul_nonIEEE(R124f.x,R124f.x) + PS0f); -PV1f.w = R123f.w; -// 10 -tempf.x = dot(vec4(R127f.x,R126f.y,PV1f.z,-0.0),vec4(R127f.x,R126f.y,PV1f.z,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -tempResultf = 1.0 / sqrt(PV1f.w); -PS0f = tempResultf; -// 11 -R2f.x = mul_nonIEEE(R124f.x, PS0f); -R2f.y = mul_nonIEEE(R127f.y, PS0f); -R2f.z = mul_nonIEEE(R126f.z, PS0f); -R127f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[5].x)) + intBitsToFloat(uf_remappedVS[6].x)); -tempResultf = 1.0 / sqrt(PV0f.x); -PS1f = tempResultf; -// 12 -R3f.x = mul_nonIEEE(R127f.x, PS1f); -R3f.y = mul_nonIEEE(R126f.y, PS1f); -R0f.z = mul_nonIEEE(R127f.z, PS1f); -R123f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedVS[5].y)) + intBitsToFloat(uf_remappedVS[6].y)); -PV0f.w = R123f.w; -R4f.z = R125f.x; -PS0f = R4f.z; -// 13 -R4f.x = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[5].z)) + R127f.w); -R4f.y = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedVS[5].w)) + PV0f.w); -R123f.z = (mul_nonIEEE(R6f.y,intBitsToFloat(uf_remappedVS[0].w)) + R0f.x); -PV1f.z = R123f.z; -// 14 -R123f.x = (mul_nonIEEE(R6f.x,intBitsToFloat(uf_remappedVS[7].y)) + intBitsToFloat(uf_remappedVS[8].y)); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R6f.x,intBitsToFloat(uf_remappedVS[7].x)) + intBitsToFloat(uf_remappedVS[8].x)); -PV0f.y = R123f.y; -R4f.w = PV1f.z; -// 15 -backupReg0f = R6f.y; -R6f.x = (mul_nonIEEE(R6f.y,intBitsToFloat(uf_remappedVS[7].z)) + PV0f.y); -R6f.y = (mul_nonIEEE(backupReg0f,intBitsToFloat(uf_remappedVS[7].w)) + PV0f.x); -// export -passParameterSem0 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -// export -passParameterSem5 = vec4(R1f.x, R1f.y, R1f.z, 1.0); // = "workaround" -// export -// skipped export to semanticId 255 -// 0 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R7f.x,backupReg0f,R3f.z,R8f.x),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.x = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[9].z)); -PS0f = R127f.x; -// 1 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R7f.x,backupReg0f,R3f.z,R8f.x),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R1f.x = PV0f.x; -PS1f = R1f.x; -// 2 -backupReg0f = R0f.y; -tempf.x = dot(vec4(R7f.x,backupReg0f,R3f.z,R8f.x),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R1f.y = PV1f.x; -PS0f = R1f.y; -// 3 -backupReg0f = R127f.x; -R127f.x = (mul_nonIEEE(R2f.y,intBitsToFloat(uf_remappedVS[9].y)) + backupReg0f); -R126f.y = mul_nonIEEE(R3f.y, intBitsToFloat(uf_remappedVS[9].y)); -R1f.z = PV0f.x; -PV1f.z = R1f.z; -R127f.w = mul_nonIEEE(R0f.z, intBitsToFloat(uf_remappedVS[10].z)); -R125f.x = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[10].z)); -PS1f = R125f.x; -// 4 -tempf.x = dot(vec4(R1f.x,R1f.y,PV1f.z,R7f.y),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R8f.y = tempf.x; -// 5 -R8f.x = dot(vec4(R1f.x,R1f.y,R1f.z,R7f.y),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w))); -PV1f.x = R8f.x; -PV1f.y = R8f.x; -PV1f.z = R8f.x; -PV1f.w = R8f.x; -R127f.z = -(PV0f.x); -PS1f = R127f.z; -// 6 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R7f.y),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R8f.z = tempf.x; -// 7 -tempf.x = dot(vec4(R1f.x,R1f.y,R1f.z,R7f.y),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R8f.w = tempf.x; -R7f.z = PV0f.x; -PS1f = R7f.z; -// 8 -R123f.x = (mul_nonIEEE(R2f.y,intBitsToFloat(uf_remappedVS[10].y)) + R125f.x); -PV0f.x = R123f.x; -R123f.y = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedVS[9].x)) + R127f.x); -PV0f.y = R123f.y; -R7f.w = PV1f.x; -R122f.x = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedVS[10].y)) + R127f.w); -PS0f = R122f.x; -// 9 -R123f.x = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedVS[10].x)) + PV0f.x); -PV1f.x = R123f.x; -R9f.y = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedVS[10].x)) + PS0f); -R6f.w = PV0f.y; -R127f.x = (mul_nonIEEE(R0f.z,intBitsToFloat(uf_remappedVS[9].z)) + R126f.y); -PS1f = R127f.x; -// 10 -tempf.x = dot(vec4(R2f.x,R2f.y,R2f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R6f.y = PV1f.x; -PS0f = R6f.y; -// 11 -R9f.x = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedVS[9].x)) + R127f.x); -R7f.y = R127f.z + R8f.w; -R7f.y /= 2.0; -R6f.z = PV0f.x; -PV1f.w = mul_nonIEEE(R0f.z, intBitsToFloat(uf_remappedVS[11].z)); -R7f.x = R8f.x + R8f.w; -R7f.x /= 2.0; -PS1f = R7f.x; -// 12 -tempf.x = dot(vec4(R3f.x,R3f.y,PV1f.w,-0.0),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),1.0,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R9f.z = tempf.x; -// export -gl_Position = vec4(R8f.x, R8f.y, R8f.z, R8f.w); -// export -passParameterSem4 = vec4(R9f.x, R9f.y, R9f.z, R9f.w); -// export -passParameterSem7 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); -// export -passParameterSem3 = vec4(R6f.w, R6f.y, R6f.z, R6f.w); -// export -passParameterSem6 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -} diff --git a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/c6c67c24e7df1604_0000000000000000_vs.txt b/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/c6c67c24e7df1604_0000000000000000_vs.txt deleted file mode 100644 index 73c4b4ce..00000000 --- a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/c6c67c24e7df1604_0000000000000000_vs.txt +++ /dev/null @@ -1,306 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -#extension GL_ARB_shading_language_packing : enable -// shader c6c67c24e7df1604 -// Used for: Fixing Nvidia ground(?) artifacts. -// BREAKS WHOLE GAME, SHADER DOESN'T DO ANYTHING -// Check rules.txt for documentation and when to enable. - - - -uniform ivec4 uf_remappedVS[10]; -uniform vec2 uf_windowSpaceToClipSpaceTransform; -layout(location = 0) in uvec4 attrDataSem0; -layout(location = 1) in uvec4 attrDataSem1; -layout(location = 2) in uvec4 attrDataSem2; -layout(location = 3) in uvec4 attrDataSem8; -layout(location = 4) in uvec4 attrDataSem12; -out gl_PerVertex -{ - vec4 gl_Position; - float gl_PointSize; -}; -layout(location = 2) out vec4 passParameterSem4; -layout(location = 3) out vec4 passParameterSem5; -layout(location = 4) out vec4 passParameterSem7; -layout(location = 1) out vec4 passParameterSem3; -layout(location = 0) out vec4 passParameterSem0; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} -void main() -{ -vec4 R0f = vec4(0.0); -vec4 R1f = vec4(0.0); -vec4 R2f = vec4(0.0); -vec4 R3f = vec4(0.0); -vec4 R4f = vec4(0.0); -vec4 R5f = vec4(0.0); -vec4 R6f = vec4(0.0); -vec4 R7f = vec4(0.0); -vec4 R8f = vec4(0.0); -vec4 R122f = vec4(0.0); -vec4 R123f = vec4(0.0); -vec4 R124f = vec4(0.0); -vec4 R125f = vec4(0.0); -vec4 R126f = vec4(0.0); -vec4 R127f = vec4(0.0); -uvec4 attrDecoder; -float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; -vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); -float PS0f = 0.0, PS1f = 0.0; -vec4 tempf = vec4(0.0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID)); -attrDecoder.xyz = attrDataSem0.xyz; -attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); -attrDecoder.w = 0; -R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.x = attrDataSem1.x; -attrDecoder.x = (attrDecoder.x>>24)|((attrDecoder.x>>8)&0xFF00)|((attrDecoder.x<<8)&0xFF0000)|((attrDecoder.x<<24)); -attrDecoder.y = 0; -attrDecoder.z = 0; -attrDecoder.w = 0; -attrDecoder.xyzw = uvec4((attrDecoder.x>>0)&0x3FF,(attrDecoder.x>>10)&0x3FF,(attrDecoder.x>>20)&0x3FF,(attrDecoder.x>>30)&0x3); -if( (attrDecoder.x&0x200) != 0 ) attrDecoder.x |= 0xFFFFFC00; -if( (attrDecoder.y&0x200) != 0 ) attrDecoder.y |= 0xFFFFFC00; -if( (attrDecoder.z&0x200) != 0 ) attrDecoder.z |= 0xFFFFFC00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/511.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/511.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/511.0,-1.0)); -attrDecoder.w = floatBitsToUint(float(attrDecoder.w)); -R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xyzw = attrDataSem2.xyzw; -if( (attrDecoder.x&0x80) != 0 ) attrDecoder.x |= 0xFFFFFF00; -if( (attrDecoder.y&0x80) != 0 ) attrDecoder.y |= 0xFFFFFF00; -if( (attrDecoder.z&0x80) != 0 ) attrDecoder.z |= 0xFFFFFF00; -if( (attrDecoder.w&0x80) != 0 ) attrDecoder.w |= 0xFFFFFF00; -attrDecoder.x = floatBitsToUint(max(float(int(attrDecoder.x))/127.0,-1.0)); -attrDecoder.y = floatBitsToUint(max(float(int(attrDecoder.y))/127.0,-1.0)); -attrDecoder.z = floatBitsToUint(max(float(int(attrDecoder.z))/127.0,-1.0)); -attrDecoder.w = floatBitsToUint(max(float(int(attrDecoder.w))/127.0,-1.0)); -R4f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -attrDecoder.xy = attrDataSem8.xy; -attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24)); -attrDecoder.z = 0; -attrDecoder.w = 0; -R5f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0))); -attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem12.xyzw)/255.0); -R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w))); -// 0 -R126f.x = 1.0; -R126f.y = 1.0; -PV0f.z = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[0].z)); -R127f.w = 1.0; -PV0f.w = R127f.w; -R6f.w = R4f.w; -PS0f = R6f.w; -// 1 -R127f.x = dot(vec4(R3f.x,R3f.y,R3f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))); -PV1f.x = R127f.x; -PV1f.y = R127f.x; -PV1f.z = R127f.x; -PV1f.w = R127f.x; -R125f.x = (mul_nonIEEE(R2f.y,intBitsToFloat(uf_remappedVS[0].y)) + PV0f.z); -PS1f = R125f.x; -// 2 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R127f.y = tempf.x; -R124f.x = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[1].z)); -PS0f = R124f.x; -// 3 -tempf.x = dot(vec4(R3f.x,R3f.y,R3f.z,R127f.w),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R127f.z = tempf.x; -R3f.x = mul_nonIEEE(R2f.z, intBitsToFloat(uf_remappedVS[2].z)); -PS1f = R3f.x; -// 4 -tempf.x = dot(vec4(R127f.x,R127f.y,PV1f.x,R126f.x),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -// 5 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.x),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R8f.x = PV0f.x; -PS1f = R8f.x; -// 6 -tempf.x = dot(vec4(R127f.x,R127f.y,R127f.z,R126f.x),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R8f.y = PV1f.x; -PS0f = R8f.y; -// 7 -R127f.x = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedVS[0].x)) + R125f.x); -R127f.y = mul_nonIEEE(R4f.y, intBitsToFloat(uf_remappedVS[0].y)); -R8f.z = PV0f.x; -PV1f.z = R8f.z; -R127f.w = mul_nonIEEE(R4f.y, intBitsToFloat(uf_remappedVS[1].y)); -R125f.x = (mul_nonIEEE(R2f.y,intBitsToFloat(uf_remappedVS[1].y)) + R124f.x); -PS1f = R125f.x; -// 8 -tempf.x = dot(vec4(R8f.x,R8f.y,PV1f.z,R126f.y),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.y = tempf.x; -// 9 -R0f.x = dot(vec4(R8f.x,R8f.y,R8f.z,R126f.y),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))); -PV1f.x = R0f.x; -PV1f.y = R0f.x; -PV1f.z = R0f.x; -PV1f.w = R0f.x; -R124f.x = -(PV0f.x); -PS1f = R124f.x; -// 10 -tempf.x = dot(vec4(R8f.x,R8f.y,R8f.z,R126f.y),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R0f.z = tempf.x; -// 11 -tempf.x = dot(vec4(R8f.x,R8f.y,R8f.z,R126f.y),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -R0f.w = tempf.x; -R7f.z = PV0f.x; -PS1f = R7f.z; -// 12 -R123f.x = (mul_nonIEEE(R2f.y,intBitsToFloat(uf_remappedVS[2].y)) + R3f.x); -PV0f.x = R123f.x; -R126f.y = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedVS[1].x)) + R125f.x); -R7f.w = PV1f.x; -PS0f = mul_nonIEEE(R4f.y, intBitsToFloat(uf_remappedVS[2].y)); -// 13 -R123f.x = (mul_nonIEEE(R4f.z,intBitsToFloat(uf_remappedVS[0].z)) + R127f.y); -PV1f.x = R123f.x; -R7f.y = R124f.x + R0f.w; -R7f.y /= 2.0; -R127f.z = (mul_nonIEEE(R2f.x,intBitsToFloat(uf_remappedVS[2].x)) + PV0f.x); -PV1f.z = R127f.z; -R124f.x = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[2].x)) + PS0f); -PS1f = R124f.x; -// 14 -R125f.x = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[0].x)) + PV1f.x); -PV0f.y = mul_nonIEEE(PV1f.z, PV1f.z); -R122f.x = (mul_nonIEEE(R4f.z,intBitsToFloat(uf_remappedVS[1].z)) + R127f.w); -PS0f = R122f.x; -// 15 -R123f.x = (mul_nonIEEE(R126f.y,R126f.y) + PV0f.y); -PV1f.x = R123f.x; -R127f.y = (mul_nonIEEE(R4f.x,intBitsToFloat(uf_remappedVS[1].x)) + PS0f); -R126f.z = (mul_nonIEEE(R4f.z,intBitsToFloat(uf_remappedVS[2].z)) + R124f.x); -PV1f.z = R126f.z; -R7f.x = R0f.x + R0f.w; -R7f.x /= 2.0; -PS1f = R7f.x; -// 16 -PV0f.x = mul_nonIEEE(PV1f.z, PV1f.z); -R123f.y = (mul_nonIEEE(R127f.x,R127f.x) + PV1f.x); -PV0f.y = R123f.y; -// 17 -tempf.x = dot(vec4(R125f.x,R127f.y,PV0f.x,-0.0),vec4(R125f.x,R127f.y,1.0,0.0)); -PV1f.x = tempf.x; -PV1f.y = tempf.x; -PV1f.z = tempf.x; -PV1f.w = tempf.x; -tempResultf = 1.0 / sqrt(PV0f.y); -PS1f = tempResultf; -// 18 -backupReg0f = R127f.x; -backupReg1f = R126f.y; -backupReg2f = R127f.z; -R127f.x = mul_nonIEEE(backupReg0f, PS1f); -R126f.y = mul_nonIEEE(backupReg1f, PS1f); -R127f.z = mul_nonIEEE(backupReg2f, PS1f); -PV0f.z = R127f.z; -tempResultf = 1.0 / sqrt(PV1f.x); -PS0f = tempResultf; -// 19 -backupReg0f = R126f.z; -R124f.x = mul_nonIEEE(R125f.x, PS0f); -R125f.y = mul_nonIEEE(R127f.y, PS0f); -R126f.z = mul_nonIEEE(backupReg0f, PS0f); -PV1f.w = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedVS[4].z)); -PS1f = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedVS[3].z)); -// 20 -tempf.x = dot(vec4(R127f.x,R126f.y,PS1f,-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),1.0,0.0)); -PV0f.x = tempf.x; -PV0f.y = tempf.x; -PV0f.z = tempf.x; -PV0f.w = tempf.x; -R122f.x = (mul_nonIEEE(R126f.y,intBitsToFloat(uf_remappedVS[4].y)) + PV1f.w); -PS0f = R122f.x; -// 21 -R4f.x = PV0f.x; -R127f.y = (mul_nonIEEE(R127f.x,intBitsToFloat(uf_remappedVS[4].x)) + PS0f); -PV1f.z = mul_nonIEEE(R125f.y, intBitsToFloat(uf_remappedVS[4].y)); -R127f.w = mul_nonIEEE(R126f.z, intBitsToFloat(uf_remappedVS[5].z)); -PS1f = mul_nonIEEE(R127f.z, intBitsToFloat(uf_remappedVS[5].z)); -// 22 -R125f.x = dot(vec4(R127f.x,R126f.y,PS1f,-0.0),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),1.0,0.0)); -PV0f.x = R125f.x; -PV0f.y = R125f.x; -PV0f.z = R125f.x; -PV0f.w = R125f.x; -R127f.x = (mul_nonIEEE(R126f.z,intBitsToFloat(uf_remappedVS[4].z)) + PV1f.z); -PS0f = R127f.x; -// 23 -R6f.x = dot(vec4(R124f.x,R125f.y,R126f.z,-0.0),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),0.0)); -PV1f.x = R6f.x; -PV1f.y = R6f.x; -PV1f.z = R6f.x; -PV1f.w = R6f.x; -R4f.y = R127f.y; -PS1f = R4f.y; -// 24 -R123f.x = (mul_nonIEEE(R125f.y,intBitsToFloat(uf_remappedVS[5].y)) + R127f.w); -PV0f.x = R123f.x; -R6f.y = (mul_nonIEEE(R124f.x,intBitsToFloat(uf_remappedVS[4].x)) + R127f.x); -R4f.z = R125f.x; -// 25 -R6f.z = (mul_nonIEEE(R124f.x,intBitsToFloat(uf_remappedVS[5].x)) + PV0f.x); -// export -gl_Position = vec4(R0f.x, R0f.y, R0f.z, R0f.z); // "workaround" (has side-effect of destroying the game...) -// export -passParameterSem4 = vec4(R6f.x, R6f.y, R6f.z, R6f.w); -// export -passParameterSem5 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); -// export -passParameterSem7 = vec4(R7f.x, R7f.y, R7f.z, R7f.w); -// export -passParameterSem3 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); -// export -passParameterSem0 = vec4(R5f.x, R5f.y, R5f.x, R5f.y); -// export -// skipped export to semanticId 255 -} diff --git a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/rules.txt b/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/rules.txt deleted file mode 100644 index 84502b04..00000000 --- a/Workaround/BreathOfTheWild_NVIDIAGlitchArtifacts/rules.txt +++ /dev/null @@ -1,23 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - NVIDIA Glitch Artifacts Workaround" -version = 2 - -# This pack contains a workaround for the glitch/blockish artifacts found on lava, water or reflections. -# However, this pack can cause tile transition issues which don't appear to transition smoothly. -# If you experience these issues, it's recommended to enable this pack. Otherwise, don't. -# This bug (and graphic pack) only affects GPU's from the Maxwell or Pascal generation (roughly everything above GTX 700). - -# Images of issue: -# https://cdn.discordapp.com/attachments/207547103726010368/372217955741597706/unknown.png -# https://cdn.discordapp.com/attachments/207547103726010368/372220915012075520/unknown.png -# https://cdn.discordapp.com/attachments/292733452590120961/433211809898561536/unknown.png - -# Image of tile transition issue: -# https://cdn.discordapp.com/attachments/292733452590120961/433019304955609098/unknown.png - - -# This graphic pack is made as an easy to install alternative to this fix by Flocker: -# https://www.reddit.com/r/cemu/comments/6qwmon/got_blocky_artifacts_in_lava_water_and_other/ -# The difference is that this fix reduces it, while it doesn't have the tile transition issue. -# It also requires an external program and might reset itself on a driver installation (unlikely). \ No newline at end of file diff --git a/Workaround/BreathOfTheWild_NVIDIASmoke/rules.txt b/Workaround/BreathOfTheWild_NVIDIASmoke/rules.txt deleted file mode 100644 index 589cfe9d..00000000 --- a/Workaround/BreathOfTheWild_NVIDIASmoke/rules.txt +++ /dev/null @@ -1,8 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - NVIDIA Explosion Smoke" -version = 2 - -# A quick found by Rajkosto, Xalphenos, Darkemaste -# Partially fix thin paper look explosion smoke on nvdia when using AccurateShaderMul = true -# Shaders dumped from Cemu 1.10.0f and BotW 1.3.1 \ No newline at end of file diff --git a/Workaround/BreathOfTheWild_SquareShadowsFix/rules.txt b/Workaround/BreathOfTheWild_SquareShadowsFix/rules.txt deleted file mode 100644 index e816cf95..00000000 --- a/Workaround/BreathOfTheWild_SquareShadowsFix/rules.txt +++ /dev/null @@ -1,8 +0,0 @@ -[Definition] -titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 -name = "The Legend of Zelda: Breath of the Wild - Square Kakariko Torch Shadows Fix" -version = 2 - -# Workaround for the square shadows seen around torches in Kakariko Village -# found by Kiri -# Shaders dumped from Cemu 1.11.0b and BotW 1.3.1 \ No newline at end of file diff --git a/Workaround/ColorSplash_30FPS/rules.txt b/Workaround/ColorSplash_30FPS/rules.txt deleted file mode 100644 index c604d353..00000000 --- a/Workaround/ColorSplash_30FPS/rules.txt +++ /dev/null @@ -1,7 +0,0 @@ -[Definition] -titleIds = 000500001F600900,000500001F600A00,000500001F600B00 -name = "Paper Mario: Color Splash - 30FPS Lock" -version = 2 - -[Control] -vsyncFrequency = 30 diff --git a/Workaround/HyruleWarriors_30FPS/rules.txt b/Workaround/HyruleWarriors_30FPS/rules.txt deleted file mode 100644 index 6917142a..00000000 --- a/Workaround/HyruleWarriors_30FPS/rules.txt +++ /dev/null @@ -1,7 +0,0 @@ -[Definition] -titleIds = 000500001017D800,000500001017D900,000500001017CD00 -name = "Hyrule Warriors - 30FPS Lock" -version = 2 - -[Control] -vsyncFrequency = 30 diff --git a/Workaround/HyruleWarriors_DLCFix/patches.txt b/Workaround/HyruleWarriors_DLCFix/patches.txt deleted file mode 100644 index bc9e51e4..00000000 --- a/Workaround/HyruleWarriors_DLCFix/patches.txt +++ /dev/null @@ -1,38 +0,0 @@ -[HWDLCFixv208] -# thanks to MelonSpeedruns for testing! -moduleMatches = 0xE159AE91 - -# CDLCManager::bIsValidDLCCostume -0x216F97C = li r3, 1 -0x216F980 = blr - -# CDLCManager::bIsValidDLCBushou -0x216F9D8 = li r3, 1 -0x216F9DC = blr - -# CDLCManager::bIsValidDLCWeaponType -0x216FA18 = li r3, 1 -0x216FA1C = blr - -# CDLCManager::bIsValidDLCWeapon -0x216FA58 = li r3, 1 -0x216FA5C = blr - -# CDLCManager::bIsValidDLCAdventureMap -0x216FA98 = li r3, 1 -0x216FA9C = blr - -# CDLCManager::bIsValidDLCScenario -0x216FAD8 = li r3, 1 -0x216FADC = blr - -# CDLCManager::bIsValidDLCBossChallengeMode -0x216FB28 = li r3, 1 -0x216FB2C = blr - -# CDLCManager::bIsValidDLCGanonPlayMode -0x216FB40 = li r3, 1 -0x216FB44 = blr - -# CDLCManager::CheckThreadMainWiiU -0x216F23C = blr diff --git a/Workaround/HyruleWarriors_DLCFix/rules.txt b/Workaround/HyruleWarriors_DLCFix/rules.txt deleted file mode 100644 index 6d2ecdc9..00000000 --- a/Workaround/HyruleWarriors_DLCFix/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 000500001017D800,000500001017D900,000500001017CD00 -name = "Hyrule Warriors - DLC Fix" -version = 2 diff --git a/Workaround/HyruleWarriors_DoFBlurRemoval/patches.txt b/Workaround/HyruleWarriors_DoFBlurRemoval/patches.txt deleted file mode 100644 index e29435eb..00000000 --- a/Workaround/HyruleWarriors_DoFBlurRemoval/patches.txt +++ /dev/null @@ -1,18 +0,0 @@ -[HWBlurRemovalv208] -moduleMatches = 0xE159AE91 - -codeCaveSize = 0x20 - -# function that nulls out fields meant to be set by ktgl::CCafeGraphicsDevice::GetViewport -_nullViewport = 0x00000000 -0x00000000 = li r4, 0 -0x00000004 = stw r4, 0x0(r3) -0x00000008 = stw r4, 0x4(r3) -0x0000000C = stw r4, 0x8(r3) -0x00000010 = stw r4, 0xC(r3) -0x00000014 = stw r4, 0x10(r3) -0x00000018 = stw r4, 0x14(r3) -0x0000001C = blr - -# patch DoF call to ktgl::CCafeGraphicsDevice::GetViewport to use our nulling out function instead -0x02878FAC = bla _nullViewport diff --git a/Workaround/HyruleWarriors_DoFBlurRemoval/rules.txt b/Workaround/HyruleWarriors_DoFBlurRemoval/rules.txt deleted file mode 100644 index 3ecd1b5b..00000000 --- a/Workaround/HyruleWarriors_DoFBlurRemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 000500001017D800,000500001017D900,000500001017CD00 -name = "Hyrule Warriors - DoF Blur Removal" -version = 2 diff --git a/Workaround/HyruleWarriors_EnemyDeathFix/6e8a52b2c5236e90_0000000001fffe49_ps.txt b/Workaround/HyruleWarriors_EnemyDeathFix/6e8a52b2c5236e90_0000000001fffe49_ps.txt deleted file mode 100644 index 659cdba6..00000000 --- a/Workaround/HyruleWarriors_EnemyDeathFix/6e8a52b2c5236e90_0000000001fffe49_ps.txt +++ /dev/null @@ -1,714 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader 6e8a52b2c5236e90 -uniform ivec4 uf_remappedPS[16]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x21304000 res 512x512x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x212d7000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x21280000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 -layout(location = 0) in vec4 passParameterSem64; -layout(location = 1) in vec4 passParameterSem65; -layout(location = 2) in vec4 passParameterSem66; -layout(location = 3) in vec4 passParameterSem67; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 3) out vec4 passPixelColor3; -uniform vec2 uf_fragCoordScale; -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R7i = ivec4(0); -ivec4 R8i = ivec4(0); -ivec4 R9i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -R0i = floatBitsToInt(passParameterSem64); -R1i = floatBitsToInt(passParameterSem65); -R2i = floatBitsToInt(passParameterSem66); -R3i = floatBitsToInt(passParameterSem67); -if( activeMaskStackC[1] == true ) { -R5i.xyzw = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R0i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R1i.w = floatBitsToInt(intBitsToFloat(R5i.w) + -(intBitsToFloat(0x3ec8c8cd))); -// 1 -predResult = (0.0 >= intBitsToFloat(R1i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -if( (0 == 0)) discard; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(texture(textureUnitPS1, intBitsToFloat(R0i.wz)).xyz); -R0i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x40008102) + -(intBitsToFloat(0x3f810204)))); -PS0i = R127i.z; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS1i))); -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PS1i))); -R125i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -R126i.w = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x40008102) + -(intBitsToFloat(0x3f810204)))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 3 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS0i))); -PV1i.x = R127i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS0i))); -PV1i.y = R127i.y; -R124i.z = floatBitsToInt((intBitsToFloat(R4i.z) * intBitsToFloat(0x40008102) + -(intBitsToFloat(0x3f810204)))); -R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PS0i))); -PV1i.w = R127i.w; -R4i.x = floatBitsToInt(intBitsToFloat(R5i.y) * 1.0); -PS1i = R4i.x; -// 4 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PV1i.x))); -R124i.w = floatBitsToInt(intBitsToFloat(R5i.z) * 1.0); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[0].w)) + intBitsToFloat(uf_remappedPS[0].x))); -R122i.x = clampFI32(R122i.x); -PS0i = R122i.x; -// 5 -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) * 1.0); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.z)),intBitsToFloat(R127i.x)) + intBitsToFloat(PV0i.x))); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.x)),intBitsToFloat(R127i.y)) + intBitsToFloat(PV0i.y))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.y)),intBitsToFloat(R127i.w)) + intBitsToFloat(PV0i.z))); -PV1i.w = R123i.w; -R125i.w = floatBitsToInt(intBitsToFloat(PS0i) * 1.0); -PS1i = R125i.w; -// 6 -backupReg0i = R0i.y; -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.w))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.y))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV1i.z))); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(PS1i))); -PS0i = R126i.x; -// 7 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(uf_remappedPS[1].y))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(R127i.z))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(R127i.z))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(R127i.z))); -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(uf_remappedPS[1].z))); -PS1i = R127i.z; -// 8 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R126i.w)) + intBitsToFloat(PV1i.w))); -PV0i.x = R123i.x; -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(uf_remappedPS[2].y))); -PV0i.y = R127i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R126i.w)) + intBitsToFloat(PV1i.y))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.x),intBitsToFloat(R126i.w)) + intBitsToFloat(PV1i.z))); -PV0i.w = R123i.w; -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(uf_remappedPS[2].z))); -PS0i = R124i.y; -// 9 -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.x))); -PV1i.x = R9i.x; -R7i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.w))); -PV1i.y = R7i.y; -R6i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R124i.z)) + intBitsToFloat(PV0i.z))); -PV1i.z = R6i.z; -R127i.w = floatBitsToInt(intBitsToFloat(R124i.x) + -(intBitsToFloat(R127i.z))); -R126i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + -(intBitsToFloat(PS0i))); -PS1i = R126i.w; -// 10 -backupReg0i = R0i.x; -backupReg1i = R125i.w; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[3].x),intBitsToFloat(uf_remappedPS[3].y),intBitsToFloat(uf_remappedPS[3].z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i))); -PS0i = R124i.z; -// 11 -R125i.x = floatBitsToInt(intBitsToFloat(R124i.x) + -(intBitsToFloat(R127i.z))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[4].y)) + intBitsToFloat(uf_remappedPS[5].y))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(uf_remappedPS[4].x)) + intBitsToFloat(uf_remappedPS[5].x))); -R5i.w = ((intBitsToFloat(R127i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.w = R5i.w; -PS1i = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R124i.x))); -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(uf_remappedPS[4].z)) + intBitsToFloat(uf_remappedPS[5].z))); -PV0i.x = R123i.x; -R125i.y = floatBitsToInt(intBitsToFloat(R127i.y) + -(intBitsToFloat(R124i.y))); -R5i.z = ((intBitsToFloat(R126i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.z = R5i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R124i.y) + -(intBitsToFloat(R127i.y))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.w)) + intBitsToFloat(R124i.x))); -PS0i = R0i.y; -// 13 -backupReg0i = R125i.x; -backupReg1i = R127i.z; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.z)) + intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedPS[6].z)); -PV1i.z = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(uf_remappedPS[6].y)); -PV1i.w = floatBitsToInt(intBitsToFloat(R125i.z) + intBitsToFloat(uf_remappedPS[6].x)); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R5i.w)) + intBitsToFloat(backupReg1i))); -PS1i = R127i.z; -// 14 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(uf_remappedPS[7].x)) + 0.0)); -PV0i.x = R123i.x; -R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R5i.z)) + intBitsToFloat(R124i.y))); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[7].z)) + 0.0)); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(uf_remappedPS[7].y)) + 0.0)); -PV0i.w = R123i.w; -R1i.w = R0i.y; -PS0i = R1i.w; -// 15 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(uf_remappedPS[8].y)); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedPS[8].x)); -R126i.z = backupReg0i; -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(uf_remappedPS[8].z)); -R3i.z = R127i.z; -PS1i = R3i.z; -// 16 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + 0.0); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + 0.0); -PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + 0.0); -R2i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_remappedPS[1].x))); -PV0i.w = R2i.w; -R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(uf_remappedPS[2].x))); -PS0i = R7i.x; -// 17 -R5i.x = PV0i.w; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(PV0i.x)) + 0.0)); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.x),intBitsToFloat(PV0i.y)) + 0.0)); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.z)) + 0.0)); -PV1i.w = R123i.w; -R125i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(R127i.z))); -PS1i = R125i.y; -// 18 -R2i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + 0.0); -PV0i.x = R2i.x; -R6i.y = R125i.x; -R124i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + 0.0); -PV0i.z = R124i.z; -R126i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + 0.0); -PV0i.w = R126i.w; -R6i.x = R7i.x; -PS0i = R6i.x; -// 19 -R0i.x = PV0i.x; -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(PV0i.z))); -R125i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + -(intBitsToFloat(PV0i.w))); -R124i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + -(intBitsToFloat(PV0i.z))); -R0i.w = R125i.x; -PS1i = R0i.w; -// 20 -R123i.x = ((intBitsToFloat(PV1i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.x = R123i.x; -R5i.y = R2i.y; -R4i.z = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R2i.y))); -R4i.w = R127i.z; -R8i.x = ((intBitsToFloat(R125i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PS0i = R8i.x; -// 21 -R3i.x = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(0x3f2aaaab)); -R3i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + -(1.0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(PV0i.x)) + intBitsToFloat(R126i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(PV0i.x)) + intBitsToFloat(R124i.z))); -PV1i.w = R123i.w; -R2i.z = floatBitsToInt(intBitsToFloat(R126i.z) + -(intBitsToFloat(R1i.w))); -PS1i = R2i.z; -// 22 -R4i.x = PV1i.z; -R0i.y = PV1i.z; -R0i.z = floatBitsToInt(intBitsToFloat(R2i.x) + -(intBitsToFloat(PV1i.w))); -R3i.w = PV1i.w; -R4i.y = PV1i.w; -PS0i = R4i.y; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.x; -PV0i.x = floatBitsToInt(intBitsToFloat(R3i.w) + -(intBitsToFloat(backupReg0i))); -R124i.y = ((intBitsToFloat(R0i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.y = R124i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R2i.x) + -(intBitsToFloat(R4i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(R4i.x))); -R125i.x = R3i.y; -PS0i = R125i.x; -// 1 -backupReg0i = R0i.x; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(R4i.y))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i))); -PV1i.y = R125i.y; -R126i.z = R3i.x; -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(R4i.x))); -PV1i.w = R126i.w; -R125i.w = R2i.y; -PS1i = R125i.w; -// 2 -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.y))); -PV0i.y = floatBitsToInt(intBitsToFloat(R3i.z) + -(intBitsToFloat(R5i.x))); -PV0i.z = floatBitsToInt(intBitsToFloat(R0i.w) + -(intBitsToFloat(R6i.y))); -R127i.w = ((intBitsToFloat(R4i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.w = R127i.w; -R124i.w = floatBitsToInt(intBitsToFloat(R5i.y) + -(intBitsToFloat(R6i.x))); -PS0i = R124i.w; -// 3 -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R8i.x)) + intBitsToFloat(R5i.x))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.w)) + intBitsToFloat(R6i.y))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.z),intBitsToFloat(R8i.x)) + intBitsToFloat(R1i.w))); -R1i.w = floatBitsToInt(intBitsToFloat(R0i.x) + -(intBitsToFloat(PV0i.x))); -PV1i.w = R1i.w; -R125i.z = floatBitsToInt(-(intBitsToFloat(R126i.w)) + intBitsToFloat(R125i.y)); -PS1i = R125i.z; -// 4 -backupReg0i = R125i.x; -R125i.x = floatBitsToInt(intBitsToFloat(R7i.x) + -(intBitsToFloat(R125i.w))); -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c00000) + 0.0)); -PV0i.y = R123i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R126i.z))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.w),intBitsToFloat(R127i.w)) + intBitsToFloat(R6i.x))); -R125i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(uf_remappedPS[9].y)); -PS0i = R125i.y; -// 5 -backupReg0i = R126i.z; -R124i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + intBitsToFloat(uf_remappedPS[9].x)); -R127i.y = floatBitsToInt(-(intBitsToFloat(R1i.z)) + intBitsToFloat(uf_remappedPS[9].z)); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R124i.y)) + intBitsToFloat(backupReg0i))); -PV1i.w = floatBitsToInt(intBitsToFloat(R2i.w) + -(intBitsToFloat(R4i.w))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 6 -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R8i.x)) + intBitsToFloat(R4i.w))); -PV0i.x = R6i.x; -PV0i.y = floatBitsToInt(min(intBitsToFloat(R124i.z), intBitsToFloat(R127i.x))); -R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(R125i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R125i.z) * intBitsToFloat(PS1i)); -R124i.w = floatBitsToInt(intBitsToFloat(R5i.z) + -(1.0)); -PS0i = R124i.w; -// 7 -R125i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV0i.w)); -R124i.y = floatBitsToInt(intBitsToFloat(R5i.w) + -(1.0)); -R126i.z = floatBitsToInt(min(intBitsToFloat(R126i.y), intBitsToFloat(R126i.w))); -R125i.w = floatBitsToInt(-(intBitsToFloat(R5i.w)) + intBitsToFloat(0x3f2aaaab)); -R4i.z = floatBitsToInt(intBitsToFloat(PV0i.x) + -(intBitsToFloat(PV0i.y))); -PS1i = R4i.z; -// 8 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.y),-0.0),vec4(intBitsToFloat(R124i.x),intBitsToFloat(R125i.y),intBitsToFloat(R127i.y),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.z = floatBitsToInt(-(intBitsToFloat(R5i.z)) + intBitsToFloat(0x3f2aaaab)); -PS0i = R125i.z; -// 9 -backupReg0i = R125i.x; -backupReg0i = R125i.x; -R125i.x = R124i.y; -R5i.y = floatBitsToInt(intBitsToFloat(R0i.z) + -(intBitsToFloat(R126i.z))); -PV1i.y = R5i.y; -R126i.z = R125i.w; -R125i.w = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R124i.y = floatBitsToInt(tempResultf); -PS1i = R124i.y; -// 10 -backupReg0i = R124i.x; -R124i.x = floatBitsToInt((intBitsToFloat(R4i.z) * intBitsToFloat(0x40c00000) + 0.0)); -R1i.y = R125i.z; -R125i.z = R124i.w; -R124i.w = floatBitsToInt((intBitsToFloat(PV1i.y) * intBitsToFloat(0x40c00000) + 0.0)); -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS1i))); -PS0i = R126i.x; -// 11 -backupReg0i = R125i.y; -backupReg1i = R124i.z; -backupReg2i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(uf_remappedPS[10].x)) + intBitsToFloat(uf_remappedPS[11].x))); -PV1i.x = R127i.x; -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R124i.y))); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R124i.y))); -PV1i.w = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(R126i.z))); -R127i.y = floatBitsToInt(-(intBitsToFloat(backupReg1i)) + intBitsToFloat(backupReg2i)); -PS1i = R127i.y; -// 12 -backupReg0i = R126i.y; -backupReg1i = R126i.z; -PV0i.x = floatBitsToInt(intBitsToFloat(R125i.z) + -(intBitsToFloat(R1i.y))); -R126i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R126i.w)); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R8i.x)) + intBitsToFloat(backupReg1i))); -R126i.w = floatBitsToInt(intBitsToFloat(PV1i.x) + 1.0); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R124i.x)); -// 13 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(R127i.w)) + intBitsToFloat(R1i.y))); -PV1i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0x3f2aaaab)); -PV1i.z = floatBitsToInt(intBitsToFloat(R127i.y) * intBitsToFloat(PS0i)); -PV1i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0x3eaaaaab)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R124i.w)); -// 14 -R125i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(PV1i.z)); -PV0i.y = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(PS1i)); -R126i.z = floatBitsToInt(fract(intBitsToFloat(R126i.w))); -R126i.w = floatBitsToInt(fract(intBitsToFloat(PV1i.y))); -R124i.x = floatBitsToInt(fract(intBitsToFloat(PV1i.w))); -PS0i = R124i.x; -// 15 -backupReg0i = R127i.x; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R125i.y),intBitsToFloat(R124i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(PV0i.y)); -PS1i = R127i.x; -// 16 -backupReg0i = R124i.x; -backupReg1i = R126i.z; -R124i.x = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -R126i.y = floatBitsToInt(intBitsToFloat(R0i.x) + 0.0); -R126i.z = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -R126i.w = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 17 -PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(PS0i))); -R127i.w = floatBitsToInt(max(intBitsToFloat(R125i.x), -(intBitsToFloat(R125i.x)))); -R125i.y = floatBitsToInt(max(intBitsToFloat(R127i.x), -(intBitsToFloat(R127i.x)))); -PS1i = R125i.y; -// 18 -R126i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),-0.0),vec4(intBitsToFloat(PV1i.x),intBitsToFloat(PV1i.y),intBitsToFloat(PV1i.z),0.0))); -R126i.x = clampFI32(R126i.x); -PV0i.x = R126i.x; -PV0i.y = R126i.x; -PV0i.z = R126i.x; -PV0i.w = R126i.x; -R127i.x = floatBitsToInt(1.0 / intBitsToFloat(R126i.y)); -PS0i = R127i.x; -// 19 -backupReg0i = R125i.y; -PV1i.x = floatBitsToInt(max(intBitsToFloat(R126i.w), -(intBitsToFloat(R126i.w)))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedPS[10].x)) + intBitsToFloat(uf_remappedPS[11].x))); -PV1i.z = floatBitsToInt(max(intBitsToFloat(R124i.x), -(intBitsToFloat(R124i.x)))); -PV1i.w = floatBitsToInt(max(intBitsToFloat(R126i.z), -(intBitsToFloat(R126i.z)))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[10].x)) + intBitsToFloat(uf_remappedPS[11].x))); -PS1i = R126i.z; -// 20 -R8i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(1.0)); -R8i.x = clampFI32(R8i.x); -R126i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); -R126i.y = clampFI32(R126i.y); -R124i.z = floatBitsToInt(intBitsToFloat(R1i.w) * intBitsToFloat(R127i.x)); -R127i.w = floatBitsToInt(-(intBitsToFloat(R126i.x)) + 1.0); -R1i.w = floatBitsToInt(intBitsToFloat(PV1i.z) + -(1.0)); -R1i.w = clampFI32(R1i.w); -PS0i = R1i.w; -// 21 -R1i.x = floatBitsToInt(intBitsToFloat(R125i.y) + 1.0); -R1i.y = floatBitsToInt(intBitsToFloat(R126i.z) + 1.0); -R5i.z = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(0x3eaaaaab)); -R5i.w = floatBitsToInt(intBitsToFloat(R125i.y) + intBitsToFloat(0x3f2aaaab)); -R1i.z = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(0x3f2aaaab)); -PS1i = R1i.z; -// 22 -R6i.y = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(0x3eaaaaab)); -R3i.z = floatBitsToInt(intBitsToFloat(R126i.y) + -(1.0)); -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(uf_remappedPS[10].y)) + intBitsToFloat(uf_remappedPS[11].y))); -tempResultf = log2(intBitsToFloat(R127i.w)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R2i.z = floatBitsToInt(tempResultf); -PS0i = R2i.z; -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(intBitsToFloat(R1i.w) + -(1.0)); -R126i.y = floatBitsToInt(intBitsToFloat(R8i.x) + -(1.0)); -R126i.z = floatBitsToInt(fract(intBitsToFloat(R1i.x))); -R127i.w = floatBitsToInt(fract(intBitsToFloat(R5i.w))); -R126i.w = floatBitsToInt(fract(intBitsToFloat(R5i.z))); -PS0i = R126i.w; -// 1 -R126i.x = floatBitsToInt(fract(intBitsToFloat(R1i.y))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_remappedPS[12].w))); -R124i.z = floatBitsToInt(fract(intBitsToFloat(R6i.y))); -R124i.w = floatBitsToInt(fract(intBitsToFloat(R1i.z))); -R1i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(R4i.w)) + 1.0)); -PS1i = R1i.w; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[13].x),intBitsToFloat(uf_remappedPS[13].y),intBitsToFloat(uf_remappedPS[13].z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.w = tempi.x; -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R4i.w)) + 1.0)); -PS0i = R125i.z; -// 3 -backupReg0i = R127i.x; -backupReg1i = R126i.z; -backupReg2i = R127i.w; -R127i.x = floatBitsToInt(intBitsToFloat(R6i.x) + 0.0); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R4i.w)) + 1.0)); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.x),intBitsToFloat(uf_remappedPS[10].z)) + intBitsToFloat(uf_remappedPS[11].z))); -R127i.w = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -R127i.y = floatBitsToInt((intBitsToFloat(backupReg2i) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -PS1i = R127i.y; -// 4 -backupReg0i = R126i.x; -backupReg1i = R124i.z; -R126i.x = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -R124i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -R124i.z = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -R126i.w = floatBitsToInt(intBitsToFloat(R0i.z) + 0.0); -R124i.w = floatBitsToInt((intBitsToFloat(backupReg1i) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -PS0i = R124i.w; -// 5 -R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[14].x),intBitsToFloat(uf_remappedPS[14].y),intBitsToFloat(uf_remappedPS[14].z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),0.0))); -PV1i.x = R125i.x; -PV1i.y = R125i.x; -PV1i.z = R125i.x; -PV1i.w = R125i.x; -R124i.x = floatBitsToInt(exp2(intBitsToFloat(R125i.y))); -PS1i = R124i.x; -// 6 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),-0.0),vec4(intBitsToFloat(R9i.x),intBitsToFloat(R7i.y),intBitsToFloat(R6i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R125i.y = tempi.x; -R127i.z = floatBitsToInt(max(intBitsToFloat(R125i.w), 0.0)); -PS0i = R127i.z; -// 7 -backupReg0i = R126i.z; -backupReg1i = R126i.y; -backupReg0i = R126i.z; -backupReg2i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(R1i.w))); -R126i.y = floatBitsToInt(max(intBitsToFloat(R127i.w), -(intBitsToFloat(R127i.w)))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(1.0 / intBitsToFloat(backupReg2i)); -PS1i = R127i.w; -// 8 -backupReg0i = R126i.x; -backupReg0i = R126i.x; -backupReg1i = R127i.y; -backupReg1i = R127i.y; -backupReg2i = R124i.z; -backupReg2i = R124i.z; -backupReg3i = R126i.w; -R126i.x = floatBitsToInt(max(intBitsToFloat(R124i.y), -(intBitsToFloat(R124i.y)))); -R127i.y = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); -R124i.z = floatBitsToInt(max(intBitsToFloat(backupReg1i), -(intBitsToFloat(backupReg1i)))); -R126i.w = floatBitsToInt(max(intBitsToFloat(backupReg2i), -(intBitsToFloat(backupReg2i)))); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(backupReg3i)); -// 9 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(max(intBitsToFloat(R124i.w), -(intBitsToFloat(R124i.w)))); -R124i.y = floatBitsToInt(intBitsToFloat(R4i.z) * intBitsToFloat(R127i.w)); -R125i.z = floatBitsToInt(intBitsToFloat(R5i.y) * intBitsToFloat(PS0i)); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(uf_remappedPS[12].x)) + intBitsToFloat(backupReg0i))); -R9i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(uf_remappedPS[12].y)) + intBitsToFloat(R125i.w))); -PS1i = R9i.x; -// 10 -backupReg0i = R127i.z; -backupReg0i = R127i.z; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(backupReg0i),-0.0),vec4(intBitsToFloat(R125i.x),intBitsToFloat(R125i.y),intBitsToFloat(backupReg0i),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.z = tempi.x; -R4i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(uf_remappedPS[12].z)) + intBitsToFloat(R126i.z))); -PS0i = R4i.w; -// 11 -backupReg0i = R126i.x; -backupReg1i = R127i.y; -backupReg2i = R124i.z; -backupReg3i = R126i.w; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.y) + -(1.0)); -R126i.x = clampFI32(R126i.x); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(1.0)); -R127i.y = clampFI32(R127i.y); -R124i.z = floatBitsToInt(intBitsToFloat(backupReg1i) + -(1.0)); -R124i.z = clampFI32(R124i.z); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg2i) + -(1.0)); -R126i.w = clampFI32(R126i.w); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg3i) + -(1.0)); -R126i.z = clampFI32(R126i.z); -PS1i = R126i.z; -// 12 -R124i.x = floatBitsToInt(intBitsToFloat(R9i.x) + 1.0); -R126i.y = floatBitsToInt(intBitsToFloat(R127i.x) + -(1.0)); -R126i.y = clampFI32(R126i.y); -R4i.z = floatBitsToInt(intBitsToFloat(R124i.w) + 1.0); -R1i.w = floatBitsToInt(intBitsToFloat(R4i.w) + 1.0); -tempResultf = 1.0 / sqrt(intBitsToFloat(R127i.z)); -R5i.y = floatBitsToInt(tempResultf); -PS0i = R5i.y; -// 13 -backupReg0i = R126i.x; -backupReg1i = R124i.y; -backupReg2i = R126i.w; -backupReg3i = R124i.z; -R126i.x = R6i.x; -R124i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(1.0)); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(uf_remappedPS[10].y)) + intBitsToFloat(uf_remappedPS[11].y))); -R126i.w = floatBitsToInt(intBitsToFloat(backupReg2i) + -(1.0)); -R127i.w = floatBitsToInt(intBitsToFloat(backupReg3i) + -(1.0)); -PS1i = R127i.w; -// 14 -backupReg0i = R126i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + -(1.0)); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(uf_remappedPS[10].y)) + intBitsToFloat(uf_remappedPS[11].y))); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(1.0)); -R125i.w = R0i.z; -R125i.z = floatBitsToInt(intBitsToFloat(R126i.y) + -(1.0)); -PS0i = R125i.z; -// 15 -backupReg0i = R126i.x; -backupReg1i = R124i.y; -backupReg2i = R126i.w; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R5i.y))); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[10].z)) + intBitsToFloat(uf_remappedPS[11].z))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R124i.z)) + 1.0)); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(R5i.y))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg2i),intBitsToFloat(R124i.z)) + 1.0)); -PS1i = R125i.y; -// 16 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R126i.z; -backupReg1i = R127i.y; -backupReg1i = R127i.y; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R124i.z)) + 1.0)); -R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(uf_remappedPS[10].z)) + intBitsToFloat(uf_remappedPS[11].z))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)) + 1.0)); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg2i),intBitsToFloat(backupReg1i)) + 1.0)); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(backupReg1i)) + 1.0)); -PS0i = R125i.w; -// 17 -R5i.x = floatBitsToInt((intBitsToFloat(R126i.x) * intBitsToFloat(0x3efefeff) + intBitsToFloat(0x3efefeff))); -R5i.y = floatBitsToInt((intBitsToFloat(R126i.w) * intBitsToFloat(0x3efefeff) + intBitsToFloat(0x3efefeff))); -R0i.w = 0; -R5i.w = 0x3f800000; -PS1i = R5i.w; -// 18 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R127i.z))); -R1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R125i.y))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R127i.x))); -R2i.w = 0; -R3i.w = 0x3f800000; -PS0i = R3i.w; -// 19 -R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R126i.z))); -R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R127i.w))); -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.y), intBitsToFloat(R125i.w))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R4i.z)); -// 20 -R0i.x = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(PS1i)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R124i.x)); -// 21 -R0i.y = floatBitsToInt(intBitsToFloat(R9i.x) * intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R1i.w)); -// 22 -R0i.z = floatBitsToInt(intBitsToFloat(R4i.w) * intBitsToFloat(PS1i)); -tempResultf = log2(intBitsToFloat(uf_remappedPS[2].w)); -PS0i = floatBitsToInt(tempResultf); -// 23 -R5i.z = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3dcccccd)); -// 24 -R4i.xyz = ivec3(R2i.x,R2i.y,R2i.z); -R4i.w = R3i.w; -// 25 -R3i.xyz = ivec3(R1i.x,R1i.y,R1i.z); -R3i.w = R2i.w; -// 26 -R2i.xyz = ivec3(R5i.x,R5i.y,R5i.z); -R2i.w = R5i.w; -} -if( activeMaskStackC[1] == true ) { -// 0 -R1i.xyz = ivec3(R0i.x,R0i.y,R0i.z); -R1i.w = R0i.w; -} -// export - -// enemy death weird highlights fix - just changed the passPixelColor0 line below -// original was: -// passPixelColor0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w)); -passPixelColor0 = vec4(0.0f, 0.0f, 0.0f, 0.0f); -passPixelColor1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)); -passPixelColor2 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -passPixelColor3 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -} diff --git a/Workaround/HyruleWarriors_EnemyDeathFix/fcea74ffa264fa58_000000000ffff2c9_ps.txt b/Workaround/HyruleWarriors_EnemyDeathFix/fcea74ffa264fa58_000000000ffff2c9_ps.txt deleted file mode 100644 index b3a6ffae..00000000 --- a/Workaround/HyruleWarriors_EnemyDeathFix/fcea74ffa264fa58_000000000ffff2c9_ps.txt +++ /dev/null @@ -1,864 +0,0 @@ -#version 420 -#extension GL_ARB_texture_gather : enable -#extension GL_ARB_separate_shader_objects : enable -// shader fcea74ffa264fa58 -uniform ivec4 uf_remappedPS[18]; -layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2178c000 res 512x512x1 dim 1 tm: 4 format 0033 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 1) uniform samplerCubeArray textureUnitPS1;// Tex1 addr 0x1bb2c000 res 256x256x1 dim 3 tm: 4 format 0431 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x6) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 -layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x2175f000 res 512x512x1 dim 1 tm: 4 format 0031 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 0 0 0 border: 0 -layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0x21708000 res 512x512x1 dim 1 tm: 4 format 0433 compSel: 0 1 2 3 mipView: 0x0 (num 0x8) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 0 0 0 border: 0 -layout(location = 0) in vec4 passParameterSem64; -layout(location = 1) in vec4 passParameterSem65; -layout(location = 2) in vec4 passParameterSem66; -layout(location = 3) in vec4 passParameterSem67; -layout(location = 0) out vec4 passPixelColor0; -layout(location = 1) out vec4 passPixelColor1; -layout(location = 2) out vec4 passPixelColor2; -layout(location = 3) out vec4 passPixelColor3; -uniform vec2 uf_fragCoordScale; -void redcCUBE(vec4 src0, vec4 src1, out vec3 stm, out int faceId) -{ -// stm -> x .. s, y .. t, z .. MajorAxis*2.0 -vec3 inputCoord = normalize(vec3(src1.y, src1.x, src0.x)); -float rx = inputCoord.x; -float ry = inputCoord.y; -float rz = inputCoord.z; -if( abs(rx) > abs(ry) && abs(rx) > abs(rz) ) -{ -stm.z = rx*2.0; -stm.xy = vec2(ry,rz); -if( rx >= 0.0 ) -{ -faceId = 0; -} -else -{ -faceId = 1; -} -} -else if( abs(ry) > abs(rx) && abs(ry) > abs(rz) ) -{ -stm.z = ry*2.0; -stm.xy = vec2(rx,rz); -if( ry >= 0.0 ) -{ -faceId = 2; -} -else -{ -faceId = 3; -} -} -else //if( abs(rz) > abs(ry) && abs(rz) > abs(rx) ) -{ -stm.z = rz*2.0; -stm.xy = vec2(rx,ry); -if( rz >= 0.0 ) -{ -faceId = 4; -} -else -{ -faceId = 5; -} -} -} -vec3 redcCUBEReverse(vec2 st, int faceId) -{ -st.yx = st.xy; -vec3 v; -float majorAxis = 1.0; -if( faceId == 0 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = 1.0; -} -else if( faceId == 1 ) -{ -v.yz = (st-vec2(1.5))*(majorAxis*2.0); -v.x = -1.0; -} -else if( faceId == 2 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = 1.0; -} -else if( faceId == 3 ) -{ -v.xz = (st-vec2(1.5))*(majorAxis*2.0); -v.y = -1.0; -} -else if( faceId == 4 ) -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = 1.0; -} -else -{ -v.xy = (st-vec2(1.5))*(majorAxis*2.0); -v.z = -1.0; -} -return v; -} -int clampFI32(int v) -{ -if( v == 0x7FFFFFFF ) - return floatBitsToInt(1.0); -else if( v == 0xFFFFFFFF ) - return floatBitsToInt(0.0); -return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); -} -float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } -void main() -{ -ivec4 R0i = ivec4(0); -ivec4 R1i = ivec4(0); -ivec4 R2i = ivec4(0); -ivec4 R3i = ivec4(0); -ivec4 R4i = ivec4(0); -ivec4 R5i = ivec4(0); -ivec4 R6i = ivec4(0); -ivec4 R122i = ivec4(0); -ivec4 R123i = ivec4(0); -ivec4 R124i = ivec4(0); -ivec4 R125i = ivec4(0); -ivec4 R126i = ivec4(0); -ivec4 R127i = ivec4(0); -int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; -ivec4 PV0i = ivec4(0), PV1i = ivec4(0); -int PS0i = 0, PS1i = 0; -ivec4 tempi = ivec4(0); -float tempResultf; -int tempResulti; -ivec4 ARi = ivec4(0); -bool predResult = true; -bool activeMaskStack[2]; -bool activeMaskStackC[3]; -activeMaskStack[0] = false; -activeMaskStackC[0] = false; -activeMaskStackC[1] = false; -activeMaskStack[0] = true; -activeMaskStackC[0] = true; -activeMaskStackC[1] = true; -vec3 cubeMapSTM; -int cubeMapFaceId; -float cubeMapArrayIndex1 = 0.0; -R0i = floatBitsToInt(passParameterSem64); -R1i = floatBitsToInt(passParameterSem65); -R2i = floatBitsToInt(passParameterSem66); -R3i = floatBitsToInt(passParameterSem67); -if( activeMaskStackC[1] == true ) { -R5i.xyzw = floatBitsToInt(texture(textureUnitPS3, intBitsToFloat(R0i.xy)).xyzw); -} -if( activeMaskStackC[1] == true ) { -activeMaskStack[1] = activeMaskStack[0]; -activeMaskStackC[2] = activeMaskStackC[1]; -// 0 -R1i.w = floatBitsToInt(intBitsToFloat(R5i.w) + -(intBitsToFloat(0x3ec8c8cd))); -// 1 -predResult = (0.0 >= intBitsToFloat(R1i.w)); -activeMaskStack[1] = predResult; -activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true; -} -else { -activeMaskStack[1] = false; -activeMaskStackC[2] = false; -} -if( activeMaskStackC[2] == true ) { -// 0 -if( (0 == 0)) discard; -} -activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; -if( activeMaskStackC[1] == true ) { -R4i.xyz = floatBitsToInt(texture(textureUnitPS2, intBitsToFloat(R0i.wz)).xyz); -R0i.xyz = floatBitsToInt(texture(textureUnitPS0, intBitsToFloat(R0i.xy)).xyz); -} -if( activeMaskStackC[1] == true ) { -// 0 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),-0.0),vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(R2i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + intBitsToFloat(uf_remappedPS[0].x)); -PS0i = R126i.x; -// 1 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -PS1i = floatBitsToInt(tempResultf); -// 2 -R124i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(PS1i))); -R125i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(PS1i))); -R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PS1i))); -R127i.w = floatBitsToInt(-(intBitsToFloat(R1i.y)) + intBitsToFloat(uf_remappedPS[0].y)); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 3 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(PS0i))); -PV1i.x = R125i.x; -R126i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PS0i))); -PV1i.y = R126i.y; -R127i.z = floatBitsToInt(-(intBitsToFloat(R1i.z)) + intBitsToFloat(uf_remappedPS[0].z)); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(PS0i))); -PV1i.w = R125i.w; -R126i.w = floatBitsToInt((intBitsToFloat(R4i.x) * intBitsToFloat(0x40008102) + -(intBitsToFloat(0x3f810204)))); -PS1i = R126i.w; -// 4 -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.y), intBitsToFloat(PV1i.y))); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.z), intBitsToFloat(PV1i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.x), intBitsToFloat(PV1i.x))); -R124i.w = floatBitsToInt((intBitsToFloat(R4i.y) * intBitsToFloat(0x40008102) + -(intBitsToFloat(0x3f810204)))); -R4i.x = floatBitsToInt((intBitsToFloat(R4i.z) * intBitsToFloat(0x40008102) + -(intBitsToFloat(0x3f810204)))); -PS0i = R4i.x; -// 5 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.w),intBitsToFloat(R127i.z),-0.0),vec4(intBitsToFloat(R126i.x),intBitsToFloat(R127i.w),intBitsToFloat(R127i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R122i.x = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R125i.y)),intBitsToFloat(R125i.w)) + intBitsToFloat(PV0i.z))); -PS1i = R122i.x; -// 6 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PS1i))); -R123i.y = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R126i.z)),intBitsToFloat(R125i.x)) + intBitsToFloat(backupReg0i))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(-(intBitsToFloat(R124i.x)),intBitsToFloat(R126i.y)) + intBitsToFloat(R127i.y))); -PV0i.z = R123i.z; -R1i.w = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].y)) + 1.0); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV1i.x)); -PS0i = floatBitsToInt(tempResultf); -// 7 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.x), intBitsToFloat(PS0i))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV0i.y))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(PV0i.z))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PS0i))); -PS1i = R3i.z; -// 8 -R1i.x = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].z)) + 1.0); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.z), intBitsToFloat(R126i.w))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(R126i.w))); -PV0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV1i.w), intBitsToFloat(R126i.w))); -R4i.z = floatBitsToInt(-(intBitsToFloat(uf_remappedPS[1].x)) + 1.0); -PS0i = R4i.z; -// 9 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(R124i.w)) + intBitsToFloat(PV0i.z))); -PV1i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.w),intBitsToFloat(uf_remappedPS[2].w)) + intBitsToFloat(uf_remappedPS[2].x))); -R123i.y = clampFI32(R123i.y); -PV1i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(PV0i.w))); -PV1i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(PV0i.y))); -PV1i.w = R123i.w; -R2i.w = floatBitsToInt(intBitsToFloat(R5i.y) * 1.0); -PS1i = R2i.w; -// 10 -backupReg0i = R5i.z; -R6i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R4i.x)) + intBitsToFloat(PV1i.x))); -PV0i.x = R6i.x; -R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.y),intBitsToFloat(R4i.x)) + intBitsToFloat(PV1i.z))); -PV0i.y = R5i.y; -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R4i.x)) + intBitsToFloat(PV1i.w))); -PV0i.z = R5i.z; -R4i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * 1.0); -R125i.w = floatBitsToInt(intBitsToFloat(PV1i.y) * 1.0); -PS0i = R125i.w; -// 11 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -tempi.x = floatBitsToInt(intBitsToFloat(tempi.x) * 2.0); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PS0i))); -PS1i = R4i.y; -// 12 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R6i.x),intBitsToFloat(PV1i.x)) + -(intBitsToFloat(R3i.x)))); -PV0i.x = R123i.x; -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.y),intBitsToFloat(PV1i.x)) + -(intBitsToFloat(R3i.y)))); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R5i.z),intBitsToFloat(PV1i.x)) + -(intBitsToFloat(R3i.z)))); -PV0i.z = R123i.z; -R5i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R125i.w))); -R2i.x = floatBitsToInt(intBitsToFloat(R5i.x) * 1.0); -PS0i = R2i.x; -// 13 -backupReg0i = R0i.x; -redcCUBE(vec4(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)),vec4(intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.z)),cubeMapSTM,cubeMapFaceId); -R0i.x = floatBitsToInt(cubeMapSTM.x); -R0i.y = floatBitsToInt(cubeMapSTM.y); -R0i.z = floatBitsToInt(cubeMapSTM.z); -R0i.w = cubeMapFaceId; -PV1i.x = R0i.x; -PV1i.y = R0i.y; -PV1i.z = R0i.z; -PV1i.w = R0i.w; -R2i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(R125i.w))); -PS1i = R2i.z; -// 14 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -PS0i = floatBitsToInt(1.0 / abs(intBitsToFloat(PV1i.z))); -// 15 -backupReg0i = R0i.x; -backupReg1i = R0i.y; -R0i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(PS0i)) + 1.5)); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(PS0i)) + 1.5)); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.w), intBitsToFloat(uf_remappedPS[3].y))); -R3i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedPS[3].z))); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R4i.x = floatBitsToInt(tempResultf); -PS1i = R4i.x; -} -if( activeMaskStackC[1] == true ) { -R0i.xyzw = floatBitsToInt(texture(textureUnitPS1, vec4(redcCUBEReverse(intBitsToFloat(R0i.yx),R0i.w),cubeMapArrayIndex1)).xyzw); -} -if( activeMaskStackC[1] == true ) { -// 0 -PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(R4i.x))); -PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R4i.x))); -PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(R4i.x))); -R125i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.w), intBitsToFloat(uf_remappedPS[4].w))); -PV0i.w = R125i.w; -R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.y), intBitsToFloat(uf_remappedPS[5].y))); -PS0i = R127i.z; -// 1 -backupReg0i = R0i.y; -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R6i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),-0.0),vec4(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(PV0i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R6i.w = tempi.x; -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(PV0i.w))); -PS1i = R3i.z; -// 2 -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R5i.w), intBitsToFloat(uf_remappedPS[5].z))); -R124i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.z), intBitsToFloat(R125i.w))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PV0i.z = clampFI32(PV0i.z); -R126i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R0i.x), intBitsToFloat(R125i.w))); -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(uf_remappedPS[3].x))); -PS0i = R3i.y; -// 3 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[6].x),intBitsToFloat(uf_remappedPS[6].y),intBitsToFloat(uf_remappedPS[6].z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV1i.x = tempi.x; -PV1i.y = tempi.x; -PV1i.z = tempi.x; -PV1i.w = tempi.x; -R125i.y = tempi.x; -tempResultf = log2(intBitsToFloat(PV0i.z)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -PS1i = floatBitsToInt(tempResultf); -// 4 -PV0i.x = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(0x40a00000)); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[7].x)) + intBitsToFloat(uf_remappedPS[8].x))); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(uf_remappedPS[7].y)) + intBitsToFloat(uf_remappedPS[8].y))); -PV0i.w = floatBitsToInt(intBitsToFloat(R1i.z) + -(intBitsToFloat(R3i.w))); -R125i.w = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R125i.x))); -PS0i = R125i.w; -// 5 -backupReg0i = R125i.y; -R3i.x = ((intBitsToFloat(PV0i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R125i.y = floatBitsToInt(intBitsToFloat(R3i.w) + -(intBitsToFloat(R1i.z))); -R125i.z = floatBitsToInt(intBitsToFloat(R1i.z) + -(intBitsToFloat(R3i.w))); -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[7].z)) + intBitsToFloat(uf_remappedPS[8].z))); -PV1i.w = R123i.w; -R124i.w = floatBitsToInt(exp2(intBitsToFloat(PV0i.x))); -PS1i = R124i.w; -// 6 -backupReg0i = R126i.y; -R124i.x = floatBitsToInt(intBitsToFloat(R126i.z) + intBitsToFloat(uf_remappedPS[9].y)); -R126i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(uf_remappedPS[9].x)); -R126i.z = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(uf_remappedPS[9].z)); -R0i.w = ((intBitsToFloat(R125i.w) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R127i.y = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R125i.x))); -PS0i = R127i.y; -// 7 -backupReg0i = R124i.w; -backupReg1i = R125i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(R127i.z))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x),intBitsToFloat(R124i.w)) + intBitsToFloat(uf_remappedPS[1].z))); -R124i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w),intBitsToFloat(R124i.w)) + intBitsToFloat(uf_remappedPS[1].y))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.z),intBitsToFloat(backupReg0i)) + intBitsToFloat(uf_remappedPS[1].x))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R3i.x)) + intBitsToFloat(R1i.z))); -PS1i = R0i.y; -// 8 -backupReg0i = R124i.x; -backupReg1i = R126i.y; -R124i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(uf_remappedPS[10].z)) + 0.0)); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(uf_remappedPS[10].y)) + 0.0)); -R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R0i.w)) + intBitsToFloat(R127i.z))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(uf_remappedPS[10].x)) + 0.0)); -R1i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(R3i.x)) + intBitsToFloat(R3i.w))); -PS0i = R1i.z; -// 9 -backupReg0i = R125i.x; -backupReg1i = R125i.y; -R125i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.w), intBitsToFloat(uf_remappedPS[4].x))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.y),intBitsToFloat(R0i.w)) + intBitsToFloat(backupReg0i))); -PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(backupReg1i), intBitsToFloat(uf_remappedPS[4].z))); -PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.z), intBitsToFloat(uf_remappedPS[4].y))); -R124i.w = R0i.y; -PS1i = R124i.w; -// 10 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.w),intBitsToFloat(R3i.z)) + 0.0)); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(R124i.x) + intBitsToFloat(uf_remappedPS[11].z)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.z),intBitsToFloat(R124i.y)) + 0.0)); -PV0i.z = R123i.z; -PV0i.w = floatBitsToInt(intBitsToFloat(R126i.y) + intBitsToFloat(uf_remappedPS[11].y)); -R124i.z = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(uf_remappedPS[11].x)); -PS0i = R124i.z; -// 11 -PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.w) + 0.0); -R126i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + 0.0); -R127i.z = floatBitsToInt(intBitsToFloat(PV0i.z) + 0.0); -PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + 0.0); -R122i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.x),intBitsToFloat(R126i.w)) + 0.0)); -PS1i = R122i.x; -// 12 -PV0i.x = floatBitsToInt(intBitsToFloat(R124i.z) + 0.0); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R4i.w),intBitsToFloat(PV1i.w)) + 0.0)); -PV0i.y = R123i.y; -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w),intBitsToFloat(PV1i.x)) + 0.0)); -PV0i.z = R123i.z; -R126i.w = floatBitsToInt(intBitsToFloat(PS1i) + 0.0); -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.z), intBitsToFloat(uf_remappedPS[5].x))); -PS0i = R1i.x; -// 13 -backupReg0i = R127i.z; -backupReg1i = R4i.y; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x),intBitsToFloat(PV0i.x)) + 0.0)); -PV1i.x = R123i.x; -R4i.y = R3i.y; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R5i.w)) + intBitsToFloat(PV0i.y))); -PV1i.z = R127i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.y),intBitsToFloat(backupReg1i)) + intBitsToFloat(PV0i.z))); -PV1i.w = R125i.w; -R3i.z = R1i.z; -PS1i = R3i.z; -// 14 -backupReg0i = R0i.y; -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(R2i.z)) + intBitsToFloat(PV1i.x))); -PV0i.x = R125i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(PV1i.z))); -R124i.z = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(PV1i.w))); -R126i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(PV1i.z))); -R126i.x = backupReg0i; -PS0i = R126i.x; -// 15 -R123i.x = ((intBitsToFloat(PV0i.y) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.x = R123i.x; -R127i.y = floatBitsToInt(intBitsToFloat(R3i.y) + -(intBitsToFloat(R1i.z))); -R125i.z = PV0i.x; -R127i.w = R126i.z; -R2i.x = R1i.x; -PS1i = R2i.x; -// 16 -R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + intBitsToFloat(0x3f2aaaab)); -R124i.y = floatBitsToInt(intBitsToFloat(PV1i.x) + -(1.0)); -R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.z),intBitsToFloat(PV1i.x)) + intBitsToFloat(R125i.w))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w),intBitsToFloat(PV1i.x)) + intBitsToFloat(R127i.z))); -PV0i.w = R123i.w; -R126i.w = R126i.z; -PS0i = R126i.w; -// 17 -R124i.x = PV0i.z; -PV1i.x = R124i.x; -PV1i.y = PV0i.z; -PV1i.z = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(PV0i.w))); -PV1i.w = PV0i.w; -R126i.y = PV0i.w; -PS1i = R126i.y; -// 18 -PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(R125i.z))); -R1i.y = ((intBitsToFloat(PV1i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV0i.y = R1i.y; -PV0i.z = floatBitsToInt(intBitsToFloat(R125i.x) + -(intBitsToFloat(PS1i))); -PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.y) + -(intBitsToFloat(PV1i.x))); -R0i.y = R125i.y; -PS0i = R0i.y; -// 19 -R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.y))); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.x),intBitsToFloat(PV0i.y)) + intBitsToFloat(R125i.z))); -PV1i.y = R126i.y; -R125i.z = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R125i.y))); -PV1i.z = R125i.z; -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(PV0i.y)) + intBitsToFloat(R124i.x))); -PV1i.w = R125i.w; -R5i.w = R127i.x; -PS1i = R5i.w; -// 20 -backupReg0i = R127i.y; -PV0i.x = floatBitsToInt(min(intBitsToFloat(PV1i.w), intBitsToFloat(PV1i.y))); -R127i.y = R124i.y; -R4i.w = ((intBitsToFloat(backupReg0i) >= 0.0)?(floatBitsToInt(1.0)):(0)); -R127i.z = floatBitsToInt(intBitsToFloat(R126i.x) + -(intBitsToFloat(R124i.w))); -PS0i = R127i.z; -// 21 -PV1i.x = floatBitsToInt(intBitsToFloat(R3i.z) + -(intBitsToFloat(R4i.y))); -R2i.y = R125i.y; -R4i.z = ((intBitsToFloat(R125i.z) >= 0.0)?(floatBitsToInt(1.0)):(0)); -PV1i.z = R4i.z; -R3i.w = floatBitsToInt(intBitsToFloat(R5i.x) + -(intBitsToFloat(PV0i.x))); -PV1i.w = R3i.w; -PS1i = floatBitsToInt(intBitsToFloat(R126i.w) + -(intBitsToFloat(R127i.w))); -// 22 -R4i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.w)) + intBitsToFloat(R4i.y))); -R123i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c00000) + 0.0)); -PV0i.y = R123i.y; -R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(R4i.w)) + intBitsToFloat(R124i.w))); -PV0i.w = floatBitsToInt(intBitsToFloat(R0i.y) + -(intBitsToFloat(R2i.x))); -R0i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PS1i),intBitsToFloat(PV1i.z)) + intBitsToFloat(R127i.w))); -PS0i = R0i.y; -// 23 -backupReg0i = R3i.y; -backupReg1i = R2i.x; -R2i.x = floatBitsToInt(-(intBitsToFloat(R125i.w)) + intBitsToFloat(R126i.y)); -R3i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(intBitsToFloat(R1i.z))); -R3i.z = floatBitsToInt(intBitsToFloat(R127i.y) + -(intBitsToFloat(R5i.w))); -R2i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.w),intBitsToFloat(R4i.z)) + intBitsToFloat(backupReg1i))); -R0i.x = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -PS1i = R0i.x; -} -if( activeMaskStackC[1] == true ) { -// 0 -backupReg0i = R0i.w; -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.z),intBitsToFloat(R1i.y)) + intBitsToFloat(R5i.w))); -PV0i.x = R123i.x; -R1i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.y),intBitsToFloat(R4i.w)) + intBitsToFloat(R1i.z))); -PV0i.z = floatBitsToInt(intBitsToFloat(R1i.x) + -(intBitsToFloat(R2i.y))); -PV0i.w = floatBitsToInt(intBitsToFloat(R2i.x) * intBitsToFloat(R0i.x)); -R125i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + -(1.0)); -PS0i = R125i.w; -// 1 -PV1i.x = floatBitsToInt(min(intBitsToFloat(R0i.y), intBitsToFloat(R2i.w))); -PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.w)); -R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.z),intBitsToFloat(R4i.z)) + intBitsToFloat(R2i.y))); -PV1i.z = R3i.z; -PV1i.w = floatBitsToInt(min(intBitsToFloat(R2i.z), intBitsToFloat(R4i.x))); -R126i.x = floatBitsToInt(intBitsToFloat(R3i.x) + -(1.0)); -PS1i = R126i.x; -// 2 -PV0i.x = floatBitsToInt(-(intBitsToFloat(R0i.w)) + intBitsToFloat(0x3f2aaaab)); -R2i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + -(intBitsToFloat(PV1i.x))); -R1i.z = floatBitsToInt(intBitsToFloat(R1i.y) + -(intBitsToFloat(PV1i.w))); -PV0i.z = R1i.z; -PV0i.w = floatBitsToInt(-(intBitsToFloat(R3i.x)) + intBitsToFloat(0x3f2aaaab)); -R127i.w = floatBitsToInt(max(intBitsToFloat(PV1i.y), -(intBitsToFloat(PV1i.y)))); -PS0i = R127i.w; -// 3 -R123i.x = floatBitsToInt((intBitsToFloat(PV0i.z) * intBitsToFloat(0x40c00000) + 0.0)); -PV1i.x = R123i.x; -R127i.y = PV0i.x; -R125i.z = PV0i.w; -PV1i.z = R125i.z; -PV1i.w = R126i.x; -R127i.z = R125i.w; -PS1i = R127i.z; -// 4 -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(uf_remappedPS[12].x)) + intBitsToFloat(uf_remappedPS[13].x))); -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.w) + -(intBitsToFloat(PV1i.z))); -PV0i.z = floatBitsToInt(-(intBitsToFloat(R2i.z)) + intBitsToFloat(R4i.x)); -R123i.w = floatBitsToInt((intBitsToFloat(R2i.y) * intBitsToFloat(0x40c00000) + 0.0)); -PV0i.w = R123i.w; -PS0i = floatBitsToInt(1.0 / intBitsToFloat(PV1i.x)); -// 5 -backupReg0i = R0i.y; -PV1i.x = floatBitsToInt(intBitsToFloat(R127i.z) + -(intBitsToFloat(R127i.y))); -PV1i.y = floatBitsToInt(-(intBitsToFloat(backupReg0i)) + intBitsToFloat(R2i.w)); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV0i.y),intBitsToFloat(R4i.w)) + intBitsToFloat(R125i.z))); -R127i.w = floatBitsToInt(intBitsToFloat(PV0i.z) * intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w)); -// 6 -R123i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.x),intBitsToFloat(R4i.z)) + intBitsToFloat(R127i.y))); -PV0i.x = R123i.x; -PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(intBitsToFloat(R126i.x) + 1.0); -PV0i.w = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(0x3f2aaaab)); -PS0i = floatBitsToInt(intBitsToFloat(R126i.x) + intBitsToFloat(0x3eaaaaab)); -// 7 -R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(PV0i.y)); -PV1i.y = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(R127i.w)); -PV1i.z = floatBitsToInt(fract(intBitsToFloat(PV0i.z))); -PV1i.w = floatBitsToInt(fract(intBitsToFloat(PV0i.w))); -PS1i = floatBitsToInt(fract(intBitsToFloat(PS0i))); -// 8 -R127i.x = floatBitsToInt((intBitsToFloat(PS1i) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -PV0i.y = floatBitsToInt(intBitsToFloat(R5i.x) + 0.0); -R123i.z = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -PV0i.z = R123i.z; -R123i.w = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -PV0i.w = R123i.w; -R127i.z = floatBitsToInt(max(intBitsToFloat(PV1i.y), -(intBitsToFloat(PV1i.y)))); -PS0i = R127i.z; -// 9 -PV1i.x = R6i.w; -PV1i.x = clampFI32(PV1i.x); -PV1i.y = floatBitsToInt(max(intBitsToFloat(R126i.x), -(intBitsToFloat(R126i.x)))); -R125i.z = floatBitsToInt(max(intBitsToFloat(PV0i.w), -(intBitsToFloat(PV0i.w)))); -R127i.w = floatBitsToInt(max(intBitsToFloat(PV0i.z), -(intBitsToFloat(PV0i.z)))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.y)); -// 10 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(PV1i.y),intBitsToFloat(uf_remappedPS[12].x)) + intBitsToFloat(uf_remappedPS[13].x))); -R127i.y = floatBitsToInt(intBitsToFloat(R3i.w) * intBitsToFloat(PS1i)); -PV0i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), -(intBitsToFloat(backupReg0i)))); -R125i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z),intBitsToFloat(uf_remappedPS[12].x)) + intBitsToFloat(uf_remappedPS[13].x))); -PV0i.w = R125i.w; -R126i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0); -PS0i = R126i.x; -// 11 -R124i.x = floatBitsToInt(intBitsToFloat(R127i.w) + -(1.0)); -R124i.x = clampFI32(R124i.x); -R126i.y = floatBitsToInt(intBitsToFloat(R125i.z) + -(1.0)); -R126i.y = clampFI32(R126i.y); -R125i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + 1.0); -R127i.w = floatBitsToInt(intBitsToFloat(PV0i.z) + -(1.0)); -R127i.w = clampFI32(R127i.w); -R124i.w = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(0x3f2aaaab)); -PS1i = R124i.w; -// 12 -backupReg0i = R127i.x; -backupReg0i = R127i.x; -backupReg0i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0x3f2aaaab)); -R125i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + intBitsToFloat(0x3eaaaaab)); -R127i.z = floatBitsToInt(intBitsToFloat(R125i.w) + intBitsToFloat(0x3eaaaaab)); -R125i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + 1.0); -tempResultf = log2(intBitsToFloat(R126i.x)); -if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; -R126i.w = floatBitsToInt(tempResultf); -PS0i = R126i.w; -// 13 -backupReg0i = R124i.x; -backupReg1i = R127i.y; -backupReg2i = R127i.w; -R124i.x = floatBitsToInt(intBitsToFloat(backupReg0i) + -(1.0)); -R127i.y = R5i.x; -R126i.z = floatBitsToInt(intBitsToFloat(R126i.y) + -(1.0)); -R127i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(uf_remappedPS[12].y)) + intBitsToFloat(uf_remappedPS[13].y))); -R126i.x = floatBitsToInt(intBitsToFloat(backupReg2i) + -(1.0)); -PS1i = R126i.x; -// 14 -backupReg0i = R127i.z; -backupReg1i = R127i.x; -R127i.x = floatBitsToInt(fract(intBitsToFloat(R124i.w))); -R126i.y = floatBitsToInt(fract(intBitsToFloat(R125i.z))); -R127i.z = floatBitsToInt(fract(intBitsToFloat(R125i.w))); -R125i.w = floatBitsToInt(fract(intBitsToFloat(backupReg0i))); -R124i.w = floatBitsToInt(fract(intBitsToFloat(backupReg1i))); -PS0i = R124i.w; -// 15 -backupReg0i = R125i.y; -backupReg1i = R126i.z; -backupReg2i = R126i.x; -R126i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(uf_remappedPS[14].w))); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R124i.x),intBitsToFloat(R127i.w)) + 1.0)); -R126i.z = floatBitsToInt(fract(intBitsToFloat(backupReg0i))); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(R127i.w)) + 1.0)); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg2i),intBitsToFloat(R127i.w)) + 1.0)); -PS1i = R124i.y; -// 16 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[15].x),intBitsToFloat(uf_remappedPS[15].y),intBitsToFloat(uf_remappedPS[15].z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R127i.w = tempi.x; -R124i.x = floatBitsToInt(intBitsToFloat(R1i.y) + 0.0); -PS0i = R124i.x; -// 17 -backupReg0i = R127i.x; -backupReg1i = R127i.y; -backupReg2i = R125i.w; -R127i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -R127i.y = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -R125i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(uf_remappedPS[12].z)) + intBitsToFloat(uf_remappedPS[13].z))); -R125i.w = floatBitsToInt((intBitsToFloat(backupReg2i) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -R3i.w = floatBitsToInt(intBitsToFloat(R3i.z) + 0.0); -PS1i = R3i.w; -// 18 -R5i.x = floatBitsToInt((intBitsToFloat(R124i.w) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -R0i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -R4i.z = floatBitsToInt(max(intBitsToFloat(R127i.w), 0.0)); -R6i.w = floatBitsToInt((intBitsToFloat(R126i.z) * intBitsToFloat(0x40c00000) + -(intBitsToFloat(0x40400000)))); -R0i.w = floatBitsToInt(exp2(intBitsToFloat(R126i.x))); -PS0i = R0i.w; -// 19 -R3i.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[16].x),intBitsToFloat(uf_remappedPS[16].y),intBitsToFloat(uf_remappedPS[16].z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV1i.x = R3i.x; -PV1i.y = R3i.x; -PV1i.z = R3i.x; -PV1i.w = R3i.x; -R4i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R126i.w))); -PS1i = R4i.x; -// 20 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(uf_remappedPS[17].x),intBitsToFloat(uf_remappedPS[17].y),intBitsToFloat(uf_remappedPS[17].z),-0.0),vec4(intBitsToFloat(R6i.x),intBitsToFloat(R5i.y),intBitsToFloat(R5i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R3i.y = tempi.x; -R4i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R125i.y))); -PS0i = R4i.w; -// 21 -R6i.x = floatBitsToInt(max(intBitsToFloat(R127i.y), -(intBitsToFloat(R127i.y)))); -R5i.y = floatBitsToInt(max(intBitsToFloat(R125i.w), -(intBitsToFloat(R125i.w)))); -R5i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.z), intBitsToFloat(R124i.y))); -R5i.w = floatBitsToInt(max(intBitsToFloat(R127i.x), -(intBitsToFloat(R127i.x)))); -R2i.w = floatBitsToInt(1.0 / intBitsToFloat(R124i.x)); -PS1i = R2i.w; -} -if( activeMaskStackC[1] == true ) { -// 0 -R127i.x = floatBitsToInt(max(intBitsToFloat(R6i.w), -(intBitsToFloat(R6i.w)))); -R127i.y = floatBitsToInt(max(intBitsToFloat(R5i.x), -(intBitsToFloat(R5i.x)))); -R125i.z = floatBitsToInt(max(intBitsToFloat(R0i.y), -(intBitsToFloat(R0i.y)))); -R125i.w = floatBitsToInt(intBitsToFloat(R1i.z) * intBitsToFloat(R2i.w)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R3i.w)); -// 1 -backupReg0i = R5i.z; -R126i.x = floatBitsToInt(intBitsToFloat(R2i.y) * intBitsToFloat(PS0i)); -R126i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(uf_remappedPS[14].x)) + intBitsToFloat(R4i.x))); -R5i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(uf_remappedPS[14].y)) + intBitsToFloat(R4i.w))); -R124i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w),intBitsToFloat(uf_remappedPS[14].z)) + intBitsToFloat(backupReg0i))); -R124i.x = floatBitsToInt(intBitsToFloat(R5i.w) + -(1.0)); -R124i.x = clampFI32(R124i.x); -PS1i = R124i.x; -// 2 -tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R4i.z),0.0))); -PV0i.x = tempi.x; -PV0i.y = tempi.x; -PV0i.z = tempi.x; -PV0i.w = tempi.x; -R126i.w = floatBitsToInt(intBitsToFloat(R6i.x) + -(1.0)); -R126i.w = clampFI32(R126i.w); -PS0i = R126i.w; -// 3 -backupReg0i = R127i.x; -backupReg1i = R125i.z; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.y) + -(1.0)); -R127i.x = clampFI32(R127i.x); -R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) + -(1.0)); -R127i.y = clampFI32(R127i.y); -R125i.z = floatBitsToInt(intBitsToFloat(R5i.y) + -(1.0)); -R125i.z = clampFI32(R125i.z); -R127i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + -(1.0)); -R127i.w = clampFI32(R127i.w); -tempResultf = 1.0 / sqrt(intBitsToFloat(PV0i.x)); -R125i.x = floatBitsToInt(tempResultf); -PS1i = R125i.x; -// 4 -backupReg0i = R1i.y; -backupReg1i = R125i.w; -R6i.x = floatBitsToInt(intBitsToFloat(R124i.w) + 1.0); -R1i.y = floatBitsToInt(intBitsToFloat(R5i.z) + 1.0); -R4i.z = floatBitsToInt(intBitsToFloat(R126i.y) + 1.0); -R125i.w = backupReg0i; -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(uf_remappedPS[12].y)) + intBitsToFloat(uf_remappedPS[13].y))); -PS0i = R127i.z; -// 5 -backupReg0i = R125i.z; -backupReg1i = R126i.x; -R126i.x = floatBitsToInt(intBitsToFloat(R126i.w) + -(1.0)); -R124i.y = floatBitsToInt(intBitsToFloat(R124i.x) + -(1.0)); -R125i.z = R3i.z; -R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) + -(1.0)); -R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(uf_remappedPS[12].y)) + intBitsToFloat(uf_remappedPS[13].y))); -PS1i = R125i.y; -// 6 -backupReg0i = R127i.y; -backupReg1i = R127i.x; -R127i.x = floatBitsToInt(intBitsToFloat(R127i.w) + -(1.0)); -R127i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(R125i.x))); -R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) + -(1.0)); -R127i.w = floatBitsToInt(intBitsToFloat(backupReg1i) + -(1.0)); -R124i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(R125i.x))); -PS0i = R124i.z; -// 7 -backupReg0i = R126i.x; -backupReg1i = R124i.y; -backupReg2i = R127i.z; -backupReg3i = R126i.w; -backupReg2i = R127i.z; -R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R127i.z)) + 1.0)); -R124i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.w),intBitsToFloat(uf_remappedPS[12].z)) + intBitsToFloat(uf_remappedPS[13].z))); -R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)) + 1.0)); -R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg3i),intBitsToFloat(backupReg2i)) + 1.0)); -R125i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R125i.z),intBitsToFloat(uf_remappedPS[12].z)) + intBitsToFloat(uf_remappedPS[13].z))); -PS1i = R125i.x; -// 8 -backupReg0i = R127i.x; -R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.w),intBitsToFloat(R125i.y)) + 1.0)); -R123i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i),intBitsToFloat(R125i.y)) + 1.0)); -PV0i.y = R123i.y; -R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.z),intBitsToFloat(R125i.y)) + 1.0)); -PV0i.w = R123i.w; -R0i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(0x3efefeff) + intBitsToFloat(0x3efefeff))); -PS0i = R0i.x; -// 9 -R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PV0i.y))); -R0i.y = floatBitsToInt((intBitsToFloat(R124i.z) * intBitsToFloat(0x3efefeff) + intBitsToFloat(0x3efefeff))); -R3i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(PV0i.w))); -R2i.w = 0; -R0i.w = 0x3f800000; -PS1i = R0i.w; -// 10 -R1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R127i.z))); -R4i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R126i.x))); -R1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R124i.y), intBitsToFloat(R126i.w))); -R1i.w = 0; -R3i.w = 0x3f800000; -PS0i = R3i.w; -// 11 -R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R125i.x), intBitsToFloat(R127i.x))); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R4i.z)); -// 12 -R2i.x = floatBitsToInt(intBitsToFloat(R126i.y) * intBitsToFloat(PS1i)); -PS0i = floatBitsToInt(1.0 / intBitsToFloat(R1i.y)); -// 13 -R2i.y = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(PS0i)); -PS1i = floatBitsToInt(1.0 / intBitsToFloat(R6i.x)); -// 14 -R2i.z = floatBitsToInt(intBitsToFloat(R124i.w) * intBitsToFloat(PS1i)); -tempResultf = log2(intBitsToFloat(uf_remappedPS[5].w)); -PS0i = floatBitsToInt(tempResultf); -// 15 -R0i.z = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(0x3dcccccd)); -// 16 -R6i.xyz = ivec3(R3i.x,R3i.y,R3i.z); -R6i.w = R3i.w; -// 17 -R5i.xyz = ivec3(R1i.x,R4i.y,R1i.z); -R5i.w = R1i.w; -// 18 -R4i.xyz = ivec3(R0i.x,R0i.y,R0i.z); -R4i.w = R0i.w; -// 19 -R3i.xyz = ivec3(R2i.x,R2i.y,R2i.z); -R3i.w = R2i.w; -} -// export - -// enemy death weird highlights fix - just changed the passPixelColor0 line below -// original was: -//passPixelColor0 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.w)); -passPixelColor0 = vec4(0.0f, 0.0f, 0.0f, 0.0f); -passPixelColor1 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w)); -passPixelColor2 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); -passPixelColor3 = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z), intBitsToFloat(R6i.w)); -} diff --git a/Workaround/HyruleWarriors_EnemyDeathFix/rules.txt b/Workaround/HyruleWarriors_EnemyDeathFix/rules.txt deleted file mode 100644 index 9d84f3bb..00000000 --- a/Workaround/HyruleWarriors_EnemyDeathFix/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 000500001017D800,000500001017D900,000500001017CD00 -name = "Hyrule Warriors - NVIDIA Enemy Death Fix" -version = 2 diff --git a/Workaround/HyruleWarriors_ShadowRemoval/patches.txt b/Workaround/HyruleWarriors_ShadowRemoval/patches.txt deleted file mode 100644 index 55c1ff55..00000000 --- a/Workaround/HyruleWarriors_ShadowRemoval/patches.txt +++ /dev/null @@ -1,7 +0,0 @@ -[HWShadowRemovalv208] -moduleMatches = 0xE159AE91 - -# disable calls to CDisplayListMgr::RenderScene inside CShadowMapManager::Render -# seems to stop character/item shadows being rendered to the shadowmap, while still letting the shadowmap itself get rendered (which seems needed for other effects) -0x021CD54C = nop -0x021CD578 = nop diff --git a/Workaround/HyruleWarriors_ShadowRemoval/rules.txt b/Workaround/HyruleWarriors_ShadowRemoval/rules.txt deleted file mode 100644 index b5ab51dc..00000000 --- a/Workaround/HyruleWarriors_ShadowRemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 000500001017D800,000500001017D900,000500001017CD00 -name = "Hyrule Warriors - Shadow Removal" -version = 2 diff --git a/Workaround/SonicLostWorld_BrightnessFix/rules.txt b/Workaround/SonicLostWorld_BrightnessFix/rules.txt deleted file mode 100644 index 31709d1d..00000000 --- a/Workaround/SonicLostWorld_BrightnessFix/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010135700,000500001012B100,0005000010128F00,0005000210128F01 -name = "Sonic Lost World - Display Fixes" -version = 2 diff --git a/Workaround/SuperSmashBros_PixelMess/rules.txt b/Workaround/SuperSmashBros_PixelMess/rules.txt deleted file mode 100644 index 0935e3cd..00000000 --- a/Workaround/SuperSmashBros_PixelMess/rules.txt +++ /dev/null @@ -1,13 +0,0 @@ -[Definition] -titleIds = 0005000010110E00,0005000010145000,0005000010144F00 -name = "Super Smash Bros. for Wii U - Pixel Mess" -version = 2 -# A screenshot can be seen here: https://cdn.discordapp.com/attachments/286429969104764928/335077383847673857/unknown.png - -[TextureRedefine] # tv -width = 640 -height = 360 -formats = 0x00a -#overwriteFormat = 0x81c # Might cause an error, but seems to work. Might not work on AMD. -overwriteWidth = 1 -overwriteHeight = 1 diff --git a/Workaround/Wonderful101_ShadowRemoval/rules.txt b/Workaround/Wonderful101_ShadowRemoval/rules.txt deleted file mode 100644 index 7b0e8302..00000000 --- a/Workaround/Wonderful101_ShadowRemoval/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010116300,000500001012DC00,0005000010135300 -name = "The Wonderful 101 - Shadow Removal" -version = 2 \ No newline at end of file diff --git a/Workaround/XenobladeX_AMDGCN4/rules.txt b/Workaround/XenobladeX_AMDGCN4/rules.txt deleted file mode 100644 index f2824e65..00000000 --- a/Workaround/XenobladeX_AMDGCN4/rules.txt +++ /dev/null @@ -1,11 +0,0 @@ -# Found by Esppiral -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 -name = "Xenoblade Chronicles X - AMD GCN4 Workaround" -version = 2 - -[TextureRedefine] -width = 320 -height = 180 -overwriteWidth = 1 -overwriteHeight = 1 \ No newline at end of file diff --git a/Workaround/XenobladeX_AdjustableBrightness/rules.txt b/Workaround/XenobladeX_AdjustableBrightness/rules.txt deleted file mode 100644 index 0e7c2419..00000000 --- a/Workaround/XenobladeX_AdjustableBrightness/rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -[Definition] -titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00,ffffffff0cd546a9 -name = "Xenoblade Chronicles X - Adjustable Brightness" -version = 2 \ No newline at end of file diff --git a/Workaround/BreathOfTheWild_!AMDShadows/09085793b5a9f364_00001ffe492e9249_ps.txt b/Workarounds/!BreathOfTheWild_ShadowsAMD/09085793b5a9f364_00001ffe492e9249_ps.txt similarity index 100% rename from Workaround/BreathOfTheWild_!AMDShadows/09085793b5a9f364_00001ffe492e9249_ps.txt rename to Workarounds/!BreathOfTheWild_ShadowsAMD/09085793b5a9f364_00001ffe492e9249_ps.txt diff --git a/Workaround/BreathOfTheWild_!AMDShadows/45e72a252caba763_000003c000009269_ps.txt b/Workarounds/!BreathOfTheWild_ShadowsAMD/45e72a252caba763_000003c000009269_ps.txt similarity index 100% rename from Workaround/BreathOfTheWild_!AMDShadows/45e72a252caba763_000003c000009269_ps.txt rename to Workarounds/!BreathOfTheWild_ShadowsAMD/45e72a252caba763_000003c000009269_ps.txt diff --git a/Workaround/BreathOfTheWild_!AMDShadows/59cba7eb9a9c1df6_00000007f924d249_ps.txt b/Workarounds/!BreathOfTheWild_ShadowsAMD/59cba7eb9a9c1df6_00000007f924d249_ps.txt similarity index 100% rename from Workaround/BreathOfTheWild_!AMDShadows/59cba7eb9a9c1df6_00000007f924d249_ps.txt rename to Workarounds/!BreathOfTheWild_ShadowsAMD/59cba7eb9a9c1df6_00000007f924d249_ps.txt diff --git a/Workaround/BreathOfTheWild_!AMDShadows/808ba0411f6f526e_0000007ff9249a49_ps.txt b/Workarounds/!BreathOfTheWild_ShadowsAMD/808ba0411f6f526e_0000007ff9249a49_ps.txt similarity index 100% rename from Workaround/BreathOfTheWild_!AMDShadows/808ba0411f6f526e_0000007ff9249a49_ps.txt rename to Workarounds/!BreathOfTheWild_ShadowsAMD/808ba0411f6f526e_0000007ff9249a49_ps.txt diff --git a/Workaround/BreathOfTheWild_!AMDShadows/88133ee405eaae28_000003c000009269_ps.txt b/Workarounds/!BreathOfTheWild_ShadowsAMD/88133ee405eaae28_000003c000009269_ps.txt similarity index 100% rename from Workaround/BreathOfTheWild_!AMDShadows/88133ee405eaae28_000003c000009269_ps.txt rename to Workarounds/!BreathOfTheWild_ShadowsAMD/88133ee405eaae28_000003c000009269_ps.txt diff --git a/Workaround/BreathOfTheWild_!AMDShadows/9c0b7031078fba88_0000007800001269_ps.txt b/Workarounds/!BreathOfTheWild_ShadowsAMD/9c0b7031078fba88_0000007800001269_ps.txt similarity index 100% rename from Workaround/BreathOfTheWild_!AMDShadows/9c0b7031078fba88_0000007800001269_ps.txt rename to Workarounds/!BreathOfTheWild_ShadowsAMD/9c0b7031078fba88_0000007800001269_ps.txt diff --git a/Workarounds/!BreathOfTheWild_ShadowsAMD/rules.txt b/Workarounds/!BreathOfTheWild_ShadowsAMD/rules.txt new file mode 100644 index 00000000..12693a63 --- /dev/null +++ b/Workarounds/!BreathOfTheWild_ShadowsAMD/rules.txt @@ -0,0 +1,8 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = "AMD Shadows Workaround" # made by ethrillo +path = "The Legend of Zelda: Breath of the Wild/Workaround/AMD Shadows" +description = "Fixes shadows when using an AMD graphics card." +version = 3 + +#Updated by Cypher to support BotW 1.40 diff --git a/Workaround/BreathOfTheWild_SquareShadowsFix/8e9e804a3cd384c3_00000000000ff259_ps.txt b/Workarounds/BreathOfTheWild_KakarikoShadows/8e9e804a3cd384c3_00000000000ff259_ps.txt similarity index 100% rename from Workaround/BreathOfTheWild_SquareShadowsFix/8e9e804a3cd384c3_00000000000ff259_ps.txt rename to Workarounds/BreathOfTheWild_KakarikoShadows/8e9e804a3cd384c3_00000000000ff259_ps.txt diff --git a/Workaround/BreathOfTheWild_SquareShadowsFix/ab0a485b9ae1bb1e_00000000000ff259_ps.txt b/Workarounds/BreathOfTheWild_KakarikoShadows/ab0a485b9ae1bb1e_00000000000ff259_ps.txt similarity index 100% rename from Workaround/BreathOfTheWild_SquareShadowsFix/ab0a485b9ae1bb1e_00000000000ff259_ps.txt rename to Workarounds/BreathOfTheWild_KakarikoShadows/ab0a485b9ae1bb1e_00000000000ff259_ps.txt diff --git a/Workarounds/BreathOfTheWild_KakarikoShadows/rules.txt b/Workarounds/BreathOfTheWild_KakarikoShadows/rules.txt new file mode 100644 index 00000000..f4abef7c --- /dev/null +++ b/Workarounds/BreathOfTheWild_KakarikoShadows/rules.txt @@ -0,0 +1,10 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = "Square Kakariko Torch Shadows Fix" +path = "The Legend of Zelda: Breath of the Wild/Workaround/Kakariko Torch Shadows" +description = "Workaround for the square shadows seen around torches in Kakariko Village." +version = 3 + +# Workaround for the square shadows seen around torches in Kakariko Village +# found by Kiri +# Shaders dumped from Cemu 1.11.0b and BotW 1.3.1 diff --git a/Workaround/BreathOfTheWild_LwzxNullCheck/patches.txt b/Workarounds/BreathOfTheWild_LwzxNullCheck/patches.txt similarity index 100% rename from Workaround/BreathOfTheWild_LwzxNullCheck/patches.txt rename to Workarounds/BreathOfTheWild_LwzxNullCheck/patches.txt diff --git a/Workarounds/BreathOfTheWild_LwzxNullCheck/rules.txt b/Workarounds/BreathOfTheWild_LwzxNullCheck/rules.txt new file mode 100644 index 00000000..17be2dd0 --- /dev/null +++ b/Workarounds/BreathOfTheWild_LwzxNullCheck/rules.txt @@ -0,0 +1,5 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +path = "The Legend of Zelda: Breath of the Wild/Workaround/LWZX Crash workaround" +description = "You should enable this pack in any circumstance. This workaround fixes crashes that would occur at specific points in the game." +version = 3 \ No newline at end of file diff --git a/Workaround/BreathOfTheWild_NVIDIASmoke/17aae2b035ae850c_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/17aae2b035ae850c_0000000000000000_vs.txt similarity index 100% rename from Workaround/BreathOfTheWild_NVIDIASmoke/17aae2b035ae850c_0000000000000000_vs.txt rename to Workarounds/BreathOfTheWild_NVIDIASmoke/17aae2b035ae850c_0000000000000000_vs.txt diff --git a/Workaround/BreathOfTheWild_NVIDIASmoke/2938a1b3abfdfe49_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/2938a1b3abfdfe49_0000000000000000_vs.txt similarity index 100% rename from Workaround/BreathOfTheWild_NVIDIASmoke/2938a1b3abfdfe49_0000000000000000_vs.txt rename to Workarounds/BreathOfTheWild_NVIDIASmoke/2938a1b3abfdfe49_0000000000000000_vs.txt diff --git a/Workaround/BreathOfTheWild_NVIDIASmoke/314c2583a1612026_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/314c2583a1612026_0000000000000000_vs.txt similarity index 100% rename from Workaround/BreathOfTheWild_NVIDIASmoke/314c2583a1612026_0000000000000000_vs.txt rename to Workarounds/BreathOfTheWild_NVIDIASmoke/314c2583a1612026_0000000000000000_vs.txt diff --git a/Workaround/BreathOfTheWild_NVIDIASmoke/344d8b1f7d6f2b8e_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/344d8b1f7d6f2b8e_0000000000000000_vs.txt similarity index 100% rename from Workaround/BreathOfTheWild_NVIDIASmoke/344d8b1f7d6f2b8e_0000000000000000_vs.txt rename to Workarounds/BreathOfTheWild_NVIDIASmoke/344d8b1f7d6f2b8e_0000000000000000_vs.txt diff --git a/Workaround/BreathOfTheWild_NVIDIASmoke/961cf134642327cc_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/961cf134642327cc_0000000000000000_vs.txt similarity index 100% rename from Workaround/BreathOfTheWild_NVIDIASmoke/961cf134642327cc_0000000000000000_vs.txt rename to Workarounds/BreathOfTheWild_NVIDIASmoke/961cf134642327cc_0000000000000000_vs.txt diff --git a/Workaround/BreathOfTheWild_NVIDIASmoke/a4f029f0b16e3776_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/a4f029f0b16e3776_0000000000000000_vs.txt similarity index 100% rename from Workaround/BreathOfTheWild_NVIDIASmoke/a4f029f0b16e3776_0000000000000000_vs.txt rename to Workarounds/BreathOfTheWild_NVIDIASmoke/a4f029f0b16e3776_0000000000000000_vs.txt diff --git a/Workaround/BreathOfTheWild_NVIDIASmoke/b9eeedc9f6628c36_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/b9eeedc9f6628c36_0000000000000000_vs.txt similarity index 100% rename from Workaround/BreathOfTheWild_NVIDIASmoke/b9eeedc9f6628c36_0000000000000000_vs.txt rename to Workarounds/BreathOfTheWild_NVIDIASmoke/b9eeedc9f6628c36_0000000000000000_vs.txt diff --git a/Workaround/BreathOfTheWild_NVIDIASmoke/ea77e7f80b23e7b7_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/ea77e7f80b23e7b7_0000000000000000_vs.txt similarity index 100% rename from Workaround/BreathOfTheWild_NVIDIASmoke/ea77e7f80b23e7b7_0000000000000000_vs.txt rename to Workarounds/BreathOfTheWild_NVIDIASmoke/ea77e7f80b23e7b7_0000000000000000_vs.txt diff --git a/Workaround/BreathOfTheWild_NVIDIASmoke/fc4a738a3df2bcce_0000000000000000_vs.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/fc4a738a3df2bcce_0000000000000000_vs.txt similarity index 100% rename from Workaround/BreathOfTheWild_NVIDIASmoke/fc4a738a3df2bcce_0000000000000000_vs.txt rename to Workarounds/BreathOfTheWild_NVIDIASmoke/fc4a738a3df2bcce_0000000000000000_vs.txt diff --git a/Workarounds/BreathOfTheWild_NVIDIASmoke/rules.txt b/Workarounds/BreathOfTheWild_NVIDIASmoke/rules.txt new file mode 100644 index 00000000..46a62fec --- /dev/null +++ b/Workarounds/BreathOfTheWild_NVIDIASmoke/rules.txt @@ -0,0 +1,9 @@ +[Definition] +titleIds = 00050000101C9300,00050000101C9400,00050000101C9500 +name = "NVIDIA Explosion Smoke Workaround" +path = "The Legend of Zelda: Breath of the Wild/Workaround/NVIDIA Explosion Smoke" +description = "Partially fixes thin paper look explosion smoke on NVIDIA when using accurateShaderMul = true." +version = 3 + +# A quick found by Rajkosto, Xalphenos, Darkemaste +# Shaders dumped from Cemu 1.10.0f and BotW 1.3.1 diff --git a/Workarounds/ColorSplash_30FPS/rules.txt b/Workarounds/ColorSplash_30FPS/rules.txt new file mode 100644 index 00000000..6ae6c556 --- /dev/null +++ b/Workarounds/ColorSplash_30FPS/rules.txt @@ -0,0 +1,9 @@ +[Definition] +titleIds = 000500001F600900,000500001F600A00,000500001F600B00 +name = "30FPS Lock" +path = "Paper Mario: Color Splash/Workarounds/30FPS Lock" +description = "Limits the FPS to 30 so that certain objects are not sped up." +version = 3 + +[Control] +vsyncFrequency = 30 diff --git a/Workarounds/HyruleWarriors_30FPS/rules.txt b/Workarounds/HyruleWarriors_30FPS/rules.txt new file mode 100644 index 00000000..6ee091de --- /dev/null +++ b/Workarounds/HyruleWarriors_30FPS/rules.txt @@ -0,0 +1,9 @@ +[Definition] +titleIds = 000500001017D800,000500001017D900,000500001017CD00 +name = "30FPS Lock" +path = "Hyrule Warriors/Workarounds/30FPS Lock" +description = "Limits the FPS to 30 so that menus are not sped up." +version = 3 + +[Control] +vsyncFrequency = 30 diff --git a/Workaround/SonicLostWorld_BrightnessFix/061c4a3b19113538_0000000000000000_vs.txt b/Workarounds/SonicLostWorld_DisplayFixes/061c4a3b19113538_0000000000000000_vs.txt similarity index 100% rename from Workaround/SonicLostWorld_BrightnessFix/061c4a3b19113538_0000000000000000_vs.txt rename to Workarounds/SonicLostWorld_DisplayFixes/061c4a3b19113538_0000000000000000_vs.txt diff --git a/Workaround/SonicLostWorld_BrightnessFix/289fad0a94a60a46_0000000000000000_vs.txt b/Workarounds/SonicLostWorld_DisplayFixes/289fad0a94a60a46_0000000000000000_vs.txt similarity index 100% rename from Workaround/SonicLostWorld_BrightnessFix/289fad0a94a60a46_0000000000000000_vs.txt rename to Workarounds/SonicLostWorld_DisplayFixes/289fad0a94a60a46_0000000000000000_vs.txt diff --git a/Workaround/SonicLostWorld_BrightnessFix/7658289ba65cb755_00000000000003c9_ps.txt b/Workarounds/SonicLostWorld_DisplayFixes/7658289ba65cb755_00000000000003c9_ps.txt similarity index 100% rename from Workaround/SonicLostWorld_BrightnessFix/7658289ba65cb755_00000000000003c9_ps.txt rename to Workarounds/SonicLostWorld_DisplayFixes/7658289ba65cb755_00000000000003c9_ps.txt diff --git a/Workaround/SonicLostWorld_BrightnessFix/971a39bb79e32fd1_0000000000001e71_ps.txt b/Workarounds/SonicLostWorld_DisplayFixes/971a39bb79e32fd1_0000000000001e71_ps.txt similarity index 100% rename from Workaround/SonicLostWorld_BrightnessFix/971a39bb79e32fd1_0000000000001e71_ps.txt rename to Workarounds/SonicLostWorld_DisplayFixes/971a39bb79e32fd1_0000000000001e71_ps.txt diff --git a/Workaround/SonicLostWorld_BrightnessFix/e1d2a971c93cd82a_0000000000001e71_ps.txt b/Workarounds/SonicLostWorld_DisplayFixes/e1d2a971c93cd82a_0000000000001e71_ps.txt similarity index 100% rename from Workaround/SonicLostWorld_BrightnessFix/e1d2a971c93cd82a_0000000000001e71_ps.txt rename to Workarounds/SonicLostWorld_DisplayFixes/e1d2a971c93cd82a_0000000000001e71_ps.txt diff --git a/Workarounds/SonicLostWorld_DisplayFixes/rules.txt b/Workarounds/SonicLostWorld_DisplayFixes/rules.txt new file mode 100644 index 00000000..2db09f87 --- /dev/null +++ b/Workarounds/SonicLostWorld_DisplayFixes/rules.txt @@ -0,0 +1,6 @@ +[Definition] +titleIds = 0005000010135700,000500001012B100,0005000010128F00 +name = Display Fixes +path = "Sonic Lost World/Workaround/Display Fixes" +description = This fixes/removes multiple issues shown in-game +version = 3 diff --git a/Modifications/Splatoon_UltrawideFixes219/0b2ca00a882b9629_0000000000000000_vs.txt b/Workarounds/Splatoon_UltrawideFixes219/0b2ca00a882b9629_0000000000000000_vs.txt similarity index 99% rename from Modifications/Splatoon_UltrawideFixes219/0b2ca00a882b9629_0000000000000000_vs.txt rename to Workarounds/Splatoon_UltrawideFixes219/0b2ca00a882b9629_0000000000000000_vs.txt index 97b41576..b522c669 100644 --- a/Modifications/Splatoon_UltrawideFixes219/0b2ca00a882b9629_0000000000000000_vs.txt +++ b/Workarounds/Splatoon_UltrawideFixes219/0b2ca00a882b9629_0000000000000000_vs.txt @@ -4,7 +4,7 @@ #extension GL_ARB_shading_language_packing : enable // shader 0b2ca00a882b9629 // backgrounds UW scaling shader -float scaleAspect = 1.3333333333333; +float scaleAspect = $width/$height; uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Modifications/Splatoon_UltrawideFixes219/1e015f95e9b3e57f_0000000000000000_vs.txt b/Workarounds/Splatoon_UltrawideFixes219/1e015f95e9b3e57f_0000000000000000_vs.txt similarity index 99% rename from Modifications/Splatoon_UltrawideFixes219/1e015f95e9b3e57f_0000000000000000_vs.txt rename to Workarounds/Splatoon_UltrawideFixes219/1e015f95e9b3e57f_0000000000000000_vs.txt index 18bbf247..5810b6fc 100644 --- a/Modifications/Splatoon_UltrawideFixes219/1e015f95e9b3e57f_0000000000000000_vs.txt +++ b/Workarounds/Splatoon_UltrawideFixes219/1e015f95e9b3e57f_0000000000000000_vs.txt @@ -4,7 +4,7 @@ #extension GL_ARB_shading_language_packing : enable // shader 1e015f95e9b3e57f // Second background UW scaling shader -float scaleAspect = 1.3333333333333; +float scaleAspect = $width/$height; uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Modifications/Splatoon_UltrawideFixes219/4754883f71f69101_0000000000000000_vs.txt b/Workarounds/Splatoon_UltrawideFixes219/4754883f71f69101_0000000000000000_vs.txt similarity index 99% rename from Modifications/Splatoon_UltrawideFixes219/4754883f71f69101_0000000000000000_vs.txt rename to Workarounds/Splatoon_UltrawideFixes219/4754883f71f69101_0000000000000000_vs.txt index 33fcfcf2..74afe84b 100644 --- a/Modifications/Splatoon_UltrawideFixes219/4754883f71f69101_0000000000000000_vs.txt +++ b/Workarounds/Splatoon_UltrawideFixes219/4754883f71f69101_0000000000000000_vs.txt @@ -4,7 +4,7 @@ #extension GL_ARB_shading_language_packing : enable // shader 4754883f71f69101 // (Solid) backgrounds scaling shader - Fixes loadout and character background with the cost of other GUI elements scaling -float scaleAspect = 1.3333333333333; +float scaleAspect = $width/$height; uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Modifications/Splatoon_UltrawideFixes219/5bf3a3153a7cab75_0000000000000000_vs.txt b/Workarounds/Splatoon_UltrawideFixes219/5bf3a3153a7cab75_0000000000000000_vs.txt similarity index 99% rename from Modifications/Splatoon_UltrawideFixes219/5bf3a3153a7cab75_0000000000000000_vs.txt rename to Workarounds/Splatoon_UltrawideFixes219/5bf3a3153a7cab75_0000000000000000_vs.txt index a4bfa1ee..f749fb59 100644 --- a/Modifications/Splatoon_UltrawideFixes219/5bf3a3153a7cab75_0000000000000000_vs.txt +++ b/Workarounds/Splatoon_UltrawideFixes219/5bf3a3153a7cab75_0000000000000000_vs.txt @@ -4,7 +4,7 @@ #extension GL_ARB_shading_language_packing : enable // shader 5bf3a3153a7cab75 // Used for: Squid TV UW scaling shader -const float scaleAspect = 1.3333333333333; +const float scaleAspect = $width/$height; uniform ivec4 uf_remappedVS[18]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Modifications/Splatoon_UltrawideFixes219/6724aef6f3f59403_0000000000000000_vs.txt b/Workarounds/Splatoon_UltrawideFixes219/6724aef6f3f59403_0000000000000000_vs.txt similarity index 99% rename from Modifications/Splatoon_UltrawideFixes219/6724aef6f3f59403_0000000000000000_vs.txt rename to Workarounds/Splatoon_UltrawideFixes219/6724aef6f3f59403_0000000000000000_vs.txt index 8fa35cff..47184bff 100644 --- a/Modifications/Splatoon_UltrawideFixes219/6724aef6f3f59403_0000000000000000_vs.txt +++ b/Workarounds/Splatoon_UltrawideFixes219/6724aef6f3f59403_0000000000000000_vs.txt @@ -4,7 +4,7 @@ #extension GL_ARB_shading_language_packing : enable // shader 6724aef6f3f59403 // Used for: Second layers from some background -float scaleAspect = 1.3333333333333; +float scaleAspect = $width/$height; uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Modifications/Splatoon_UltrawideFixes219/6a5cfcb2e29672eb_0000000000000000_vs.txt b/Workarounds/Splatoon_UltrawideFixes219/6a5cfcb2e29672eb_0000000000000000_vs.txt similarity index 99% rename from Modifications/Splatoon_UltrawideFixes219/6a5cfcb2e29672eb_0000000000000000_vs.txt rename to Workarounds/Splatoon_UltrawideFixes219/6a5cfcb2e29672eb_0000000000000000_vs.txt index cb437114..9b66b7c9 100644 --- a/Modifications/Splatoon_UltrawideFixes219/6a5cfcb2e29672eb_0000000000000000_vs.txt +++ b/Workarounds/Splatoon_UltrawideFixes219/6a5cfcb2e29672eb_0000000000000000_vs.txt @@ -4,7 +4,7 @@ #extension GL_ARB_shading_language_packing : enable // shader 6a5cfcb2e29672eb // Used for: (character selection) transparent background UW fix -const float scaleAspect = 1.3333333333333; +const float scaleAspect = $width/$height; uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Modifications/Splatoon_UltrawideFixes219/771cf3a9a165ebf7_0000000000000000_vs.txt b/Workarounds/Splatoon_UltrawideFixes219/771cf3a9a165ebf7_0000000000000000_vs.txt similarity index 99% rename from Modifications/Splatoon_UltrawideFixes219/771cf3a9a165ebf7_0000000000000000_vs.txt rename to Workarounds/Splatoon_UltrawideFixes219/771cf3a9a165ebf7_0000000000000000_vs.txt index b6a340a5..c3ba52e6 100644 --- a/Modifications/Splatoon_UltrawideFixes219/771cf3a9a165ebf7_0000000000000000_vs.txt +++ b/Workarounds/Splatoon_UltrawideFixes219/771cf3a9a165ebf7_0000000000000000_vs.txt @@ -4,7 +4,7 @@ #extension GL_ARB_shading_language_packing : enable // shader 771cf3a9a165ebf7 // Used for: (character selection) wavy background UW fix -const float scaleAspect = 1.3333333333333; +const float scaleAspect = $width/$height; uniform ivec4 uf_remappedVS[23]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Modifications/Splatoon_UltrawideFixes219/c6628888b292c921_0000000000000000_vs.txt b/Workarounds/Splatoon_UltrawideFixes219/c6628888b292c921_0000000000000000_vs.txt similarity index 99% rename from Modifications/Splatoon_UltrawideFixes219/c6628888b292c921_0000000000000000_vs.txt rename to Workarounds/Splatoon_UltrawideFixes219/c6628888b292c921_0000000000000000_vs.txt index 8f621786..389c8ce7 100644 --- a/Modifications/Splatoon_UltrawideFixes219/c6628888b292c921_0000000000000000_vs.txt +++ b/Workarounds/Splatoon_UltrawideFixes219/c6628888b292c921_0000000000000000_vs.txt @@ -4,7 +4,7 @@ #extension GL_ARB_shading_language_packing : enable // shader c6628888b292c921 // Used for: Ink splash damage UW fix -float scaleAspect = 1.3333333333333; +float scaleAspect = $width/$height; uniform ivec4 uf_remappedVS[38]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Modifications/Splatoon_UltrawideFixes219/c73bf8204f4ddceb_0000000000000000_vs.txt b/Workarounds/Splatoon_UltrawideFixes219/c73bf8204f4ddceb_0000000000000000_vs.txt similarity index 99% rename from Modifications/Splatoon_UltrawideFixes219/c73bf8204f4ddceb_0000000000000000_vs.txt rename to Workarounds/Splatoon_UltrawideFixes219/c73bf8204f4ddceb_0000000000000000_vs.txt index 33f7c323..632392d7 100644 --- a/Modifications/Splatoon_UltrawideFixes219/c73bf8204f4ddceb_0000000000000000_vs.txt +++ b/Workarounds/Splatoon_UltrawideFixes219/c73bf8204f4ddceb_0000000000000000_vs.txt @@ -4,7 +4,7 @@ #extension GL_ARB_shading_language_packing : enable // shader c73bf8204f4ddceb // GUI UW scaling shader -float scaleAspect = 1.3333333333333; +float scaleAspect = $width/$height; uniform ivec4 uf_uniformRegisterVS[256]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Modifications/Splatoon_UltrawideFixes219/f6fc641eb23547cf_0000000000000000_vs.txt b/Workarounds/Splatoon_UltrawideFixes219/f6fc641eb23547cf_0000000000000000_vs.txt similarity index 99% rename from Modifications/Splatoon_UltrawideFixes219/f6fc641eb23547cf_0000000000000000_vs.txt rename to Workarounds/Splatoon_UltrawideFixes219/f6fc641eb23547cf_0000000000000000_vs.txt index 58bcc855..991a4530 100644 --- a/Modifications/Splatoon_UltrawideFixes219/f6fc641eb23547cf_0000000000000000_vs.txt +++ b/Workarounds/Splatoon_UltrawideFixes219/f6fc641eb23547cf_0000000000000000_vs.txt @@ -4,7 +4,7 @@ #extension GL_ARB_shading_language_packing : enable // shader f6fc641eb23547cf // Used for: Some blurred backgrounds -float scaleAspect = 1.3333333333333; +float scaleAspect = $width/$height; uniform ivec4 uf_remappedVS[23]; uniform vec2 uf_windowSpaceToClipSpaceTransform; diff --git a/Workarounds/Splatoon_UltrawideFixes219/rules.txt b/Workarounds/Splatoon_UltrawideFixes219/rules.txt new file mode 100644 index 00000000..84803f5f --- /dev/null +++ b/Workarounds/Splatoon_UltrawideFixes219/rules.txt @@ -0,0 +1,48 @@ +[Definition] +titleIds = 0005000010176900,0005000010176A00,0005000010162B00 +name = "21:9 Ultrawide HUD Fixes" +path = "Splatoon/Workarounds/21:9 Ultrawide HUD Fixes" +description = "Attempts to fix HUD issues with the 21:9 aspect ratio patch." +version = 3 + +// 21:9 + +[Preset] +name = (21:9) 1280x540 +$width:int = 1280 +$height:int = 540 + +[Preset] +name = (21:9) 2100x900 +$width:int = 2560 +$height:int = 1080 + +[Preset] +name = (21:9) 2560x1080 +$width:int = 2560 +$height:int = 1080 + +[Preset] +name = (21:9) 3440x1440 +$width:int = 3440 +$height:int = 1440 + +[Preset] +name = (21:9) 4200x1800 +$width:int = 4200 +$height:int = 1800 + +[Preset] +name = (21:9) 5120x2160 +$width:int = 5120 +$height:int = 2160 + +[Preset] +name = (21:9) 10240x5320 +$width:int = 10240 +$height:int = 5320 + +[Preset] +name = (21:9) 13760x5760 +$width:int = 13760 +$height:int = 5760 diff --git a/Workarounds/SuperSmashBros_NoBoxingRingScreen/rules.txt b/Workarounds/SuperSmashBros_NoBoxingRingScreen/rules.txt new file mode 100644 index 00000000..9083ee3c --- /dev/null +++ b/Workarounds/SuperSmashBros_NoBoxingRingScreen/rules.txt @@ -0,0 +1,12 @@ +[Definition] +titleIds = 0005000010110E00,0005000010145000,0005000010144F00 +name = No Boxing Ring Screen +path = "Super Smash Bros. for Wii U/Workarounds/No Boxing Ring Screen" +description = Disables the boxing ring screen. +version = 3 + +[TextureRedefine] +width = 220 +height = 124 +overwriteWidth = 1 +overwriteHeight = 1 \ No newline at end of file diff --git a/Workaround/WindWakerHD_FPSSlowdownFix/patches.txt b/Workarounds/WindWakerHD_FPSSlowdownFix/patches.txt similarity index 100% rename from Workaround/WindWakerHD_FPSSlowdownFix/patches.txt rename to Workarounds/WindWakerHD_FPSSlowdownFix/patches.txt diff --git a/Workaround/WindWakerHD_FPSSlowdownFix/rules.txt b/Workarounds/WindWakerHD_FPSSlowdownFix/rules.txt similarity index 100% rename from Workaround/WindWakerHD_FPSSlowdownFix/rules.txt rename to Workarounds/WindWakerHD_FPSSlowdownFix/rules.txt diff --git a/Workaround/WindWakerHD_IntelFixes/patches.txt b/Workarounds/WindWakerHD_IntelFixes/patches.txt similarity index 100% rename from Workaround/WindWakerHD_IntelFixes/patches.txt rename to Workarounds/WindWakerHD_IntelFixes/patches.txt diff --git a/Workaround/WindWakerHD_IntelFixes/rules.txt b/Workarounds/WindWakerHD_IntelFixes/rules.txt similarity index 100% rename from Workaround/WindWakerHD_IntelFixes/rules.txt rename to Workarounds/WindWakerHD_IntelFixes/rules.txt diff --git a/Workaround/Wonderful101_ShadowRemoval/2a8afa64e98f2977_0000000000000000_vs.txt b/Workarounds/Wonderful101_ShadowRemoval/2a8afa64e98f2977_0000000000000000_vs.txt similarity index 100% rename from Workaround/Wonderful101_ShadowRemoval/2a8afa64e98f2977_0000000000000000_vs.txt rename to Workarounds/Wonderful101_ShadowRemoval/2a8afa64e98f2977_0000000000000000_vs.txt diff --git a/Workaround/Wonderful101_ShadowRemoval/5c0d907ed99903ab_0000000000000000_vs.txt b/Workarounds/Wonderful101_ShadowRemoval/5c0d907ed99903ab_0000000000000000_vs.txt similarity index 100% rename from Workaround/Wonderful101_ShadowRemoval/5c0d907ed99903ab_0000000000000000_vs.txt rename to Workarounds/Wonderful101_ShadowRemoval/5c0d907ed99903ab_0000000000000000_vs.txt diff --git a/Workarounds/Wonderful101_ShadowRemoval/rules.txt b/Workarounds/Wonderful101_ShadowRemoval/rules.txt new file mode 100644 index 00000000..663e0527 --- /dev/null +++ b/Workarounds/Wonderful101_ShadowRemoval/rules.txt @@ -0,0 +1,6 @@ +[Definition] +titleIds = 0005000010116300,000500001012DC00,0005000010135300 +name = Shadow Removal +path = "The Wonderful 101/Workaround/Shadow Removal" +description = This removes all broken shadows. +version = 3 diff --git a/Workarounds/XenobladeX_AdjustableBrightnessAMD/3cc7e98f78c258b4_00000000000003ca_ps.txt b/Workarounds/XenobladeX_AdjustableBrightnessAMD/3cc7e98f78c258b4_00000000000003ca_ps.txt new file mode 100644 index 00000000..3f20dec0 --- /dev/null +++ b/Workarounds/XenobladeX_AdjustableBrightnessAMD/3cc7e98f78c258b4_00000000000003ca_ps.txt @@ -0,0 +1,115 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +// shader 3cc7e98f78c258b4 // brightness workaround. +// To-do, .5 is daylight and 1.0 night is wiiu "correct" for nvidia +// changes here in turn "breaks" bloom as they over or under expose depending on day/night + +//old contrasty, or just copy paste clarity +const float gamma = 0.93; // 1.0 is neutral +const float exposure = 0.32; // 1.0 is neutral, first lessen to avoid truncation prob around .25 for radeon. +const float vibrance = 0.318; // 0.0 is neutral +const float lift = 0.002; // 0.0 is neutral. loss of shadow detail +const float postExposure = 1.05; // 1.0 is neutral, then slightly raise exposure back up. + +vec3 contrasty(vec3 colour){ + vec3 fColour = (colour.xyz); + + fColour = clamp(exposure * fColour, 0.0, 1.0); + fColour = pow(fColour, vec3(1.0 / gamma)); + float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114; + float mn = min(min(fColour.r, fColour.g), fColour.b); + float mx = max(max(fColour.r, fColour.g), fColour.b); + float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0; + vec3 lightness = vec3((mn + mx) / 2.0); +// vibrance + fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat); + fColour = max(vec3(0.0), fColour + vec3(lift)); + return fColour; +} + + +uniform ivec4 uf_remappedPS[1]; + +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 +layout(binding = 1) uniform sampler3D textureUnitPS1;// Tex1 addr 0x2603b000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; +highp float lineRand(vec2 co) +{ + highp float a = 12.9898; + highp float b = 78.233; + highp float c = 43758.5453; + highp float dt = dot(co.xy, vec2(a, b)); + highp float sn = mod(dt, 3.14); + return fract(sin(sn) * c); +} + +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; + +R0f.xyz = (texture(textureUnitPS0, R0f.xy).xyz) * (0.985 -(lineRand(gl_FragCoord.xy)*0.015)); +//R0f.xyz = R0f.xyz - (lineRand(gl_FragCoord.xy)*0.1); +// 0 +R0f.xyz = contrasty(R0f.xyz); +R127f.x = R0f.z * intBitsToFloat(uf_remappedPS[0].x); +R127f.x = clamp(R127f.x, 0.0, 1.0); +R127f.y = R0f.y * intBitsToFloat(uf_remappedPS[0].x); +R127f.y = clamp(R127f.y, 0.0, 1.0); +PV0f.z = R0f.x * intBitsToFloat(uf_remappedPS[0].x); +PV0f.z = clamp(PV0f.z, 0.0, 1.0); +R1f.w = 1.0; +// 1 +tempResultf = log2(PV0f.z); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1f = tempResultf; +// 2 +R127f.z = PS1f * intBitsToFloat(0x3ee8ba2e); +tempResultf = log2(R127f.y); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0f = tempResultf; +// 3 +R127f.w = PS0f * intBitsToFloat(0x3ee8ba2e); +tempResultf = log2(R127f.x); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1f = tempResultf; +// 4 +R127f.x = PS1f * intBitsToFloat(0x3ee8ba2e); +PS0f = exp2(R127f.z); +// 5 +R0f.x = (PS0f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w)); +PS1f = exp2(R127f.w); +// 6 +R0f.y = (PS1f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w)); +PS0f = exp2(R127f.x); +// 7 +R0f.z = (PS0f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w)); +R1f.xyz = (texture(textureUnitPS1, vec3(R0f.x,R0f.y,R0f.z)).xyz); +// export +//R1f = vec4(pow(R1f.xyz, vec3(1. / gammaPostExposure)), 1.0); + +passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w)*postExposure; +} diff --git a/Workarounds/XenobladeX_AdjustableBrightnessAMD/7b9f05b2bd8f3b71_0000000000000079_ps.txt b/Workarounds/XenobladeX_AdjustableBrightnessAMD/7b9f05b2bd8f3b71_0000000000000079_ps.txt new file mode 100644 index 00000000..3de62433 --- /dev/null +++ b/Workarounds/XenobladeX_AdjustableBrightnessAMD/7b9f05b2bd8f3b71_0000000000000079_ps.txt @@ -0,0 +1,97 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader 7b9f05b2bd8f3b71 +//skell cockpit brigthtness fix + minor colour tweak to balance broken bloom +const float exposure = 0.32; // 1.0 is neutral, first lessen to avoid truncation prob around .25 for radeon. +const float postExposure = 1.05; // 1.0 is neutral, then slightly raise exposure back up. +const float gamma = 0.93; // 1.0 is neutral +const float vibrance = 0.3175; // 0.0 is neutral +const float crushContrast = 0.000; // 0.0 is neutral. loss of shadow detail + + +uniform ivec4 uf_remappedPS[1]; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; + + +vec3 contrasty(vec3 colour) { + vec3 fColour = (colour.xyz); + + fColour = clamp(exposure * fColour, 0.0, 1.0); + fColour = pow(fColour, vec3(1.0 / gamma)); + float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114; + float mn = min(min(fColour.r, fColour.g), fColour.b); + float mx = max(max(fColour.r, fColour.g), fColour.b); + float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0; + vec3 lightness = vec3((mn + mx) / 2.0); + // vibrance + fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat); + fColour = max(vec3(0.0), fColour - vec3(crushContrast)); + return fColour; +} + +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); +// 0 +R0f.xyz = contrasty(R0f.xyz); + +backupReg0f = R0f.x; +backupReg1f = R0f.w; +PV0f.x = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[0].x)); +R127f.y = mul_nonIEEE(R0f.z, intBitsToFloat(uf_remappedPS[0].x)); +R127f.z = mul_nonIEEE(R0f.y, intBitsToFloat(uf_remappedPS[0].x)); +R0f.w = mul_nonIEEE(backupReg1f, intBitsToFloat(uf_remappedPS[0].x)); +// 1 +tempResultf = log2(PV0f.x); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1f = tempResultf; +// 2 +R127f.w = PS1f * intBitsToFloat(0x3ee8ba2e); +tempResultf = log2(R127f.z); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0f = tempResultf; +// 3 +R126f.w = PS0f * intBitsToFloat(0x3ee8ba2e); +tempResultf = log2(R127f.y); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1f = tempResultf; +// 4 +R127f.x = PS1f * intBitsToFloat(0x3ee8ba2e); +R0f.x = exp2(R127f.w); +PS0f = R0f.x; +// 5 +R0f.y = exp2(R126f.w); +PS1f = R0f.y; +// 6 +R0f.z = exp2(R127f.x); +PS0f = R0f.z; +// export +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w)*postExposure; +} diff --git a/Workaround/XenobladeX_AdjustableBrightness/bd74794730fc559a_00000000ff249249_ps.txt b/Workarounds/XenobladeX_AdjustableBrightnessAMD/bd74794730fc559a_00000000ff249249_ps.txt similarity index 100% rename from Workaround/XenobladeX_AdjustableBrightness/bd74794730fc559a_00000000ff249249_ps.txt rename to Workarounds/XenobladeX_AdjustableBrightnessAMD/bd74794730fc559a_00000000ff249249_ps.txt diff --git a/Workarounds/XenobladeX_AdjustableBrightnessAMD/d936195db0dd8e7d_0000000000001e52_ps.txt b/Workarounds/XenobladeX_AdjustableBrightnessAMD/d936195db0dd8e7d_0000000000001e52_ps.txt new file mode 100644 index 00000000..97e4c608 --- /dev/null +++ b/Workarounds/XenobladeX_AdjustableBrightnessAMD/d936195db0dd8e7d_0000000000001e52_ps.txt @@ -0,0 +1,129 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +// shader d936195db0dd8e7d +// cross fade brightness +// To-do, .5 is daylight and 1.0 night is wiiu "correct" for nvidia +// changes here in turn "breaks" bloom as they over or under expose depending on day/night + +//old contrasty, or just copy paste clarity +const float gamma = 0.93; // 1.0 is neutral +const float exposure = 0.32; // 1.0 is neutral, first lessen to avoid truncation prob around .25 for radeon. +const float vibrance = 0.318; // 0.0 is neutral +const float lift = 0.002; // 0.0 is neutral. loss of shadow detail +const float postExposure = 1.05; // 1.0 is neutral, then slightly raise exposure back up. + +vec3 contrasty(vec3 colour){ + vec3 fColour = (colour.xyz); + + fColour = clamp(exposure * fColour, 0.0, 1.0); + fColour = pow(fColour, vec3(1.0 / gamma)); + float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114; + float mn = min(min(fColour.r, fColour.g), fColour.b); + float mx = max(max(fColour.r, fColour.g), fColour.b); + float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0; + vec3 lightness = vec3((mn + mx) / 2.0); +// vibrance + fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat); + fColour = max(vec3(0.0), fColour + vec3(lift)); + return fColour; +} + +uniform ivec4 uf_remappedPS[1]; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 +layout(binding = 1) uniform sampler3D textureUnitPS1;// Tex1 addr 0x26032000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 +layout(binding = 2) uniform sampler3D textureUnitPS2;// Tex2 addr 0x2603b000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; +uniform vec2 uf_fragCoordScale; + +highp float lineRand(vec2 co) +{ + highp float a = 12.9898; + highp float b = 78.233; + highp float c = 43758.5453; + highp float dt = dot(co.xy, vec2(a, b)); + highp float sn = mod(dt, 3.14); + return fract(sin(sn) * c); +} + +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R0f.xyz = (texture(textureUnitPS0, R0f.xy).xyz) * (0.985 -(lineRand(gl_FragCoord.yx)*0.015)); +//R0f.xyz = (texture(textureUnitPS0, R0f.xy).xyz) *preExposure; +// 0 +R0f.xyz = contrasty(R0f.xyz); +backupReg0f = R0f.x; +PV0f.x = backupReg0f * intBitsToFloat(uf_remappedPS[0].x); +PV0f.x = clamp(PV0f.x, 0.0, 1.0); +R127f.z = R0f.z * intBitsToFloat(uf_remappedPS[0].x); +R127f.z = clamp(R127f.z, 0.0, 1.0); +R127f.w = R0f.y * intBitsToFloat(uf_remappedPS[0].x); +R127f.w = clamp(R127f.w, 0.0, 1.0); +R2f.w = 1.0; +PS0f = R2f.w; +// 1 +tempResultf = log2(PV0f.x); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1f = tempResultf; +// 2 +R127f.x = PS1f * intBitsToFloat(0x3ee8ba2e); +tempResultf = log2(R127f.w); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0f = tempResultf; +// 3 +R127f.y = PS0f * intBitsToFloat(0x3ee8ba2e); +tempResultf = log2(R127f.z); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1f = tempResultf; +// 4 +R127f.w = PS1f * intBitsToFloat(0x3ee8ba2e); +PS0f = exp2(R127f.x); +// 5 +R0f.x = (PS0f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w)); +PS1f = exp2(R127f.y); +// 6 +R0f.y = (PS1f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w)); +PS0f = exp2(R127f.w); +// 7 +R0f.z = (PS0f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w)); +R1f.xyz = (texture(textureUnitPS1, vec3(R0f.x,R0f.y,R0f.z)).xyz); +R0f.xyz = (texture(textureUnitPS2, vec3(R0f.x,R0f.y,R0f.z)).xyz); +// 0 +backupReg0f = R0f.y; +backupReg1f = R0f.x; +PV0f.x = R1f.z + -(R0f.z); +PV0f.y = R1f.y + -(backupReg0f); +PV0f.z = R1f.x + -(backupReg1f); +// 1 +R2f.x = (PV0f.z * intBitsToFloat(uf_remappedPS[0].y) + R0f.x); +R2f.y = (PV0f.y * intBitsToFloat(uf_remappedPS[0].y) + R0f.y); +R2f.z = (PV0f.x * intBitsToFloat(uf_remappedPS[0].y) + R0f.z); +// export +//R2f = vec4(pow(R2f.xyz, vec3(1. / gammaPostExposure)), 1.0); + +passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w)*postExposure; +} diff --git a/Workarounds/XenobladeX_AdjustableBrightnessAMD/rules.txt b/Workarounds/XenobladeX_AdjustableBrightnessAMD/rules.txt new file mode 100644 index 00000000..02775c06 --- /dev/null +++ b/Workarounds/XenobladeX_AdjustableBrightnessAMD/rules.txt @@ -0,0 +1,6 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = Brightness workaround AMD +path = "Xenoblade Chronicles X/Workaround/AMD Brightness Workaround" +description = Slightly less overbright/dark. Edit shader for preference. +version = 3 \ No newline at end of file diff --git a/Workaround/XenobladeX_AdjustableBrightness/3cc7e98f78c258b4_00000000000003ca_ps.txt b/Workarounds/XenobladeX_AdjustableBrightnessNvidia/3cc7e98f78c258b4_00000000000003ca_ps.txt similarity index 100% rename from Workaround/XenobladeX_AdjustableBrightness/3cc7e98f78c258b4_00000000000003ca_ps.txt rename to Workarounds/XenobladeX_AdjustableBrightnessNvidia/3cc7e98f78c258b4_00000000000003ca_ps.txt diff --git a/Workaround/XenobladeX_AdjustableBrightness/7b9f05b2bd8f3b71_0000000000000079_ps.txt b/Workarounds/XenobladeX_AdjustableBrightnessNvidia/7b9f05b2bd8f3b71_0000000000000079_ps.txt similarity index 100% rename from Workaround/XenobladeX_AdjustableBrightness/7b9f05b2bd8f3b71_0000000000000079_ps.txt rename to Workarounds/XenobladeX_AdjustableBrightnessNvidia/7b9f05b2bd8f3b71_0000000000000079_ps.txt diff --git a/Workarounds/XenobladeX_AdjustableBrightnessNvidia/bd74794730fc559a_00000000ff249249_ps.txt b/Workarounds/XenobladeX_AdjustableBrightnessNvidia/bd74794730fc559a_00000000ff249249_ps.txt new file mode 100644 index 00000000..e7fc52ab --- /dev/null +++ b/Workarounds/XenobladeX_AdjustableBrightnessNvidia/bd74794730fc559a_00000000ff249249_ps.txt @@ -0,0 +1,449 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +// shader bd74794730fc559a +//tweak glare, less J.J. Abrams +const float glare = 0.95; //reflection on skell, characters, metal objects etc +uniform ivec4 uf_remappedPS[12]; +layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5196000 res 1280x720x1 dim 1 tm: 4 format 0810 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0 +layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4386000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0 +layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0xf5d48000 res 1x1x1 dim 1 tm: 2 format 0008 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 0 +layout(binding = 3) uniform sampler2D textureUnitPS3;// Tex3 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler3 ClampX/Y/Z: 2 2 2 border: 0 +layout(binding = 4) uniform sampler2D textureUnitPS4;// Tex4 addr 0xf4a8e000 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler4 ClampX/Y/Z: 2 2 2 border: 0 +layout(binding = 5) uniform sampler2D textureUnitPS5;// Tex5 addr 0xf4e12000 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler5 ClampX/Y/Z: 2 2 2 border: 0 +layout(binding = 7) uniform sampler2D textureUnitPS7;// Tex7 addr 0xf589e000 res 640x360x1 dim 1 tm: 4 format 0007 compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler7 ClampX/Y/Z: 2 2 2 border: 0 +layout(binding = 9) uniform sampler2D textureUnitPS9;// Tex9 addr 0xf5ff0000 res 64x64x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler9 ClampX/Y/Z: 2 2 2 border: 0 +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem2; +layout(location = 3) in vec4 passParameterSem3; +layout(location = 0) out vec4 passPixelColor0; +layout(location = 1) out vec4 passPixelColor1; +uniform vec2 uf_fragCoordScale; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R5f = vec4(0.0); +vec4 R6f = vec4(0.0); +vec4 R7f = vec4(0.0); +vec4 R8f = vec4(0.0); +vec4 R9f = vec4(0.0); +vec4 R10f = vec4(0.0); +vec4 R11f = vec4(0.0); +vec4 R12f = vec4(0.0); +vec4 R13f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R124f = vec4(0.0); +vec4 R125f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R1f = passParameterSem1; +R2f = passParameterSem2; +R3f = passParameterSem3; +R4f.xyzw = (texture(textureUnitPS1, R2f.xy).xyzw); +R5f.xy = (texture(textureUnitPS0, R2f.xy).xy); +R6f.x = (texture(textureUnitPS2, R1f.xy).x); +R11f.xyzw = (texture(textureUnitPS3, R2f.xy).xyzw); +R7f.xyzw = (texture(textureUnitPS5, R2f.xy).xyzw); +R0f.x = (texture(textureUnitPS7, R0f.xy).x); +R10f.xyzw = (texture(textureUnitPS4, R2f.xy).xyzw); +// 0 +tempf.x = dot(vec4(R4f.x,R4f.y,R4f.z,-0.0),vec4(intBitsToFloat(0x3e000000),intBitsToFloat(0x41ff0000),intBitsToFloat(0x45fe0100),0.0)); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R127f.y = tempf.x; +PS0f = 1.0 / R3f.z; +// 1 +R127f.x = 0.0; +PV1f.y = max(R4f.w, intBitsToFloat(0x3c23d70a)); +R127f.z = -(PV0f.x); +PV1f.w = -(PV0f.x) * PS0f; +PS1f = intBitsToFloat(uf_remappedPS[0].y) + -(0.0); +// 2 +backupReg0f = R127f.y; +R126f.x = mul_nonIEEE(R3f.x, PV1f.w); +PV0f.x = R126f.x; +R127f.y = mul_nonIEEE(R3f.y, PV1f.w); +PV0f.y = R127f.y; +R126f.z = backupReg0f + -(intBitsToFloat(uf_remappedPS[1].x)); +PV0f.w = min(PV1f.y, 1.0); +R125f.y = mul_nonIEEE(R6f.x, PS1f); +PS0f = R125f.y; +// 3 +tempf.x = dot(vec4(PV0f.x,PV0f.y,R127f.z,-0.0),vec4(PV0f.x,PV0f.y,R127f.z,0.0)); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R126f.y = PV0f.w * intBitsToFloat(0x41400000); +PS1f = R126f.y; +// 4 +tempf.x = dot(vec4(R5f.x,R5f.y,R127f.x,-0.0),vec4(R5f.x,R5f.y,R5f.y,0.0)); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +tempResultf = 1.0 / sqrt(PV1f.x); +PS0f = tempResultf; +// 5 +R8f.x = mul_nonIEEE(R126f.x, PS0f); +PV1f.x = R8f.x; +R1f.y = mul_nonIEEE(R127f.y, PS0f); +PV1f.y = R1f.y; +R1f.z = mul_nonIEEE(R127f.z, PS0f); +PV1f.z = R1f.z; +PV1f.w = -(PV0f.x) + 1.0; +R1f.x = exp2(R126f.y); +PS1f = R1f.x; +// 6 +R4f.x = -(PV1f.x) + intBitsToFloat(uf_remappedPS[2].x); +R3f.y = -(PV1f.y) + intBitsToFloat(uf_remappedPS[2].y); +R3f.z = -(PV1f.z) + intBitsToFloat(uf_remappedPS[2].z); +PV0f.w = max(PV1f.w, -(PV1f.w)); +R2f.y = PS1f + 1.0; +PS0f = R2f.y; +// 7 +R2f.x = -(R8f.x) + intBitsToFloat(uf_remappedPS[3].x); +R4f.y = -(R1f.y) + intBitsToFloat(uf_remappedPS[3].y); +R4f.z = -(R1f.z) + intBitsToFloat(uf_remappedPS[3].z); +R127f.w = -(R125f.y) + 1.0; +R0f.z = sqrt(PV0f.w); +PS1f = R0f.z; +// 8 +tempf.x = dot(vec4(R5f.x,R5f.y,PS1f,-0.0),vec4(-(R8f.x),-(R1f.y),-(R1f.z),0.0)); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +PS0f = mul_nonIEEE(R126f.z, intBitsToFloat(uf_remappedPS[1].y)); +// 9 +backupReg0f = R0f.x; +PV1f.x = PV0f.x + PV0f.x; +PV1f.y = max(PS0f, 0.0); +R123f.z = (mul_nonIEEE(R127f.w,backupReg0f) + R125f.y); +PV1f.z = R123f.z; +PV1f.w = -(R10f.w) + 1.0; +R12f.x = mul_nonIEEE(R10f.x, R10f.w); +PS1f = R12f.x; +// 10 +PV0f.x = R3f.z * R3f.z; +R6f.y = mul_nonIEEE(PV1f.z, PV1f.w); +R123f.z = (mul_nonIEEE(-(PV1f.x),R5f.x) + -(R8f.x))/2.0; +PV0f.z = R123f.z; +R123f.w = (mul_nonIEEE(-(PV1f.x),R5f.y) + -(R1f.y))/2.0; +PV0f.w = R123f.w; +tempResultf = log2(PV1f.y); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0f = tempResultf; +// 11 +R0f.x = PV0f.z + 0.5; +R0f.y = PV0f.w + 0.5; +R12f.z = mul_nonIEEE(R10f.z, R10f.w); +R4f.w = mul_nonIEEE(PS0f, intBitsToFloat(uf_remappedPS[1].z)); +R3f.x = (R3f.y * R3f.y + PV0f.x); +PS1f = R3f.x; +R9f.xyz = (texture(textureUnitPS9, R0f.xy).xyz); +// 0 +R123f.x = (R4f.x * R4f.x + R3f.x); +PV0f.x = R123f.x; +R12f.y = mul_nonIEEE(R10f.y, R10f.w); +PV0f.z = R4f.z * R4f.z; +R13f.w = 0.0; +R125f.y = exp2(R4f.w); +PS0f = R125f.y; +// 1 +tempf.x = dot(vec4(R2f.x,R4f.y,PV0f.z,-0.0),vec4(R2f.x,R4f.y,1.0,0.0)); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +tempResultf = 1.0 / sqrt(PV0f.x); +PS1f = tempResultf; +// 2 +backupReg0f = R125f.y; +R126f.x = mul_nonIEEE(R4f.x, PS1f); +R125f.y = mul_nonIEEE(R3f.y, PS1f); +R126f.z = mul_nonIEEE(R3f.z, PS1f); +PV0f.z = R126f.z; +PV0f.w = min(backupReg0f, 1.0); +tempResultf = 1.0 / sqrt(PV1f.x); +PS0f = tempResultf; +// 3 +R127f.x = mul_nonIEEE(R2f.x, PS0f); +R127f.y = mul_nonIEEE(R4f.y, PS0f); +R127f.z = mul_nonIEEE(R4f.z, PS0f); +R0f.w = mul_nonIEEE(PV0f.w, intBitsToFloat(uf_remappedPS[1].w)); +PS1f = mul_nonIEEE(R0f.z, PV0f.z); +// 4 +tempf.x = dot(vec4(R5f.x,R5f.y,PS1f,-0.0),vec4(R126f.x,R125f.y,1.0,0.0)); +tempf.x = clamp(tempf.x, 0.0, 1.0); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +PS0f = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z), R126f.z); +// 5 +tempf.x = dot(vec4(intBitsToFloat(uf_remappedPS[2].x),intBitsToFloat(uf_remappedPS[2].y),PS0f,-0.0),vec4(R126f.x,R125f.y,1.0,0.0)); +tempf.x = clamp(tempf.x, 0.0, 1.0); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +tempResultf = log2(PV0f.x); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +R126f.x = tempResultf; +PS1f = R126f.x; +// 6 +backupReg0f = R0f.z; +tempf.x = dot(vec4(R5f.x,R5f.y,backupReg0f,-0.0),vec4(R127f.x,R127f.y,R127f.z,0.0)); +tempf.x = clamp(tempf.x, 0.0, 1.0); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R125f.x = PV1f.x * intBitsToFloat(0x41800000); +PS0f = R125f.x; +// 7 +tempf.x = dot(vec4(intBitsToFloat(uf_remappedPS[3].x),intBitsToFloat(uf_remappedPS[3].y),intBitsToFloat(uf_remappedPS[3].z),-0.0),vec4(R127f.x,R127f.y,R127f.z,0.0)); +tempf.x = clamp(tempf.x, 0.0, 1.0); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +tempResultf = log2(PV0f.x); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1f = tempResultf; +// 8 +backupReg0f = R126f.x; +R126f.x = mul_nonIEEE(R1f.x, PS1f); +PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].z), R1f.z); +PV0f.z = PV1f.x * intBitsToFloat(0x41800000); +R127f.w = mul_nonIEEE(R1f.x, backupReg0f); +PS0f = 1.0 / R125f.x; +// 9 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].y),R1f.y) + PV0f.y); +PV1f.x = R123f.x; +PV1f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z), R0f.z); +R127f.z = R2f.y * PS0f; +PV1f.w = R11f.z * intBitsToFloat(0x41200000); +PS1f = 1.0 / PV0f.z; +// 10 +R125f.x = R2f.y * PS1f; +R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R5f.y) + PV1f.y); +PV0f.y = R123f.y; +R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[4].x),R8f.x) + PV1f.x); +PV0f.z = R123f.z; +R123f.w = (R11f.y * intBitsToFloat(0x41200000) + PV1f.w); +PV0f.w = R123f.w; +PS0f = exp2(R127f.w); +// 11 +R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R5f.x) + PV0f.y); +R123f.x = clamp(R123f.x, 0.0, 1.0); +PV1f.x = R123f.x; +PV1f.y = mul_nonIEEE(PS0f, R127f.z); +PV1f.z = max(PV0f.z, -(PV0f.z)); +R125f.w = (R11f.x * intBitsToFloat(0x41200000) + PV0f.w); +R125f.w = clamp(R125f.w, 0.0, 1.0); +PV1f.w = R125f.w; +PS1f = exp2(R126f.x); +// 12 +backupReg0f = R125f.x; +R125f.x = mul_nonIEEE(PV1f.x, PV1f.y); +R125f.x = clamp(R125f.x, 0.0, 1.0); +R125f.y = -(PV1f.z) + 1.0; +R125f.y = clamp(R125f.y, 0.0, 1.0); +PV0f.y = R125f.y; +R126f.z = mul_nonIEEE(R6f.x, PV1f.x); +R127f.w = mul_nonIEEE(PS1f, backupReg0f); +R124f.x = (mul_nonIEEE(PV1f.w,intBitsToFloat(uf_remappedPS[5].y)) + R11f.x); +PS0f = R124f.x; +// 13 +backupReg0f = R0f.z; +tempf.x = dot(vec4(intBitsToFloat(uf_remappedPS[3].x),intBitsToFloat(uf_remappedPS[3].y),intBitsToFloat(uf_remappedPS[3].z),-0.0),vec4(R5f.x,R5f.y,backupReg0f,0.0)); +tempf.x = clamp(tempf.x, 0.0, 1.0); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R126f.w = tempf.x; +tempResultf = log2(PV0f.y); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS1f = tempResultf; +// 14 +backupReg0f = R125f.x; +R125f.x = mul_nonIEEE(PS1f, intBitsToFloat(uf_remappedPS[6].w)); +R127f.y = mul_nonIEEE(R124f.x, R9f.x); +PV0f.z = mul_nonIEEE(PV1f.x, R127f.w); +PV0f.z = clamp(PV0f.z, 0.0, 1.0); +PV0f.w = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[7].w)); +// 15 +backupReg0f = R126f.w; +backupReg0f = R126f.w; +R126f.x = mul_nonIEEE(R126f.w, intBitsToFloat(uf_remappedPS[8].x)); +PV1f.y = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedPS[8].w)); +R127f.z = mul_nonIEEE(R6f.x, PV0f.w); +R126f.w = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[8].y)); +R125f.z = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[8].z)); +PS1f = R125f.z; +// 16 +PV0f.x = mul_nonIEEE(PV1f.y, intBitsToFloat(uf_remappedPS[8].z)); +PV0f.y = mul_nonIEEE(PV1f.y, intBitsToFloat(uf_remappedPS[8].y)); +PV0f.z = mul_nonIEEE(PV1f.y, intBitsToFloat(uf_remappedPS[8].x)); +R4f.w = mul_nonIEEE(R11f.w, R127f.y); +R5f.y = exp2(R125f.x); +PS0f = R5f.y; +// 17 +backupReg0f = R126f.x; +R126f.x = (mul_nonIEEE(R126f.z,intBitsToFloat(uf_remappedPS[7].x)) + backupReg0f); +R123f.y = (mul_nonIEEE(R127f.z,intBitsToFloat(uf_remappedPS[7].z)) + PV0f.x); +PV1f.y = R123f.y; +R123f.z = (mul_nonIEEE(R127f.z,intBitsToFloat(uf_remappedPS[7].y)) + PV0f.y); +PV1f.z = R123f.z; +R123f.w = (mul_nonIEEE(R127f.z,intBitsToFloat(uf_remappedPS[7].x)) + PV0f.z); +PV1f.w = R123f.w; +R125f.x = (mul_nonIEEE(R126f.z,intBitsToFloat(uf_remappedPS[7].y)) + R126f.w); +PS1f = R125f.x; +// 18 +backupReg0f = R126f.z; +R127f.x = (R7f.w * 2.0 + PV1f.w); +R127f.y = (R7f.w * 2.0 + PV1f.y); +R126f.z = (R7f.w * 2.0 + PV1f.z); +R123f.w = (mul_nonIEEE(backupReg0f,intBitsToFloat(uf_remappedPS[7].z)) + R125f.z); +PV0f.w = R123f.w; +R0f.z = (mul_nonIEEE(R125f.w,intBitsToFloat(uf_remappedPS[5].y)) + R11f.y); +PS0f = R0f.z; +// 19 +backupReg0f = R126f.x; +backupReg1f = R125f.w; +backupReg2f = R7f.z; +R126f.x = R5f.y + -(intBitsToFloat(0x3f4ccccd)); +R2f.y = (R7f.x * 2.0 + backupReg0f); +R4f.z = (R7f.y * 2.0 + R125f.x); +R125f.w = (mul_nonIEEE(backupReg1f,intBitsToFloat(uf_remappedPS[5].y)) + R11f.z); +R7f.z = (backupReg2f * 2.0 + PV0f.w); +PS1f = R7f.z; +// 20 +backupReg0f = R1f.y; +tempf.x = dot(vec4(intBitsToFloat(uf_remappedPS[9].x),intBitsToFloat(uf_remappedPS[9].y),intBitsToFloat(uf_remappedPS[9].z),-0.0),vec4(R8f.x,backupReg0f,R1f.z,0.0)); +tempf.x = clamp(tempf.x, 0.0, 1.0); +PV0f.x = tempf.x; +PV0f.y = tempf.x; +PV0f.z = tempf.x; +PV0f.w = tempf.x; +R1f.y = tempf.x; +R4f.y = mul_nonIEEE(R127f.x, R124f.x); +PS0f = R4f.y; +// 21 +R8f.x = mul_nonIEEE(R126f.z, R0f.z); +R7f.y = R126f.x * intBitsToFloat(0x40a00000); +R7f.y = clamp(R7f.y, 0.0, 1.0); +R1f.z = (R125f.y * intBitsToFloat(0x3f733333) + -(R5f.y)); +R7f.w = mul_nonIEEE(R127f.y, R125f.w); +R3f.y = mul_nonIEEE(R125f.w, R9f.z); +PS1f = R3f.y; +// 0 +R126f.x = (mul_nonIEEE(R10f.z,R7f.z) + R7f.w); +R127f.y = (mul_nonIEEE(R1f.z,R7f.y) + R5f.y); +R127f.w = R7f.z + R7f.w; +tempResultf = log2(R1f.y); +if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F; +PS0f = tempResultf; +// 1 +backupReg0f = R0f.z; +R123f.x = (mul_nonIEEE(R10f.x,R2f.y) + R4f.y); +PV1f.x = R123f.x; +R126f.y = R2f.y + R4f.y; +PV1f.z = mul_nonIEEE(backupReg0f, R9f.y); +R125f.w = mul_nonIEEE(PS0f, intBitsToFloat(uf_remappedPS[10].w)); +R127f.x = R4f.z + R8f.x; +PS1f = R127f.x; +// 2 +R123f.x = (mul_nonIEEE(R6f.y,PV1f.x) + R12f.x); +PV0f.x = R123f.x; +R123f.y = (mul_nonIEEE(R10f.y,R4f.z) + R8f.x); +PV0f.y = R123f.y; +R126f.z = mul_nonIEEE(R11f.w, R3f.y); +R126f.w = mul_nonIEEE(R11f.w, PV1f.z); +R125f.y = (mul_nonIEEE(R6f.y,R126f.x) + R12f.z); +PS0f = R125f.y; +// 3 +backupReg0f = R125f.w; +R126f.x = (mul_nonIEEE(R127f.y,intBitsToFloat(uf_remappedPS[6].x)) + intBitsToFloat(uf_remappedPS[11].x)); +R124f.y = (R4f.w * intBitsToFloat(0x40a00000) + PV0f.x); +R123f.z = (mul_nonIEEE(R6f.y,PV0f.y) + R12f.y); +PV1f.z = R123f.z; +R125f.w = (mul_nonIEEE(R127f.y,intBitsToFloat(uf_remappedPS[6].y)) + intBitsToFloat(uf_remappedPS[11].y)); +R125f.z = exp2(backupReg0f); +PS1f = R125f.z; +// 4 +backupReg0f = R127f.y; +R124f.x = (R126f.z * intBitsToFloat(0x40a00000) + R125f.y); +R127f.y = (mul_nonIEEE(R6f.y,R127f.w) + R12f.z); +R123f.z = (mul_nonIEEE(backupReg0f,intBitsToFloat(uf_remappedPS[6].z)) + intBitsToFloat(uf_remappedPS[11].z)); +PV0f.z = R123f.z; +R127f.w = (R126f.w * intBitsToFloat(0x40a00000) + PV1f.z); +// 5 +backupReg0f = R125f.z; +R123f.x = (mul_nonIEEE(R125f.z,intBitsToFloat(uf_remappedPS[10].y)) + R125f.w); +PV1f.x = R123f.x; +R123f.y = (mul_nonIEEE(R125f.z,intBitsToFloat(uf_remappedPS[10].x)) + R126f.x); +PV1f.y = R123f.y; +R125f.z = (mul_nonIEEE(R6f.y,R126f.y) + R12f.x); +R123f.w = (mul_nonIEEE(backupReg0f,intBitsToFloat(uf_remappedPS[10].z)) + PV0f.z); +PV1f.w = R123f.w; +R126f.y = (mul_nonIEEE(R6f.y,R127f.x) + R12f.y); +PS1f = R126f.y; +// 6 +backupReg0f = R127f.y; +R127f.x = -(R124f.x) + PV1f.w; +R127f.y = -(R127f.w) + PV1f.x; +PV0f.z = -(R124f.y) + PV1f.y; +PS0f = backupReg0f * intBitsToFloat(0x3e2aaac1); +// 7 +tempf.x = dot(vec4(R125f.z,R126f.y,PS0f,-0.0),vec4(intBitsToFloat(0x3e2aaac1),intBitsToFloat(0x3e2aaac1),1.0,0.0)); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +R12f.w = tempf.x; +R13f.x = (mul_nonIEEE(PV0f.z,R0f.w) + R124f.y); +PS1f = R13f.x; +// 8 +R13f.y = (mul_nonIEEE(R127f.y,R0f.w) + R127f.w); +R13f.z = (mul_nonIEEE(R127f.x,R0f.w) + R124f.x); +// 9 +R1f.xyz = vec3(R12f.x,R12f.y,R12f.z); +R1f.w = R12f.w; +// 10 +R0f.xyz = vec3(R13f.x,R13f.y,R13f.z); +R0f.w = R13f.w; +// export +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w)*glare; //reduce glare +passPixelColor1 = vec4(R1f.x, R1f.y, R1f.z, R1f.w); +} diff --git a/Workaround/XenobladeX_AdjustableBrightness/d936195db0dd8e7d_0000000000001e52_ps.txt b/Workarounds/XenobladeX_AdjustableBrightnessNvidia/d936195db0dd8e7d_0000000000001e52_ps.txt similarity index 100% rename from Workaround/XenobladeX_AdjustableBrightness/d936195db0dd8e7d_0000000000001e52_ps.txt rename to Workarounds/XenobladeX_AdjustableBrightnessNvidia/d936195db0dd8e7d_0000000000001e52_ps.txt diff --git a/Workarounds/XenobladeX_AdjustableBrightnessNvidia/rules.txt b/Workarounds/XenobladeX_AdjustableBrightnessNvidia/rules.txt new file mode 100644 index 00000000..f81b9f7b --- /dev/null +++ b/Workarounds/XenobladeX_AdjustableBrightnessNvidia/rules.txt @@ -0,0 +1,6 @@ +[Definition] +titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00 +name = Brightness workaround Nvida +path = "Xenoblade Chronicles X/Workaround/NVIDIA Brightness Workaround" +description = Slightly less overbright/dark. Edit shader for preference. +version = 3 \ No newline at end of file diff --git a/build.sh b/build.sh deleted file mode 100755 index 6c1f25e4..00000000 --- a/build.sh +++ /dev/null @@ -1,245 +0,0 @@ -#!/bin/bash -BGREEN='\033[1;32m' -GREEN='\033[0;32m' -BCYAN='\033[1;36m' -RED='\033[0;31m' - -NC='\033[0m' # Removes Color - -echo -e "${RED}Building $buildType resolutions of the graphic packs.\n" - -baseOutDir=$1 -if [ -n "$baseOutDir" ]; then - if [ ! -d "$baseOutDir" ]; then - echo -e "${GREEN}Making base output directory ${BGREEN}$baseOutDir\n" - mkdir "$baseOutDir" - fi -fi - -build_dir () { - srcDir=$1 - dstDir=$2 - if [ -n "$baseOutDir" ]; then - dstDir="$baseOutDir/$dstDir" - fi - params=( "$@" ) - rest=( "${params[@]:2}" ) - - if [ ! -d "$dstDir" ]; then - mkdir -p "$dstDir" - else - rm "$dstDir"/*.txt - fi - - for f in "$srcDir"/*.txt - do - filename=`basename $f` - outName="$dstDir/$filename" - echo -e "\t${GREEN}[PHP] ${NC}Exec $f to $outName with params ${rest[@]}" - php "$f" "${rest[@]}" > "$outName" - - if [ $? -ne 0 ]; then - rm "$outName" - fi - done -} - -res_144p=( "Performance" 256 144 ) -res_240p=( "Performance" 426 240 ) -res_360p489=( "Performance" 1920 360 ) -res_360p=( "Performance" 640 360 ) -res_420p=( "Performance" 854 480 ) -res_480p489=( "Performance" 2562 480 ) -res_480p=( "Performance" 854 480 ) -res_540p219=( "Performance" 1280 540 ) -res_540p489=( "Performance" 2880 540 ) -res_540p=( "Performance" 960 540 ) -res_720p219=( "Performance" 1706 720 ) -res_720p489=( "Performance" 3840 720 ) -res_720p=( "Performance" 1280 720 ) -res_768p=( "Quality" 1366 768 ) -res_900p219=( "Quality" 2100 900 ) -res_900p489=( "Quality" 4800 900 ) -res_900p=( "Quality" 1600 900 ) -res_1080p219=( "Quality" 2560 1080 ) -res_1080p489=( "Quality" 5760 1080 ) -res_1080p=( "Quality" 1920 1080 ) -res_1440p219=( "Quality" 3440 1440 ) -res_1440p489=( "Quality" 7680 1440 ) -res_1440p=( "Quality" 2560 1440 ) -res_1536p=( "Quality" 2732 1536 ) -res_1800p219=( "Quality" 4200 1800 ) -res_1800p489=( "Quality" 9600 1800 ) -res_1800p=( "Quality" 3200 1800 ) -res_2160p219=( "Quality" 5120 2160 ) -res_2160p489=( "Quality" 11520 2160 ) -res_2160p=( "Quality" 3840 2160 ) -res_2880p219=( "Enthusiast" 6880 2880 ) -res_2880p489=( "Enthusiast" 15360 2880 ) -res_2880p=( "Enthusiast" 5120 2880 ) -res_4320p219=( "Enthusiast" 10240 4320 ) -res_4320p489=( "Enthusiast" 23040 4320 ) -res_4320p=( "Enthusiast" 7680 4320 ) -res_5760p219=( "Enthusiast" 13760 5760 ) -res_5760p489=( "Enthusiast" 30720 5760 ) -res_5760p=( "Enthusiast" 10240 5760 ) - -std_respack () { - gameName=$1 - params=( "$@" ) - rest=( "${params[@]:1}" ) - echo -e "travis_fold:start:$gameName" - echo -e "${GREEN}[Building] ${BCYAN}$gameName ${NC}for ${rest[@]}" - for arrg in "${rest[@]}" - do - resvarname="res_${arrg}[@]" - if [ -v "$resvarname" ]; then - resdata=( "${!resvarname}" ) - prefix="${resdata[0]}" - subparams=( "${resdata[@]:1}" ) - - inFolder="Source/$gameName" - outFolder="${gameName}_${arrg}" - if [ -n "$prefix" ]; then - outFolder="$prefix/$outFolder" - fi - - #width="${subparams[0]}" - #height="${subparams[1]}" - #echo "$arrg w: $width h: $height inFolder: $inFolder outFolder: $outFolder" - build_dir "$inFolder" "$outFolder" "${subparams[@]}" - elif [ -n "$arrg" ]; then #only if requested resolution name not empty (which happens when you remove array elem naively) - echo -e "${RED}$arrg resolution not defined, define it in build.sh" - exit 1 - fi - done - echo -e "travis_fold:end:$gameName" -} - -mod_onearg () { - params=( "$@" ) - subparams=( "${params[@]:1}" ) - mod_folder="${params[0]}" - echo -e "travis_fold:start:$mod_folder" - echo -e "${GREEN}[Building] ${BCYAN}$mod_folder ${NC}with arguments: ${subparams[@]}" - for arrg in "${subparams[@]}" - do - inFolder="Source/$mod_folder" - - outFolder="Modifications/${mod_folder}_${arrg}" - - #echo "${arrg} inFolder: $inFolder outFolder: $outFolder" - build_dir "$inFolder" "$outFolder" "$arrg" - done - echo -e "travis_fold:end:$mod_folder" -} - -if [ "$buildType" = "Common" ]; then - res16by9=( "480p" "720p" "900p" "1080p" "1440p" "2160p" "2880p" ) - res21by9=( "720p219" "1080p219" "1440p219" "2160p219" "2880p219" ) - just720p=( "720p" ) - just1080p=( "1080p" ) - else - res16by9=( "144p" "240p" "360p" "420p" "480p" "540p" "720p" "768p" "900p" "1080p" "1440p" "1536p" "1800p" "2160p" "2880p" "4320p" "5760p" ) - res21by9=( "540p219" "720p219" "900p219" "1080p219" "1440p219" "1800p219" "2160p219" "2880p219" "4320p219" "5760p219" ) - res48by9=( "360p489" "480p489" "540p489" "720p489" "900p489" "1080p489" "1440p489" "1800p489" "2160p489" "2880p489" "4320p489" "5760p489" ) - just720p=( "720p" ) - just1080p=( "1080p" ) -fi - -std_respack "AdventureTimeEtDBIDK" "${res16by9[@]/$just1080p}" -std_respack "AdventureTimeFJI" "${res16by9[@]/$just720p}" -std_respack "AmiiboFestival" "${res16by9[@]/$just720p}" -std_respack "AquaTV" "${res16by9[@]/$just720p}" -std_respack "BatmanArkham" "${res16by9[@]/$just720p}" -std_respack "Bayonetta" "${res16by9[@]/$just720p}" -std_respack "Bayonetta2" "${res16by9[@]/$just720p}" -std_respack "Ben10Omniverse" "${res16by9[@]/$just720p}" -std_respack "BreathOfTheWild" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}" -std_respack "Brunswick" "${res16by9[@]/$just720p}" -std_respack "CaptainToad" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}" -std_respack "Chariot" "${res16by9[@]/$just720p}" -std_respack "ChimpuzzlePro" "${res16by9[@]/$just720p}" -std_respack "ChompyChompChompParty" "${res16by9[@]/$just720p}" -std_respack "CitizensOfEarth" "${res16by9[@]/$just720p}" -std_respack "ColorSplash" "${res16by9[@]/$just720p}" -std_respack "DevilsThird" "${res16by9[@]/$just720p}" -std_respack "DuckTalesRemastered" "${res16by9[@]/$just1080p}" -std_respack "ElectronicSuperJoyGrooveCity" "${res16by9[@]/$just1080p}" -std_respack "FASTRacingNEO" "${res16by9[@]/$just720p}" -std_respack "FamilyTennisSP" "${res16by9[@]/$just720p}" -std_respack "FistoftheNorthStar" "${res16by9[@]/$just720p}" -std_respack "FrenchyBird" "${res16by9[@]/$just720p}" -std_respack "GhostBladeHD" "${res16by9[@]/$just720p}" -std_respack "GhostlyAdventures" "${res16by9[@]/$just720p}" -std_respack "GhostlyAdventures2" "${res16by9[@]/$just720p}" -std_respack "GianaSistersTwistedDreams" "${res16by9[@]/$just720p}" -std_respack "Guacamelee" "${res16by9[@]/$just720p}" -std_respack "HyruleWarriors" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}" -std_respack "InfinityRunner" "${res16by9[@]/$just720p}" -std_respack "KamenRider" "${res16by9[@]/$just720p}" -std_respack "KickandFennick" "${res16by9[@]/$just720p}" -std_respack "KirbyRainbowCurse" "${res16by9[@]/$just720p}" -std_respack "KungFuPanda" "${res16by9[@]/$just720p}" -std_respack "LEGOCityUndercover" "${res16by9[@]/$just720p}" -std_respack "MarioKart8" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}" -std_respack "MarioSonicRio" "${res16by9[@]/$just720p}" -std_respack "MarioSonicSochi" "${res16by9[@]/$just720p}" -std_respack "MarioTennis" "${res16by9[@]/$just720p}" -std_respack "MarioParty10" "${res16by9[@]/$just720p}" -std_respack "Minecraft" "${res16by9[@]/$just720p}" -std_respack "MinecraftStory" "${res16by9[@]/$just720p}" -std_respack "MonsterHunter3Ultimate" "${res16by9[@]/$just1080p}" -std_respack "NBA2K13" "${res16by9[@]/$just720p}" -std_respack "NewSuperMarioBrosU" "${res16by9[@]/$just720p}" -std_respack "NinjaGaiden3RE" "${res16by9[@]/$just720p}" -std_respack "NintendoLand" "${res16by9[@]/$just720p}" -std_respack "OnePiece" "${res16by9[@]/$just720p}" -std_respack "PaperMonstersRecut" "${res16by9[@]/$just720p}" -std_respack "PhineasFerb" "${res16by9[@]/$just720p}" -std_respack "Pikmin3" "${res16by9[@]/$just720p}" -std_respack "PokkenTournament" "${res16by9[@]/$just720p}" -std_respack "ProjectZero" "${res16by9[@]/$just720p}" -std_respack "PuyoPuyoTetris" "${res16by9[@]/$just1080p}" -std_respack "RiseOfLyric" "${res16by9[@]/$just720p}" -std_respack "Runner2" "${res16by9[@]/$just720p}" -std_respack "SanatoryHallways" "${res16by9[@]/$just720p}" -std_respack "ScribblenautsUnlimited" "${res16by9[@]/$just720p}" -std_respack "ScribblenautsUnmasked" "${res16by9[@]/$just720p}" -std_respack "Severed" "${res16by9[@]/$just720p}" -std_respack "ShantaeHGH" "${res16by9[@]/$just1080p}" -std_respack "ShovelKnight" "${res16by9[@]/$just1080p}" -std_respack "Smurfs2" "${res16by9[@]/$just1080p}" -std_respack "SonicLostWorld" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}" -std_respack "Splatoon" "${res16by9[@]/$just720p}" "${res21by9[@]}" -std_respack "SpongeBob" "${res16by9[@]/$just720p}" -std_respack "StarFoxGuard" "${res16by9[@]/$just720p}" -std_respack "StarFoxZero" "${res16by9[@]/$just720p}" -std_respack "SuperMario3DWorld" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}" -std_respack "SuperMarioMaker" "${res16by9[@]/$just720p}" -std_respack "SuperSmashBros" "${res16by9[@]/$just1080p}" -std_respack "TNTRacers" "${res16by9[@]/$just1080p}" -std_respack "TaikoNoTatsujin" "${res16by9[@]/$just720p}" -std_respack "Tekken" "${res16by9[@]/$just720p}" -std_respack "Tengami" "${res16by9[@]/$just720p}" -std_respack "TokyoMirage" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}" -std_respack "TropicalFreeze" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}" -std_respack "TurboSuperStuntSquad" "${res16by9[@]/$just720p}" -std_respack "TwilightPrincessHD" "${res16by9[@]/$just1080p}" "${res21by9[@]}" "${res48by9[@]}" -std_respack "WarriorsOrochi3" "${res16by9[@]/$just720p}" -std_respack "WiiUBIOS" "${res16by9[@]/$just720p}" -std_respack "WindWakerHD" "${res16by9[@]/$just1080p}" "${res21by9[@]}" "${res48by9[@]}" -std_respack "Wipeout3" "${res16by9[@]/$just720p}" -std_respack "WipeoutCreate" "${res16by9[@]/$just720p}" -std_respack "Wonderful101" "${res16by9[@]/$just720p}" -std_respack "WoollyWorld" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}" -std_respack "WorldOfKeflings" "${res16by9[@]/$just720p}" -std_respack "XenobladeX" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}" - -if [ "$buildType" = "Common" ]; then - mod_onearg "BreathOfTheWild_StaticFPS" 30 45 60 - else - mod_onearg "BreathOfTheWild_StaticFPS" 15 20 30 40 45 50 60 75 120 -fi - -echo -e "${NC}" diff --git a/docs/.gitattributes b/docs/.gitattributes new file mode 100644 index 00000000..c1d2ba2b --- /dev/null +++ b/docs/.gitattributes @@ -0,0 +1,48 @@ +# Define standard eol format + +# Web Files +*.html text eol=lf +*.md text eol=lf +*.css text eol=lf +*.js text eol=lf + +# Jekyll related files +*.yml text eol=lf + +# Git related files +.gittattributes text eol=lf +.gitignore text eol=lf +.gitkeep text eol=lf + +# Ruby files +*.rb text eol=lf +Gemfile text eol=lf +Gemfile.lock text eol=lf + +# Github specific fies +LICENCE text eol=lf + +# Docker specific files +Dockerfile text eol=lf + +# VSCode files +*.json text eol=lf + +# General multimedia files +*.jpg binary +*.jpeg binary +*.gif binary +*.png binary +*.t3x binary +*.t3d binary +*.exe binary +*.data binary +*.ttf binary +*.eof binary +*.eot binary +*.swf binary +*.mov binary +*.mp4 binary +*.mp3 binary +*.ogg binary +*.flv binary diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..72e4fbb8 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,9 @@ +# project +_site +.sass-cache +.vagrant + +# general +.DS_Store +Thumbs.db +ehthumbs.db \ No newline at end of file diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 00000000..012e1533 --- /dev/null +++ b/docs/404.html @@ -0,0 +1,13 @@ +--- +layout: default +title: 404 - Page not found +permalink: /404.html +--- + +
      +

      Whoops, this page doesn't exist.

      +

      Move along. (404 error)

      +
      + + +
      diff --git a/docs/Dockerfile b/docs/Dockerfile new file mode 100644 index 00000000..45c8cf15 --- /dev/null +++ b/docs/Dockerfile @@ -0,0 +1,8 @@ +FROM jekyll/jekyll + +COPY Gemfile . +COPY Gemfile.lock . + +RUN bundle install --quiet --clean + +CMD ["jekyll", "serve"] diff --git a/docs/Gemfile b/docs/Gemfile new file mode 100644 index 00000000..13b570db --- /dev/null +++ b/docs/Gemfile @@ -0,0 +1,9 @@ +source 'https://rubygems.org' + +gem "github-pages", '163', group: :jekyll_plugins + +# enable tzinfo-data for local build +# gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw] +gem 'jekyll-paginate' + +# gem 'wdm', '>= 0.1.0' if Gem.win_platform? diff --git a/docs/LICENSE b/docs/LICENSE new file mode 100644 index 00000000..72fab4a3 --- /dev/null +++ b/docs/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Dean Attali + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 00000000..c770ec02 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,214 @@ +# --- General options --- # + +title: Cemu Graphic Packs +description: Largest graphic packs source for Cemu that modify or scale games. + +# --- Navigation bar options --- # +navbar-links: + #Installation: "installation" + Resources: + #- FAQ: "frequently-asked-questions" + - How to make graphic packs: "https://github.com/slashiee/cemu_graphic_packs/wiki/How-to-create-resolution-packs" + Contribute!: "https://github.com/slashiee/cemu_graphic_packs" + +# Image to show in the navigation bar - image must be a square (width = height) +# Remove this parameter if you don't want an image in the navbar +# avatar: "/img/avatar-icon.png" + +# If you want to have an image logo in the top-left corner instead of the title text, +# then specify the following parameter +# title-img: /path/to/image + +# --- Background colour/image options --- # + +# Dark-themed? +# navbar-col: "#1f1f1f" +# navbar-text-col: "#bfbfbf" +# navbar-children-col: "#333" +# page-col: "#FFFFFF" +# link-col: "#008AFF" +# hover-col: "#0085A1" +# footer-col: "#222" +# footer-text-col: "#989898" +# footer-link-col: "#d2d2d2" + +# Or beige +navbar-col: "#d8d8d8" +navbar-text-col: "#404040" +navbar-children-col: "#F5F5F5" +page-col: "#bbbbbb" +link-col: "#008AFF" +hover-col: "#0085A1" +footer-col: "#d8d8d8" +footer-text-col: "#777777" +footer-link-col: "#404040" + +# Or just white +# navbar-col: "#F5F5F5" +# navbar-text-col: "#404040" +# navbar-children-col: "#F5F5F5" +# page-col: "#FFFFFF" +# link-col: "#008AFF" +# hover-col: "#0085A1" +# footer-col: "#F5F5F5" +# footer-text-col: "#777777" +# footer-link-col: "#404040" + + + + +# Alternatively, the navbar, footer, and page background can be set to use background images +# instead of colour + +# navbar-img: "/img/bgimage.png" +# footer-img: "/img/bgimage.png" +# page-img: "/img/bgimage.png" + +# --- Footer options --- # + +# Change all these values or delete the ones you don't want. +# Important: you must keep the "name" parameter, everything else you can remove +author: + name: Slashiee + awesome contributors + +# Select your active Social Network Links. +# Uncomment the links you want to show in the footer and add your information to each link. +# You can reorder the items to define the link order. +# If you want to add a new link that isn't here, you'll need to also edit the file _data/SocialNetworks.yml +social-network-links: +# rss: true +# email: "someone@example.com" +# facebook: daattali +# github: daattali +# twitter: daattali +# reddit: yourname +# google-plus: +DeanAttali +# linkedin: daattali +# xing: yourname +# stackoverflow: "3943160/daattali" +# snapchat: deanat78 +# instagram: deanat78 +# youtube: user/deanat78 +# spotify: yourname +# telephone: +14159998888 +# steam: deanat78 +# twitch: yourname +# yelp: yourname + +# Select which share links to show in posts +share-links-active: + twitter: false + facebook: false + google: false + linkedin: false + +# How to display the link to the website in the footer +# Remove this if you don't want a link in the footer +url-pretty: "slashiee.github.io/gfx_pack" + +# Excerpt Word Length +# Truncates the excerpt to the specified number of words on the index page +excerpt_length: 50 + +# Character used to separate site title and description in HTML document title +# and RSS feed title +title-separator: "-" + +# --- Don't need to touch anything below here (but you can if you want) --- # + +# Output options (more information on Jekyll's site) +markdown: kramdown +highlighter: rouge +permalink: /:year-:month-:day-:title/ +paginate: 5 + +kramdown: + input: GFM + +# Default YAML values (more information on Jekyll's site) +defaults: + - + scope: + path: "" + type: "posts" + values: + layout: "post" + comments: false + social-share: false + - + scope: + path: "" # all files + values: + layout: "page" + show-avatar: true + +# Use tags index page and make tags on each post clickable +link-tags: true + +# Exclude these files from production site +exclude: + - CHANGELOG.md + - CNAME + - Dockerfile + - Gemfile + - Gemfile.lock + - LICENSE + - README.md + - Vagrantfile + - watch_local.bat + +# prose.io config +prose: + rooturl: '_posts' + media: 'img' + ignore: + - 404.html + - LICENSE + - feed.xml + - _config.yml + - /_layouts + - /_includes + - /css + - /img + - /js + metadata: + _posts: + - name: "layout" + field: + element: "hidden" + value: "post" + - name: "title" + field: + element: "text" + label: "Post title" + placeholder: "Title" + alterable: true + - name: "subtitle" + field: + element: "textarea" + label: "Subtitle" + placeholder: "A description of your post." + alterable: true + - name: "date" + field: + element: "text" + label: "Date" + help: "Enter date of post." + placeholder: "yyyy-mm-dd" + alterable: true + - name: "image" + field: + element: "text" + label: "Image" + help: "Add a thumbnail image to your post." + placeholder: "Thumbnail" + alterable: true + - name: "published" + field: + element: "checkbox" + label: "Publish" + help: "Check to publish post, uncheck to hide." + +plugins: + - jekyll-paginate + - jekyll-sitemap \ No newline at end of file diff --git a/docs/_data/GameTitles.yml b/docs/_data/GameTitles.yml new file mode 100644 index 00000000..14db9e85 --- /dev/null +++ b/docs/_data/GameTitles.yml @@ -0,0 +1,348 @@ +- title: "Adventure Time: Explore the Dungeon Because I DON’T KNOW" + nativeRes: 1080 + compatLink: "http://compat.cemu.info/wiki/Adventure_Time:_Explore_the_Dungeon_Because_I_Don't_Know!" + version3: false +- title: "Adventure Time: Finn And Jake Investigations" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Adventure_Time:_Finn_And_Jake_Investigations" + version3: false +- title: "Animal Crossing: amiibo Festival" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Animal_Crossing:_Amiibo_Festival" + version3: false +- title: "Aqua TV" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Aqua_TV" + version3: false +- title: "Batman: Arkham City Armored Edition" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Batman:_Arkham_City_Armored_Edition" + version3: false +- title: "Bayonetta 2" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Bayonetta_2" + version3: true +- title: "Bayonetta" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Bayonetta" + version3: false +- title: "Ben 10 Omniverse" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Ben_10:_Omniverse" + version3: false +- title: "BIT.TRIP Presents… Runner2: Future Legend of Rhythm Alien" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/BIT.TRIP_Presents..._Runner2:_Future_Legend_of_Rhythm_Alien" + version3: false +- title: "Brunswick Pro Bowling" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Brunswick_Pro_Bowling" + version3: false +- title: "Captain Toad: Treasure Tracker" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Captain_Toad:_Treasure_Tracker" + version3: true +- title: "Chariot" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Chariot" + version3: false +- title: "Chimpuzzle Pro" + nativeRes: 1080 + compatLink: "http://compat.cemu.info/wiki/Chimpuzzle_Pro" + version3: false +- title: "Chompy Chomp Chomp Party" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Chompy_Chomp_Chomp_Party" + version3: false +- title: "Citizens Of Earth" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Citizens_of_Earth" + version3: false +- title: "Devil’s Third" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Chariot" + version3: false +- title: "Donkey Kong Country: Tropical Freeze" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Donkey_Kong_Country:_Tropical_Freeze" + version3: true +- title: "DuckTales Remastered" + nativeRes: 1080 + compatLink: "http://compat.cemu.info/wiki/DuckTales_Remastered" + version3: false +- title: "Electronic Super Joy: Groove City" + nativeRes: 1080 + compatLink: "http://compat.cemu.info/wiki/Electronic_Super_Joy:_Groove_City" + version3: false +- title: "FAST Racing NEO" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Fast_Racing_Neo" + version3: true +- title: "Family Tennis SP" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Family_Tennis_SP" + version3: false +- title: "Fist of the North Star - Ken’s Rage 2" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Fist_of_the_North_Star:_Ken's_Rage_2" + version3: false +- title: "Frenchy Bird" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Frenchy_Bird" + version3: false +- title: "Ghost Blade HD" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Ghost_Blade_HD" + version3: false +- title: "Giana Sisters: Twisted Dreams" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Giana_Sisters:_Twisted_Dreams" + version3: false +- title: "Guacamelee! Super Turbo Championship Edition" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Guacamelee:_Super_Turbo_Championship_Edition" + version3: false +- title: "Hyrule Warriors" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Hyrule_Warriors" + version3: false +- title: "Infinity Runner" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Infinity_Runner" + version3: false +- title: "Kamen Rider - Battride War II" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Kamen_Rider:_Battride_War_II" + version3: false +- title: "Kick and Fennick" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Kick_and_Fennick" + version3: false +- title: "Kirby and the Rainbow Curse" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Kirby_and_the_Rainbow_Curse" + version3: false +- title: "Kung Fu Panda: Showdown of Legendary Legends" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Kung_Fu_Panda:_Showdown_of_Legendary_Legends" + version3: false +- title: "LEGO City Undercover" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/LEGO_City_Undercover" + version3: false +- title: "Mario Party 10" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Mario_Party_10" + version3: false +- title: "Mario & Sonic at the Rio 2016 Olympic Games" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Mario_&_Sonic_at_the_Rio_2016_Olympic_Games" + version3: true +- title: "Mario & Sonic at the Sochi 2014 Olympic Winter Games" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Mario_&_Sonic_at_the_Sochi_2014_Olympic_Winter_Games" + version3: false +- title: "Mario Kart 8" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Mario_Kart_8" + version3: true +- title: "Mario Tennis: Ultra Smash" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Mario_Tennis:_Ultra_Smash" + version3: false +- title: "Minecraft: Story Mode" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Minecraft:_Story_Mode" + version3: false +- title: "Minecraft: Wii U Edition" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Minecraft:_Wii_U_Edition" + version3: false +- title: "Monster Hunter 3 Ultimate" + nativeRes: 1080 + compatLink: "http://compat.cemu.info/wiki/Monster_Hunter_3_Ultimate" + version3: true +- title: "NBA 2K13" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/NBA_2K13" + version3: false +- title: "New Super Luigi U" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/New_Super_Luigi_U" + version3: false +- title: "New Super Mario Bros. U" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/New_Super_Mario_Bros._U" + version3: false +- title: "Ninja Gaiden 3: Razor’s Edge" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Ninja_Gaiden_3:_Razor's_Edge" + version3: true +- title: "Nintendo Land" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Nintendo_Land" + version3: true +- title: "One Piece: Unlimited World Red" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/One_Piece:_Unlimited_World_Red" + version3: false +- title: "PAC-MAN & the Ghostly Adventures" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Pac-Man_and_the_Ghostly_Adventures_1" + version3: false +- title: "PAC-MAN & the Ghostly Adventures 2" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Pac-Man_and_the_Ghostly_Adventures_2" + version3: false +- title: "Paper Mario: Color Splash" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Paper_Mario:_Color_Splash" + version3: false +- title: "Paper Monsters Recut" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Paper_Monsters_Recut" + version3: false +- title: "Phineas and Ferb: Quest for Cool Stuff" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Phineas_and_Ferb:_Quest_for_Cool_Stuff" + version3: false +- title: "Pikmin 3" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Pikmin_3" + version3: false +- title: "Pokkén Tournament" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Pokk%C3%A9n_Tournament" + version3: true +- title: "Project Zero: Maiden of Black Water" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Project_Zero:_Maiden_of_Black_Water" + version3: false +- title: "Puyo Puyo Tetris" + nativeRes: 1080 + compatLink: "http://compat.cemu.info/wiki/Puyo_Puyo_Tetris" + version3: false +- title: "Sanatory Hallways" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Sanatory_Hallways" + version3: false +- title: "Scribblenauts Unlimited" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Scribblenauts_Unlimited" + version3: false +- title: "Scribblenauts Unmasked: A DC Comics Adventure" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Scribblenauts_Unmasked:_A_DC_Comics_Adventure" + version3: false +- title: "Severed" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Severed" + version3: false +- title: "Shantae: Half-Genie Hero" + nativeRes: 1080 + compatLink: "http://compat.cemu.info/wiki/Shantae:_Half-Genie_Hero" + version3: false +- title: "Shovel Knight" + nativeRes: 1080 + compatLink: "http://compat.cemu.info/wiki/Shovel_Knight:_Plauge_of_Shadows" + version3: false +- title: "The Smurfs 2" + nativeRes: 1080 + compatLink: "http://compat.cemu.info/wiki/The_Smurfs_2" + version3: false +- title: "Sonic Boom: Rise of Lyric" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Sonic_Boom:_Rise_of_Lyric" + version3: false +- title: "Sonic Lost World" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Sonic_Lost_World" + version3: false +- title: "Splatoon" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Splatoon" + version3: true +- title: "SpongeBob SquarePants: Plankton’s Robotic Revenge" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Spongebob_Squarepants:_Plankton's_Robotic_Revenge" + version3: false +- title: "Star Fox Guard" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Star_Fox_Guard" + version3: false +- title: "Star Fox Zero" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Star_Fox_Zero" + version3: false +- title: "Super Mario 3D World" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Super_Mario_3D_World" + version3: true +- title: "Super Mario Maker" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Super_Mario_Maker" + version3: true +- title: "Super Smash Bros. for Wii U" + nativeRes: 1080 + compatLink: "http://compat.cemu.info/wiki/Super_Smash_Bros._U" + version3: true +- title: "TNT Racers Nitro Machines Edition" + nativeRes: 1080 + compatLink: "http://compat.cemu.info/wiki/TNT_Racers_Nitro_Machines_Edition" + version3: false +- title: "Taiko no Tatsujin: Atsumete Tomodachi Daisakusen" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Taiko_no_Tatsujin:_Atsumete_Tomodachi_Daisakusen" + version3: false +- title: "Tekken Tag Tournament 2: Wii U Edition" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Tekken_Tag_Tournament_2" + version3: false +- title: "Tengami" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Tengami" + version3: false +- title: "The Legend of Zelda: Breath of the Wild" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/The_Legend_of_Zelda:_Breath_of_the_Wild" + version3: true +- title: "The Legend of Zelda: The Wind Waker HD" + nativeRes: 1080 + compatLink: "http://compat.cemu.info/wiki/The_Legend_of_Zelda:_The_Wind_Waker_HD" + version3: true +- title: "The Legend of Zelda: Twilight Princess HD" + nativeRes: 1080 + compatLink: "http://compat.cemu.info/wiki/The_Legend_of_Zelda:_Twilight_Princess_HD" + version3: false +- title: "The Wonderful 101" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/The_Wonderful_101" + version3: true +- title: "Tokyo Mirage Sessions ♯FE" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Tokyo_Mirage_Sessions_#FE" + version3: true +- title: "Turbo: Super Stunt Squad" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Turbo:_Super_Stunt_Squad" + version3: false +- title: "Warriors Orochi 3 Hyper" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Warriors_Orochi_3_Hyper" + version3: false +- title: "Wipeout 3" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Wipeout_3" + version3: false +- title: "Wipeout Create & Crash" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Wipeout:_Create_&_Crash" + version3: false +- title: "Xenoblade Chronicles X" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Xenoblade_Chronicles_X" + version3: true +- title: "Yoshi’s Woolly World" + nativeRes: 720 + compatLink: "http://compat.cemu.info/wiki/Yoshi's_Woolly_World" + version3: false \ No newline at end of file diff --git a/docs/_data/SocialNetworks.yml b/docs/_data/SocialNetworks.yml new file mode 100644 index 00000000..d0a26350 --- /dev/null +++ b/docs/_data/SocialNetworks.yml @@ -0,0 +1,97 @@ +# You can define your custom social network links here. +# Use the same key you added in _config.yml -> social-network-links. +# In addition to that you need to specify the following properties: +# name: Specify a user-friendly name that will be used as a link title +# baseURL: Define a base URL which will be combined with the value of +# site.social-network-links. +# icon: Specify a valid fontawesome icon class + +facebook: + name: "Facebook" + baseURL: "https://www.facebook.com/" + icon: "fa-facebook" + +github: + name: "GitHub" + baseURL: "https://github.com/" + icon: "fa-github" + +twitter: + name: "Twitter" + baseURL: "https://twitter.com/" + icon: "fa-twitter" + +reddit: + name: "Reddit" + baseURL: "https://reddit.com/u/" + icon: "fa-reddit" + +google-plus: + name: "Google+" + baseURL: "https://plus.google.com/" + icon: "fa-google-plus" + +email: + name: "Email me" + baseURL: "mailto:" + icon: "fa-envelope" + +linkedin: + name: "LinkedIn" + baseURL: "https://linkedin.com/in/" + icon: "fa-linkedin" + +xing: + name: "Xing" + baseURL: "https://www.xing.com/profile/" + icon: "fa-xing" + +stackoverflow: + name: "StackOverflow" + baseURL: "https://stackoverflow.com/users/" + icon: "fa-stack-overflow" + +snapchat: + name: "Snapchat" + baseURL: "https://www.snapchat.com/add/" + icon: "fa-snapchat-ghost" + +instagram: + name: "Instagram" + baseURL: "https://www.instagram.com/" + icon: "fa-instagram" + +youtube: + name: "YouTube" + baseURL: "https://www.youtube.com/" + icon: "fa-youtube" + +spotify: + name: "Spotify" + baseURL: "https://open.spotify.com/user/" + icon: "fa-spotify" + +telephone: + name: "Phone" + baseURL: "tel:" + icon: "fa-phone" + +rss: + name: "RSS" + baseURL: "{{ '/feed.xml' | prepend: site.baseurl }}" + icon: "fa-rss" + +steam: + name: "Steam" + baseURL: "https://steamcommunity.com/id/" + icon: "fa-steam" + +twitch: + name: "Twitch" + baseURL: "https://www.twitch.tv/" + icon: "fa-twitch" + +yelp: + name: "Yelp" + baseURL: "https://{{ site.author.yelp }}.yelp.com" + icon: "fa-yelp" diff --git a/docs/_includes/disqus.html b/docs/_includes/disqus.html new file mode 100644 index 00000000..dd80975c --- /dev/null +++ b/docs/_includes/disqus.html @@ -0,0 +1,17 @@ +{%- if site.disqus -%} +
      +{%- endif -%} diff --git a/docs/_includes/ext-css.html b/docs/_includes/ext-css.html new file mode 100644 index 00000000..9e2f5220 --- /dev/null +++ b/docs/_includes/ext-css.html @@ -0,0 +1,7 @@ +{% if include.css.sri %} + +{% elsif include.css.href %} + +{% else %} + +{% endif %} \ No newline at end of file diff --git a/docs/_includes/ext-js.html b/docs/_includes/ext-js.html new file mode 100644 index 00000000..3738ef2c --- /dev/null +++ b/docs/_includes/ext-js.html @@ -0,0 +1,7 @@ +{% if include.js.sri %} + +{% elsif include.js.href %} + +{% else %} + +{% endif %} diff --git a/docs/_includes/fb-comment.html b/docs/_includes/fb-comment.html new file mode 100644 index 00000000..8b47a2b6 --- /dev/null +++ b/docs/_includes/fb-comment.html @@ -0,0 +1,14 @@ +{%- if site.fb_comment_id -%} +
      +
      + +
      + +
      +{%- endif -%} diff --git a/docs/_includes/footer-minimal.html b/docs/_includes/footer-minimal.html new file mode 100644 index 00000000..d8d3b419 --- /dev/null +++ b/docs/_includes/footer-minimal.html @@ -0,0 +1,16 @@ +
      +
      + {{ site.author.name }} +   •   + {% if page.date %} + {{ page.date }} + {% else %} + {{ site.time | date: '%Y' }} + {% endif %} + + {% if site.url-pretty %} +   •   + {{ site.url-pretty }} + {% endif %} +
      +
      \ No newline at end of file diff --git a/docs/_includes/footer-scripts.html b/docs/_includes/footer-scripts.html new file mode 100644 index 00000000..537e9cc8 --- /dev/null +++ b/docs/_includes/footer-scripts.html @@ -0,0 +1,32 @@ +{% if layout.common-ext-js %} + {% for js in layout.common-ext-js %} + {% include ext-js.html js=js %} + {% endfor %} +{% endif %} + +{% if page.ext-js %} + {% for js in page.ext-js %} + {% include ext-js.html js=js %} + {% endfor %} +{% endif %} + +{% if page.js %} + {% for js in page.js %} + + {% endfor %} +{% endif %} + +{% if layout.common-js %} + {% for js in layout.common-js %} + + {% if js contains 'jquery' %} + + {% else %} + + {% endif %} + {% endfor %} +{% endif %} diff --git a/docs/_includes/footer.html b/docs/_includes/footer.html new file mode 100644 index 00000000..480c2927 --- /dev/null +++ b/docs/_includes/footer.html @@ -0,0 +1,51 @@ + diff --git a/docs/_includes/google_analytics.html b/docs/_includes/google_analytics.html new file mode 100644 index 00000000..eb9b7ddb --- /dev/null +++ b/docs/_includes/google_analytics.html @@ -0,0 +1,12 @@ +{% if site.google_analytics %} + + + +{% endif %} \ No newline at end of file diff --git a/docs/_includes/gtag.html b/docs/_includes/gtag.html new file mode 100644 index 00000000..a7f49882 --- /dev/null +++ b/docs/_includes/gtag.html @@ -0,0 +1,11 @@ +{% if site.gtag %} + + + +{% endif %} diff --git a/docs/_includes/gtm_body.html b/docs/_includes/gtm_body.html new file mode 100644 index 00000000..0d9ae022 --- /dev/null +++ b/docs/_includes/gtm_body.html @@ -0,0 +1,6 @@ +{% if site.gtm %} + + + +{% endif %} \ No newline at end of file diff --git a/docs/_includes/gtm_head.html b/docs/_includes/gtm_head.html new file mode 100644 index 00000000..ded5d417 --- /dev/null +++ b/docs/_includes/gtm_head.html @@ -0,0 +1,9 @@ +{% if site.gtm %} + + + +{% endif %} \ No newline at end of file diff --git a/docs/_includes/head.html b/docs/_includes/head.html new file mode 100644 index 00000000..74a0c16c --- /dev/null +++ b/docs/_includes/head.html @@ -0,0 +1,126 @@ + + + + + + {% if page.use-site-title %}{{ site.title }} {{ site.title-separator }} {{ site.description }}{% elsif page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} + + + + {% if page.subtitle %} + + {% endif %} + + + + {% include gtag.html %} + {% include gtm_head.html %} + {% include google_analytics.html %} + + {% if layout.common-ext-css %} + {% for css in layout.common-ext-css %} + {% include ext-css.html css=css %} + {% endfor %} + {% endif %} + + {% if layout.common-css %} + {% for css in layout.common-css %} + + {% endfor %} + {% endif %} + + {% if layout.common-googlefonts %} + {% for font in layout.common-googlefonts %} + + {% endfor %} + {% endif %} + + {% if page.ext-css %} + {% for css in page.ext-css %} + {% include ext-css.html css=css %} + {% endfor %} + {% endif %} + + {% if page.css %} + {% for css in page.css %} + + {% endfor %} + {% endif %} + + {% if page.googlefonts %} + {% for font in page.googlefonts %} + + {% endfor %} + {% endif %} + + + {% if site.fb_app_id %} + + {% endif %} + + {% if page.meta-title %} + + {% elsif page.title %} + + {% else %} + + {% endif %} + + {% if page.meta-description %} + + {% elsif page.subtitle %} + + {% else %} + + {% endif %} + + + + + {% if page.id %} + + + {% else %} + + + {% endif %} + + {% if page.share-img %} + + {% elsif site.avatar %} + + {% endif %} + + + + + + + + {% if page.meta-title %} + + {% elsif page.title %} + + {% else %} + + {% endif %} + + {% if page.meta-description %} + + {% elsif page.subtitle %} + + {% else %} + + {% endif %} + + {% if page.share-img %} + + {% elsif site.avatar %} + + {% endif %} + + {% if site.matomo %} + {% include matomo.html %} + {% endif %} + + diff --git a/docs/_includes/header.html b/docs/_includes/header.html new file mode 100644 index 00000000..cc21bd35 --- /dev/null +++ b/docs/_includes/header.html @@ -0,0 +1,76 @@ + + +{% if page.bigimg or page.title %} + +{% if page.bigimg %} +
      +{% endif %} + +
      +{% if page.bigimg %} +
      +
      +
      +
      +
      +

      {% if page.title %}{{ page.title }}{% else %}
      {% endif %}

      + {% if page.subtitle %} + {% if include.type == "page" %} +
      + {{ page.subtitle }} + {% else %} +

      {{ page.subtitle }}

      + {% endif %} + {% endif %} + + {% if include.type == "post" %} + + {% endif %} +
      +
      +
      +
      + +
      +{% endif %} +
      +
      +
      +
      +
      +

      {% if page.title %}{{ page.title }}{% else %}
      {% endif %}

      + {% if page.subtitle %} + {% if include.type == "page" %} +
      + {{ page.subtitle }} + {% else %} +

      {{ page.subtitle }}

      + {% endif %} + {% endif %} + + {% if include.type == "post" %} + + {% endif %} +
      +
      +
      +
      +
      +
      + + +{% else %} +
      +{% endif %} \ No newline at end of file diff --git a/docs/_includes/matomo.html b/docs/_includes/matomo.html new file mode 100644 index 00000000..e53a3eff --- /dev/null +++ b/docs/_includes/matomo.html @@ -0,0 +1,17 @@ +{% if site.matomo %} + + + +{% endif %} diff --git a/docs/_includes/nav.html b/docs/_includes/nav.html new file mode 100644 index 00000000..3e90137b --- /dev/null +++ b/docs/_includes/nav.html @@ -0,0 +1,59 @@ + diff --git a/docs/_includes/navbarlink.html b/docs/_includes/navbarlink.html new file mode 100644 index 00000000..f2646188 --- /dev/null +++ b/docs/_includes/navbarlink.html @@ -0,0 +1,16 @@ +{% capture before %}{{ include.link[1] | split: "://" | first }}{% endcapture %} +{% capture after %}{{ include.link[1] | split: "://" | last }}{% endcapture %} +{% assign internal = true %} +{% if before != after %} + {% if before == "http" or before == "https" %} + {% assign internal = false %} + {% endif %} +{% endif %} + +{% if internal %} + {% capture linkurl %}{{ site.baseurl }}/{{ include.link[1] }}{% endcapture %} +{% else %} + {% capture linkurl %}{{ include.link[1] }}{% endcapture %} +{% endif %} + +{{ include.link[0] }} diff --git a/docs/_includes/social-share.html b/docs/_includes/social-share.html new file mode 100644 index 00000000..53d75d0f --- /dev/null +++ b/docs/_includes/social-share.html @@ -0,0 +1,51 @@ + +{% assign any-share-links = false %} +{% for links in site.share-links-active %} + {% if links[1] == true %} + {% assign any-share-links = true %} + {% endif %} +{% endfor %} + +{% if any-share-links %} +
      + Share: + + {% if site.share-links-active.twitter %} + + + + Twitter + + {% endif %} + + {% if site.share-links-active.facebook %} + + + + Facebook + + {% endif %} + + {% if site.share-links-active.google %} + + + + Google+ + + {% endif %} + + {% if site.share-links-active.linkedin %} + + + + LinkedIn + + {% endif %} + +
      + +{% endif %} diff --git a/docs/_layouts/base.html b/docs/_layouts/base.html new file mode 100644 index 00000000..fc28fb02 --- /dev/null +++ b/docs/_layouts/base.html @@ -0,0 +1,35 @@ +--- +common-css: + - "/css/bootstrap.min.css" + - "/css/bootstrap-social.css" + - "/css/main.css" +common-ext-css: + - "//maxcdn.bootstrapcdn.com/font-awesome/4.6.0/css/font-awesome.min.css" +common-googlefonts: + - "Lora:400,700,400italic,700italic" + - "Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" +common-js: + - "/js/jquery-1.11.2.min.js" + - "/js/bootstrap.min.js" + - "/js/main.js" +--- + + + + + {% include head.html %} + + + + {% include gtm_body.html %} + + {% include nav.html %} + + {{ content }} + + {% include footer.html %} + + {% include footer-scripts.html %} + + + diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html new file mode 100644 index 00000000..919ec8ea --- /dev/null +++ b/docs/_layouts/default.html @@ -0,0 +1,9 @@ +--- +layout: base +--- + +
      + +
      + {{ content }} +
      \ No newline at end of file diff --git a/docs/_layouts/minimal.html b/docs/_layouts/minimal.html new file mode 100644 index 00000000..a2311c31 --- /dev/null +++ b/docs/_layouts/minimal.html @@ -0,0 +1,26 @@ +--- +common-css: + - "/css/bootstrap.min.css" + - "/css/main-minimal.css" +common-js: + - "/js/jquery-1.11.2.min.js" + - "/js/bootstrap.min.js" +--- + + + + + {% include head.html %} + + + +
      + {{ content }} +
      + + {% include footer-minimal.html %} + + {% include footer-scripts.html %} + + + diff --git a/docs/_layouts/page.html b/docs/_layouts/page.html new file mode 100644 index 00000000..9dff5529 --- /dev/null +++ b/docs/_layouts/page.html @@ -0,0 +1,19 @@ +--- +layout: base +--- + +{% include header.html type="page" %} + +
      +
      +
      + {{ content }} + {% if page.comments %} +
      + {% include disqus.html %} +
      + {% include fb-comment.html %} + {% endif %} +
      +
      +
      diff --git a/docs/_layouts/post.html b/docs/_layouts/post.html new file mode 100644 index 00000000..fc546b94 --- /dev/null +++ b/docs/_layouts/post.html @@ -0,0 +1,76 @@ +--- +layout: base +--- + +{% include header.html type="post" %} + +
      +
      +
      + + {% if page.gh-repo %} + {% assign gh_split = page.gh-repo | split:'/' %} + {% assign gh_user = gh_split[0] %} + {% assign gh_repo = gh_split[1] %} + +
      + {% if page.gh-badge.size > 0 %} + {% for badge in page.gh-badge %} + {% case badge %} + {% when 'star'%} + + {% when 'watch'%} + + {% when 'fork'%} + + {% when 'follow'%} + + {% endcase %} + {% endfor %} + {% endif %} +
      + {% endif %} + +
      + {{ content }} +
      + + {% if page.tags.size > 0 %} +
      + Tags: + {% if site.link-tags %} + {% for tag in page.tags %} + {{- tag -}} + {% endfor %} + {% else %} + {{ page.tags | join: ", " }} + {% endif %} +
      + {% endif %} + + {% if page.social-share %} + {% include social-share.html %} + {% endif %} + + + + {% if page.comments %} +
      + {% include disqus.html %} +
      + {% include fb-comment.html %} + {% endif %} +
      +
      +
      diff --git a/docs/css/bootstrap-social.css b/docs/css/bootstrap-social.css new file mode 100644 index 00000000..e565f3a3 --- /dev/null +++ b/docs/css/bootstrap-social.css @@ -0,0 +1,147 @@ +/* + * Social Buttons for Bootstrap + * + * Copyright 2013-2015 Panayiotis Lipiridis + * Licensed under the MIT License + * + * https://github.com/lipis/bootstrap-social + */ + +.btn-social{position:relative;margin-bottom:5px;padding-left:44px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-social>:first-child{position:absolute;left:0;top:0;bottom:0;width:32px;line-height:34px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,0.2)} +.btn-social.btn-lg{padding-left:61px}.btn-social.btn-lg>:first-child{line-height:45px;width:45px;font-size:1.8em} +.btn-social.btn-sm{padding-left:38px}.btn-social.btn-sm>:first-child{line-height:28px;width:28px;font-size:1.4em} +.btn-social.btn-xs{padding-left:30px}.btn-social.btn-xs>:first-child{line-height:20px;width:20px;font-size:1.2em} +.btn-social-icon{position:relative;padding-left:44px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:34px;width:34px;padding:0}.btn-social-icon>:first-child{position:absolute;left:0;top:0;bottom:0;width:32px;line-height:34px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,0.2)} +.btn-social-icon.btn-lg{padding-left:61px}.btn-social-icon.btn-lg>:first-child{line-height:45px;width:45px;font-size:1.8em} +.btn-social-icon.btn-sm{padding-left:38px}.btn-social-icon.btn-sm>:first-child{line-height:28px;width:28px;font-size:1.4em} +.btn-social-icon.btn-xs{padding-left:30px}.btn-social-icon.btn-xs>:first-child{line-height:20px;width:20px;font-size:1.2em} +.btn-social-icon>:first-child{border:none;text-align:center;width:100% !important} +.btn-social-icon.btn-lg{height:45px;width:45px;padding-left:0;padding-right:0} +.btn-social-icon.btn-sm{height:30px;width:30px;padding-left:0;padding-right:0} +.btn-social-icon.btn-xs{height:22px;width:22px;padding-left:0;padding-right:0} +.btn-adn{color:#fff;background-color:#d87a68;border-color:rgba(0,0,0,0.2)}.btn-adn:focus,.btn-adn.focus{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2)} +.btn-adn:hover{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2)} +.btn-adn:active,.btn-adn.active,.open>.dropdown-toggle.btn-adn{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2)}.btn-adn:active:hover,.btn-adn.active:hover,.open>.dropdown-toggle.btn-adn:hover,.btn-adn:active:focus,.btn-adn.active:focus,.open>.dropdown-toggle.btn-adn:focus,.btn-adn:active.focus,.btn-adn.active.focus,.open>.dropdown-toggle.btn-adn.focus{color:#fff;background-color:#b94630;border-color:rgba(0,0,0,0.2)} +.btn-adn:active,.btn-adn.active,.open>.dropdown-toggle.btn-adn{background-image:none} +.btn-adn.disabled,.btn-adn[disabled],fieldset[disabled] .btn-adn,.btn-adn.disabled:hover,.btn-adn[disabled]:hover,fieldset[disabled] .btn-adn:hover,.btn-adn.disabled:focus,.btn-adn[disabled]:focus,fieldset[disabled] .btn-adn:focus,.btn-adn.disabled.focus,.btn-adn[disabled].focus,fieldset[disabled] .btn-adn.focus,.btn-adn.disabled:active,.btn-adn[disabled]:active,fieldset[disabled] .btn-adn:active,.btn-adn.disabled.active,.btn-adn[disabled].active,fieldset[disabled] .btn-adn.active{background-color:#d87a68;border-color:rgba(0,0,0,0.2)} +.btn-adn .badge{color:#d87a68;background-color:#fff} +.btn-bitbucket{color:#fff;background-color:#205081;border-color:rgba(0,0,0,0.2)}.btn-bitbucket:focus,.btn-bitbucket.focus{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2)} +.btn-bitbucket:hover{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2)} +.btn-bitbucket:active,.btn-bitbucket.active,.open>.dropdown-toggle.btn-bitbucket{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2)}.btn-bitbucket:active:hover,.btn-bitbucket.active:hover,.open>.dropdown-toggle.btn-bitbucket:hover,.btn-bitbucket:active:focus,.btn-bitbucket.active:focus,.open>.dropdown-toggle.btn-bitbucket:focus,.btn-bitbucket:active.focus,.btn-bitbucket.active.focus,.open>.dropdown-toggle.btn-bitbucket.focus{color:#fff;background-color:#0f253c;border-color:rgba(0,0,0,0.2)} +.btn-bitbucket:active,.btn-bitbucket.active,.open>.dropdown-toggle.btn-bitbucket{background-image:none} +.btn-bitbucket.disabled,.btn-bitbucket[disabled],fieldset[disabled] .btn-bitbucket,.btn-bitbucket.disabled:hover,.btn-bitbucket[disabled]:hover,fieldset[disabled] .btn-bitbucket:hover,.btn-bitbucket.disabled:focus,.btn-bitbucket[disabled]:focus,fieldset[disabled] .btn-bitbucket:focus,.btn-bitbucket.disabled.focus,.btn-bitbucket[disabled].focus,fieldset[disabled] .btn-bitbucket.focus,.btn-bitbucket.disabled:active,.btn-bitbucket[disabled]:active,fieldset[disabled] .btn-bitbucket:active,.btn-bitbucket.disabled.active,.btn-bitbucket[disabled].active,fieldset[disabled] .btn-bitbucket.active{background-color:#205081;border-color:rgba(0,0,0,0.2)} +.btn-bitbucket .badge{color:#205081;background-color:#fff} +.btn-dropbox{color:#fff;background-color:#1087dd;border-color:rgba(0,0,0,0.2)}.btn-dropbox:focus,.btn-dropbox.focus{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2)} +.btn-dropbox:hover{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2)} +.btn-dropbox:active,.btn-dropbox.active,.open>.dropdown-toggle.btn-dropbox{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2)}.btn-dropbox:active:hover,.btn-dropbox.active:hover,.open>.dropdown-toggle.btn-dropbox:hover,.btn-dropbox:active:focus,.btn-dropbox.active:focus,.open>.dropdown-toggle.btn-dropbox:focus,.btn-dropbox:active.focus,.btn-dropbox.active.focus,.open>.dropdown-toggle.btn-dropbox.focus{color:#fff;background-color:#0a568c;border-color:rgba(0,0,0,0.2)} +.btn-dropbox:active,.btn-dropbox.active,.open>.dropdown-toggle.btn-dropbox{background-image:none} +.btn-dropbox.disabled,.btn-dropbox[disabled],fieldset[disabled] .btn-dropbox,.btn-dropbox.disabled:hover,.btn-dropbox[disabled]:hover,fieldset[disabled] .btn-dropbox:hover,.btn-dropbox.disabled:focus,.btn-dropbox[disabled]:focus,fieldset[disabled] .btn-dropbox:focus,.btn-dropbox.disabled.focus,.btn-dropbox[disabled].focus,fieldset[disabled] .btn-dropbox.focus,.btn-dropbox.disabled:active,.btn-dropbox[disabled]:active,fieldset[disabled] .btn-dropbox:active,.btn-dropbox.disabled.active,.btn-dropbox[disabled].active,fieldset[disabled] .btn-dropbox.active{background-color:#1087dd;border-color:rgba(0,0,0,0.2)} +.btn-dropbox .badge{color:#1087dd;background-color:#fff} +.btn-facebook{color:#fff;background-color:#3b5998;border-color:rgba(0,0,0,0.2)}.btn-facebook:focus,.btn-facebook.focus{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2)} +.btn-facebook:hover{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2)} +.btn-facebook:active,.btn-facebook.active,.open>.dropdown-toggle.btn-facebook{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2)}.btn-facebook:active:hover,.btn-facebook.active:hover,.open>.dropdown-toggle.btn-facebook:hover,.btn-facebook:active:focus,.btn-facebook.active:focus,.open>.dropdown-toggle.btn-facebook:focus,.btn-facebook:active.focus,.btn-facebook.active.focus,.open>.dropdown-toggle.btn-facebook.focus{color:#fff;background-color:#23345a;border-color:rgba(0,0,0,0.2)} +.btn-facebook:active,.btn-facebook.active,.open>.dropdown-toggle.btn-facebook{background-image:none} +.btn-facebook.disabled,.btn-facebook[disabled],fieldset[disabled] .btn-facebook,.btn-facebook.disabled:hover,.btn-facebook[disabled]:hover,fieldset[disabled] .btn-facebook:hover,.btn-facebook.disabled:focus,.btn-facebook[disabled]:focus,fieldset[disabled] .btn-facebook:focus,.btn-facebook.disabled.focus,.btn-facebook[disabled].focus,fieldset[disabled] .btn-facebook.focus,.btn-facebook.disabled:active,.btn-facebook[disabled]:active,fieldset[disabled] .btn-facebook:active,.btn-facebook.disabled.active,.btn-facebook[disabled].active,fieldset[disabled] .btn-facebook.active{background-color:#3b5998;border-color:rgba(0,0,0,0.2)} +.btn-facebook .badge{color:#3b5998;background-color:#fff} +.btn-flickr{color:#fff;background-color:#ff0084;border-color:rgba(0,0,0,0.2)}.btn-flickr:focus,.btn-flickr.focus{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2)} +.btn-flickr:hover{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2)} +.btn-flickr:active,.btn-flickr.active,.open>.dropdown-toggle.btn-flickr{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2)}.btn-flickr:active:hover,.btn-flickr.active:hover,.open>.dropdown-toggle.btn-flickr:hover,.btn-flickr:active:focus,.btn-flickr.active:focus,.open>.dropdown-toggle.btn-flickr:focus,.btn-flickr:active.focus,.btn-flickr.active.focus,.open>.dropdown-toggle.btn-flickr.focus{color:#fff;background-color:#a80057;border-color:rgba(0,0,0,0.2)} +.btn-flickr:active,.btn-flickr.active,.open>.dropdown-toggle.btn-flickr{background-image:none} +.btn-flickr.disabled,.btn-flickr[disabled],fieldset[disabled] .btn-flickr,.btn-flickr.disabled:hover,.btn-flickr[disabled]:hover,fieldset[disabled] .btn-flickr:hover,.btn-flickr.disabled:focus,.btn-flickr[disabled]:focus,fieldset[disabled] .btn-flickr:focus,.btn-flickr.disabled.focus,.btn-flickr[disabled].focus,fieldset[disabled] .btn-flickr.focus,.btn-flickr.disabled:active,.btn-flickr[disabled]:active,fieldset[disabled] .btn-flickr:active,.btn-flickr.disabled.active,.btn-flickr[disabled].active,fieldset[disabled] .btn-flickr.active{background-color:#ff0084;border-color:rgba(0,0,0,0.2)} +.btn-flickr .badge{color:#ff0084;background-color:#fff} +.btn-foursquare{color:#fff;background-color:#f94877;border-color:rgba(0,0,0,0.2)}.btn-foursquare:focus,.btn-foursquare.focus{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2)} +.btn-foursquare:hover{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2)} +.btn-foursquare:active,.btn-foursquare.active,.open>.dropdown-toggle.btn-foursquare{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2)}.btn-foursquare:active:hover,.btn-foursquare.active:hover,.open>.dropdown-toggle.btn-foursquare:hover,.btn-foursquare:active:focus,.btn-foursquare.active:focus,.open>.dropdown-toggle.btn-foursquare:focus,.btn-foursquare:active.focus,.btn-foursquare.active.focus,.open>.dropdown-toggle.btn-foursquare.focus{color:#fff;background-color:#e30742;border-color:rgba(0,0,0,0.2)} +.btn-foursquare:active,.btn-foursquare.active,.open>.dropdown-toggle.btn-foursquare{background-image:none} +.btn-foursquare.disabled,.btn-foursquare[disabled],fieldset[disabled] .btn-foursquare,.btn-foursquare.disabled:hover,.btn-foursquare[disabled]:hover,fieldset[disabled] .btn-foursquare:hover,.btn-foursquare.disabled:focus,.btn-foursquare[disabled]:focus,fieldset[disabled] .btn-foursquare:focus,.btn-foursquare.disabled.focus,.btn-foursquare[disabled].focus,fieldset[disabled] .btn-foursquare.focus,.btn-foursquare.disabled:active,.btn-foursquare[disabled]:active,fieldset[disabled] .btn-foursquare:active,.btn-foursquare.disabled.active,.btn-foursquare[disabled].active,fieldset[disabled] .btn-foursquare.active{background-color:#f94877;border-color:rgba(0,0,0,0.2)} +.btn-foursquare .badge{color:#f94877;background-color:#fff} +.btn-github{color:#fff;background-color:#444;border-color:rgba(0,0,0,0.2)}.btn-github:focus,.btn-github.focus{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2)} +.btn-github:hover{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2)} +.btn-github:active,.btn-github.active,.open>.dropdown-toggle.btn-github{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2)}.btn-github:active:hover,.btn-github.active:hover,.open>.dropdown-toggle.btn-github:hover,.btn-github:active:focus,.btn-github.active:focus,.open>.dropdown-toggle.btn-github:focus,.btn-github:active.focus,.btn-github.active.focus,.open>.dropdown-toggle.btn-github.focus{color:#fff;background-color:#191919;border-color:rgba(0,0,0,0.2)} +.btn-github:active,.btn-github.active,.open>.dropdown-toggle.btn-github{background-image:none} +.btn-github.disabled,.btn-github[disabled],fieldset[disabled] .btn-github,.btn-github.disabled:hover,.btn-github[disabled]:hover,fieldset[disabled] .btn-github:hover,.btn-github.disabled:focus,.btn-github[disabled]:focus,fieldset[disabled] .btn-github:focus,.btn-github.disabled.focus,.btn-github[disabled].focus,fieldset[disabled] .btn-github.focus,.btn-github.disabled:active,.btn-github[disabled]:active,fieldset[disabled] .btn-github:active,.btn-github.disabled.active,.btn-github[disabled].active,fieldset[disabled] .btn-github.active{background-color:#444;border-color:rgba(0,0,0,0.2)} +.btn-github .badge{color:#444;background-color:#fff} +.btn-google{color:#fff;background-color:#dd4b39;border-color:rgba(0,0,0,0.2)}.btn-google:focus,.btn-google.focus{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2)} +.btn-google:hover{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2)} +.btn-google:active,.btn-google.active,.open>.dropdown-toggle.btn-google{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2)}.btn-google:active:hover,.btn-google.active:hover,.open>.dropdown-toggle.btn-google:hover,.btn-google:active:focus,.btn-google.active:focus,.open>.dropdown-toggle.btn-google:focus,.btn-google:active.focus,.btn-google.active.focus,.open>.dropdown-toggle.btn-google.focus{color:#fff;background-color:#a32b1c;border-color:rgba(0,0,0,0.2)} +.btn-google:active,.btn-google.active,.open>.dropdown-toggle.btn-google{background-image:none} +.btn-google.disabled,.btn-google[disabled],fieldset[disabled] .btn-google,.btn-google.disabled:hover,.btn-google[disabled]:hover,fieldset[disabled] .btn-google:hover,.btn-google.disabled:focus,.btn-google[disabled]:focus,fieldset[disabled] .btn-google:focus,.btn-google.disabled.focus,.btn-google[disabled].focus,fieldset[disabled] .btn-google.focus,.btn-google.disabled:active,.btn-google[disabled]:active,fieldset[disabled] .btn-google:active,.btn-google.disabled.active,.btn-google[disabled].active,fieldset[disabled] .btn-google.active{background-color:#dd4b39;border-color:rgba(0,0,0,0.2)} +.btn-google .badge{color:#dd4b39;background-color:#fff} +.btn-instagram{color:#fff;background-color:#3f729b;border-color:rgba(0,0,0,0.2)}.btn-instagram:focus,.btn-instagram.focus{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2)} +.btn-instagram:hover{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2)} +.btn-instagram:active,.btn-instagram.active,.open>.dropdown-toggle.btn-instagram{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2)}.btn-instagram:active:hover,.btn-instagram.active:hover,.open>.dropdown-toggle.btn-instagram:hover,.btn-instagram:active:focus,.btn-instagram.active:focus,.open>.dropdown-toggle.btn-instagram:focus,.btn-instagram:active.focus,.btn-instagram.active.focus,.open>.dropdown-toggle.btn-instagram.focus{color:#fff;background-color:#26455d;border-color:rgba(0,0,0,0.2)} +.btn-instagram:active,.btn-instagram.active,.open>.dropdown-toggle.btn-instagram{background-image:none} +.btn-instagram.disabled,.btn-instagram[disabled],fieldset[disabled] .btn-instagram,.btn-instagram.disabled:hover,.btn-instagram[disabled]:hover,fieldset[disabled] .btn-instagram:hover,.btn-instagram.disabled:focus,.btn-instagram[disabled]:focus,fieldset[disabled] .btn-instagram:focus,.btn-instagram.disabled.focus,.btn-instagram[disabled].focus,fieldset[disabled] .btn-instagram.focus,.btn-instagram.disabled:active,.btn-instagram[disabled]:active,fieldset[disabled] .btn-instagram:active,.btn-instagram.disabled.active,.btn-instagram[disabled].active,fieldset[disabled] .btn-instagram.active{background-color:#3f729b;border-color:rgba(0,0,0,0.2)} +.btn-instagram .badge{color:#3f729b;background-color:#fff} +.btn-linkedin{color:#fff;background-color:#007bb6;border-color:rgba(0,0,0,0.2)}.btn-linkedin:focus,.btn-linkedin.focus{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2)} +.btn-linkedin:hover{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2)} +.btn-linkedin:active,.btn-linkedin.active,.open>.dropdown-toggle.btn-linkedin{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2)}.btn-linkedin:active:hover,.btn-linkedin.active:hover,.open>.dropdown-toggle.btn-linkedin:hover,.btn-linkedin:active:focus,.btn-linkedin.active:focus,.open>.dropdown-toggle.btn-linkedin:focus,.btn-linkedin:active.focus,.btn-linkedin.active.focus,.open>.dropdown-toggle.btn-linkedin.focus{color:#fff;background-color:#00405f;border-color:rgba(0,0,0,0.2)} +.btn-linkedin:active,.btn-linkedin.active,.open>.dropdown-toggle.btn-linkedin{background-image:none} +.btn-linkedin.disabled,.btn-linkedin[disabled],fieldset[disabled] .btn-linkedin,.btn-linkedin.disabled:hover,.btn-linkedin[disabled]:hover,fieldset[disabled] .btn-linkedin:hover,.btn-linkedin.disabled:focus,.btn-linkedin[disabled]:focus,fieldset[disabled] .btn-linkedin:focus,.btn-linkedin.disabled.focus,.btn-linkedin[disabled].focus,fieldset[disabled] .btn-linkedin.focus,.btn-linkedin.disabled:active,.btn-linkedin[disabled]:active,fieldset[disabled] .btn-linkedin:active,.btn-linkedin.disabled.active,.btn-linkedin[disabled].active,fieldset[disabled] .btn-linkedin.active{background-color:#007bb6;border-color:rgba(0,0,0,0.2)} +.btn-linkedin .badge{color:#007bb6;background-color:#fff} +.btn-microsoft{color:#fff;background-color:#2672ec;border-color:rgba(0,0,0,0.2)}.btn-microsoft:focus,.btn-microsoft.focus{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2)} +.btn-microsoft:hover{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2)} +.btn-microsoft:active,.btn-microsoft.active,.open>.dropdown-toggle.btn-microsoft{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2)}.btn-microsoft:active:hover,.btn-microsoft.active:hover,.open>.dropdown-toggle.btn-microsoft:hover,.btn-microsoft:active:focus,.btn-microsoft.active:focus,.open>.dropdown-toggle.btn-microsoft:focus,.btn-microsoft:active.focus,.btn-microsoft.active.focus,.open>.dropdown-toggle.btn-microsoft.focus{color:#fff;background-color:#0f4bac;border-color:rgba(0,0,0,0.2)} +.btn-microsoft:active,.btn-microsoft.active,.open>.dropdown-toggle.btn-microsoft{background-image:none} +.btn-microsoft.disabled,.btn-microsoft[disabled],fieldset[disabled] .btn-microsoft,.btn-microsoft.disabled:hover,.btn-microsoft[disabled]:hover,fieldset[disabled] .btn-microsoft:hover,.btn-microsoft.disabled:focus,.btn-microsoft[disabled]:focus,fieldset[disabled] .btn-microsoft:focus,.btn-microsoft.disabled.focus,.btn-microsoft[disabled].focus,fieldset[disabled] .btn-microsoft.focus,.btn-microsoft.disabled:active,.btn-microsoft[disabled]:active,fieldset[disabled] .btn-microsoft:active,.btn-microsoft.disabled.active,.btn-microsoft[disabled].active,fieldset[disabled] .btn-microsoft.active{background-color:#2672ec;border-color:rgba(0,0,0,0.2)} +.btn-microsoft .badge{color:#2672ec;background-color:#fff} +.btn-odnoklassniki{color:#fff;background-color:#f4731c;border-color:rgba(0,0,0,0.2)}.btn-odnoklassniki:focus,.btn-odnoklassniki.focus{color:#fff;background-color:#d35b0a;border-color:rgba(0,0,0,0.2)} +.btn-odnoklassniki:hover{color:#fff;background-color:#d35b0a;border-color:rgba(0,0,0,0.2)} +.btn-odnoklassniki:active,.btn-odnoklassniki.active,.open>.dropdown-toggle.btn-odnoklassniki{color:#fff;background-color:#d35b0a;border-color:rgba(0,0,0,0.2)}.btn-odnoklassniki:active:hover,.btn-odnoklassniki.active:hover,.open>.dropdown-toggle.btn-odnoklassniki:hover,.btn-odnoklassniki:active:focus,.btn-odnoklassniki.active:focus,.open>.dropdown-toggle.btn-odnoklassniki:focus,.btn-odnoklassniki:active.focus,.btn-odnoklassniki.active.focus,.open>.dropdown-toggle.btn-odnoklassniki.focus{color:#fff;background-color:#b14c09;border-color:rgba(0,0,0,0.2)} +.btn-odnoklassniki:active,.btn-odnoklassniki.active,.open>.dropdown-toggle.btn-odnoklassniki{background-image:none} +.btn-odnoklassniki.disabled,.btn-odnoklassniki[disabled],fieldset[disabled] .btn-odnoklassniki,.btn-odnoklassniki.disabled:hover,.btn-odnoklassniki[disabled]:hover,fieldset[disabled] .btn-odnoklassniki:hover,.btn-odnoklassniki.disabled:focus,.btn-odnoklassniki[disabled]:focus,fieldset[disabled] .btn-odnoklassniki:focus,.btn-odnoklassniki.disabled.focus,.btn-odnoklassniki[disabled].focus,fieldset[disabled] .btn-odnoklassniki.focus,.btn-odnoklassniki.disabled:active,.btn-odnoklassniki[disabled]:active,fieldset[disabled] .btn-odnoklassniki:active,.btn-odnoklassniki.disabled.active,.btn-odnoklassniki[disabled].active,fieldset[disabled] .btn-odnoklassniki.active{background-color:#f4731c;border-color:rgba(0,0,0,0.2)} +.btn-odnoklassniki .badge{color:#f4731c;background-color:#fff} +.btn-openid{color:#fff;background-color:#f7931e;border-color:rgba(0,0,0,0.2)}.btn-openid:focus,.btn-openid.focus{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2)} +.btn-openid:hover{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2)} +.btn-openid:active,.btn-openid.active,.open>.dropdown-toggle.btn-openid{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2)}.btn-openid:active:hover,.btn-openid.active:hover,.open>.dropdown-toggle.btn-openid:hover,.btn-openid:active:focus,.btn-openid.active:focus,.open>.dropdown-toggle.btn-openid:focus,.btn-openid:active.focus,.btn-openid.active.focus,.open>.dropdown-toggle.btn-openid.focus{color:#fff;background-color:#b86607;border-color:rgba(0,0,0,0.2)} +.btn-openid:active,.btn-openid.active,.open>.dropdown-toggle.btn-openid{background-image:none} +.btn-openid.disabled,.btn-openid[disabled],fieldset[disabled] .btn-openid,.btn-openid.disabled:hover,.btn-openid[disabled]:hover,fieldset[disabled] .btn-openid:hover,.btn-openid.disabled:focus,.btn-openid[disabled]:focus,fieldset[disabled] .btn-openid:focus,.btn-openid.disabled.focus,.btn-openid[disabled].focus,fieldset[disabled] .btn-openid.focus,.btn-openid.disabled:active,.btn-openid[disabled]:active,fieldset[disabled] .btn-openid:active,.btn-openid.disabled.active,.btn-openid[disabled].active,fieldset[disabled] .btn-openid.active{background-color:#f7931e;border-color:rgba(0,0,0,0.2)} +.btn-openid .badge{color:#f7931e;background-color:#fff} +.btn-pinterest{color:#fff;background-color:#cb2027;border-color:rgba(0,0,0,0.2)}.btn-pinterest:focus,.btn-pinterest.focus{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2)} +.btn-pinterest:hover{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2)} +.btn-pinterest:active,.btn-pinterest.active,.open>.dropdown-toggle.btn-pinterest{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2)}.btn-pinterest:active:hover,.btn-pinterest.active:hover,.open>.dropdown-toggle.btn-pinterest:hover,.btn-pinterest:active:focus,.btn-pinterest.active:focus,.open>.dropdown-toggle.btn-pinterest:focus,.btn-pinterest:active.focus,.btn-pinterest.active.focus,.open>.dropdown-toggle.btn-pinterest.focus{color:#fff;background-color:#801419;border-color:rgba(0,0,0,0.2)} +.btn-pinterest:active,.btn-pinterest.active,.open>.dropdown-toggle.btn-pinterest{background-image:none} +.btn-pinterest.disabled,.btn-pinterest[disabled],fieldset[disabled] .btn-pinterest,.btn-pinterest.disabled:hover,.btn-pinterest[disabled]:hover,fieldset[disabled] .btn-pinterest:hover,.btn-pinterest.disabled:focus,.btn-pinterest[disabled]:focus,fieldset[disabled] .btn-pinterest:focus,.btn-pinterest.disabled.focus,.btn-pinterest[disabled].focus,fieldset[disabled] .btn-pinterest.focus,.btn-pinterest.disabled:active,.btn-pinterest[disabled]:active,fieldset[disabled] .btn-pinterest:active,.btn-pinterest.disabled.active,.btn-pinterest[disabled].active,fieldset[disabled] .btn-pinterest.active{background-color:#cb2027;border-color:rgba(0,0,0,0.2)} +.btn-pinterest .badge{color:#cb2027;background-color:#fff} +.btn-reddit{color:#000;background-color:#eff7ff;border-color:rgba(0,0,0,0.2)}.btn-reddit:focus,.btn-reddit.focus{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2)} +.btn-reddit:hover{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2)} +.btn-reddit:active,.btn-reddit.active,.open>.dropdown-toggle.btn-reddit{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2)}.btn-reddit:active:hover,.btn-reddit.active:hover,.open>.dropdown-toggle.btn-reddit:hover,.btn-reddit:active:focus,.btn-reddit.active:focus,.open>.dropdown-toggle.btn-reddit:focus,.btn-reddit:active.focus,.btn-reddit.active.focus,.open>.dropdown-toggle.btn-reddit.focus{color:#000;background-color:#98ccff;border-color:rgba(0,0,0,0.2)} +.btn-reddit:active,.btn-reddit.active,.open>.dropdown-toggle.btn-reddit{background-image:none} +.btn-reddit.disabled,.btn-reddit[disabled],fieldset[disabled] .btn-reddit,.btn-reddit.disabled:hover,.btn-reddit[disabled]:hover,fieldset[disabled] .btn-reddit:hover,.btn-reddit.disabled:focus,.btn-reddit[disabled]:focus,fieldset[disabled] .btn-reddit:focus,.btn-reddit.disabled.focus,.btn-reddit[disabled].focus,fieldset[disabled] .btn-reddit.focus,.btn-reddit.disabled:active,.btn-reddit[disabled]:active,fieldset[disabled] .btn-reddit:active,.btn-reddit.disabled.active,.btn-reddit[disabled].active,fieldset[disabled] .btn-reddit.active{background-color:#eff7ff;border-color:rgba(0,0,0,0.2)} +.btn-reddit .badge{color:#eff7ff;background-color:#000} +.btn-soundcloud{color:#fff;background-color:#f50;border-color:rgba(0,0,0,0.2)}.btn-soundcloud:focus,.btn-soundcloud.focus{color:#fff;background-color:#c40;border-color:rgba(0,0,0,0.2)} +.btn-soundcloud:hover{color:#fff;background-color:#c40;border-color:rgba(0,0,0,0.2)} +.btn-soundcloud:active,.btn-soundcloud.active,.open>.dropdown-toggle.btn-soundcloud{color:#fff;background-color:#c40;border-color:rgba(0,0,0,0.2)}.btn-soundcloud:active:hover,.btn-soundcloud.active:hover,.open>.dropdown-toggle.btn-soundcloud:hover,.btn-soundcloud:active:focus,.btn-soundcloud.active:focus,.open>.dropdown-toggle.btn-soundcloud:focus,.btn-soundcloud:active.focus,.btn-soundcloud.active.focus,.open>.dropdown-toggle.btn-soundcloud.focus{color:#fff;background-color:#a83800;border-color:rgba(0,0,0,0.2)} +.btn-soundcloud:active,.btn-soundcloud.active,.open>.dropdown-toggle.btn-soundcloud{background-image:none} +.btn-soundcloud.disabled,.btn-soundcloud[disabled],fieldset[disabled] .btn-soundcloud,.btn-soundcloud.disabled:hover,.btn-soundcloud[disabled]:hover,fieldset[disabled] .btn-soundcloud:hover,.btn-soundcloud.disabled:focus,.btn-soundcloud[disabled]:focus,fieldset[disabled] .btn-soundcloud:focus,.btn-soundcloud.disabled.focus,.btn-soundcloud[disabled].focus,fieldset[disabled] .btn-soundcloud.focus,.btn-soundcloud.disabled:active,.btn-soundcloud[disabled]:active,fieldset[disabled] .btn-soundcloud:active,.btn-soundcloud.disabled.active,.btn-soundcloud[disabled].active,fieldset[disabled] .btn-soundcloud.active{background-color:#f50;border-color:rgba(0,0,0,0.2)} +.btn-soundcloud .badge{color:#f50;background-color:#fff} +.btn-tumblr{color:#fff;background-color:#2c4762;border-color:rgba(0,0,0,0.2)}.btn-tumblr:focus,.btn-tumblr.focus{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2)} +.btn-tumblr:hover{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2)} +.btn-tumblr:active,.btn-tumblr.active,.open>.dropdown-toggle.btn-tumblr{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2)}.btn-tumblr:active:hover,.btn-tumblr.active:hover,.open>.dropdown-toggle.btn-tumblr:hover,.btn-tumblr:active:focus,.btn-tumblr.active:focus,.open>.dropdown-toggle.btn-tumblr:focus,.btn-tumblr:active.focus,.btn-tumblr.active.focus,.open>.dropdown-toggle.btn-tumblr.focus{color:#fff;background-color:#111c26;border-color:rgba(0,0,0,0.2)} +.btn-tumblr:active,.btn-tumblr.active,.open>.dropdown-toggle.btn-tumblr{background-image:none} +.btn-tumblr.disabled,.btn-tumblr[disabled],fieldset[disabled] .btn-tumblr,.btn-tumblr.disabled:hover,.btn-tumblr[disabled]:hover,fieldset[disabled] .btn-tumblr:hover,.btn-tumblr.disabled:focus,.btn-tumblr[disabled]:focus,fieldset[disabled] .btn-tumblr:focus,.btn-tumblr.disabled.focus,.btn-tumblr[disabled].focus,fieldset[disabled] .btn-tumblr.focus,.btn-tumblr.disabled:active,.btn-tumblr[disabled]:active,fieldset[disabled] .btn-tumblr:active,.btn-tumblr.disabled.active,.btn-tumblr[disabled].active,fieldset[disabled] .btn-tumblr.active{background-color:#2c4762;border-color:rgba(0,0,0,0.2)} +.btn-tumblr .badge{color:#2c4762;background-color:#fff} +.btn-twitter{color:#fff;background-color:#55acee;border-color:rgba(0,0,0,0.2)}.btn-twitter:focus,.btn-twitter.focus{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2)} +.btn-twitter:hover{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2)} +.btn-twitter:active,.btn-twitter.active,.open>.dropdown-toggle.btn-twitter{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2)}.btn-twitter:active:hover,.btn-twitter.active:hover,.open>.dropdown-toggle.btn-twitter:hover,.btn-twitter:active:focus,.btn-twitter.active:focus,.open>.dropdown-toggle.btn-twitter:focus,.btn-twitter:active.focus,.btn-twitter.active.focus,.open>.dropdown-toggle.btn-twitter.focus{color:#fff;background-color:#1583d7;border-color:rgba(0,0,0,0.2)} +.btn-twitter:active,.btn-twitter.active,.open>.dropdown-toggle.btn-twitter{background-image:none} +.btn-twitter.disabled,.btn-twitter[disabled],fieldset[disabled] .btn-twitter,.btn-twitter.disabled:hover,.btn-twitter[disabled]:hover,fieldset[disabled] .btn-twitter:hover,.btn-twitter.disabled:focus,.btn-twitter[disabled]:focus,fieldset[disabled] .btn-twitter:focus,.btn-twitter.disabled.focus,.btn-twitter[disabled].focus,fieldset[disabled] .btn-twitter.focus,.btn-twitter.disabled:active,.btn-twitter[disabled]:active,fieldset[disabled] .btn-twitter:active,.btn-twitter.disabled.active,.btn-twitter[disabled].active,fieldset[disabled] .btn-twitter.active{background-color:#55acee;border-color:rgba(0,0,0,0.2)} +.btn-twitter .badge{color:#55acee;background-color:#fff} +.btn-vimeo{color:#fff;background-color:#1ab7ea;border-color:rgba(0,0,0,0.2)}.btn-vimeo:focus,.btn-vimeo.focus{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2)} +.btn-vimeo:hover{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2)} +.btn-vimeo:active,.btn-vimeo.active,.open>.dropdown-toggle.btn-vimeo{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2)}.btn-vimeo:active:hover,.btn-vimeo.active:hover,.open>.dropdown-toggle.btn-vimeo:hover,.btn-vimeo:active:focus,.btn-vimeo.active:focus,.open>.dropdown-toggle.btn-vimeo:focus,.btn-vimeo:active.focus,.btn-vimeo.active.focus,.open>.dropdown-toggle.btn-vimeo.focus{color:#fff;background-color:#0f7b9f;border-color:rgba(0,0,0,0.2)} +.btn-vimeo:active,.btn-vimeo.active,.open>.dropdown-toggle.btn-vimeo{background-image:none} +.btn-vimeo.disabled,.btn-vimeo[disabled],fieldset[disabled] .btn-vimeo,.btn-vimeo.disabled:hover,.btn-vimeo[disabled]:hover,fieldset[disabled] .btn-vimeo:hover,.btn-vimeo.disabled:focus,.btn-vimeo[disabled]:focus,fieldset[disabled] .btn-vimeo:focus,.btn-vimeo.disabled.focus,.btn-vimeo[disabled].focus,fieldset[disabled] .btn-vimeo.focus,.btn-vimeo.disabled:active,.btn-vimeo[disabled]:active,fieldset[disabled] .btn-vimeo:active,.btn-vimeo.disabled.active,.btn-vimeo[disabled].active,fieldset[disabled] .btn-vimeo.active{background-color:#1ab7ea;border-color:rgba(0,0,0,0.2)} +.btn-vimeo .badge{color:#1ab7ea;background-color:#fff} +.btn-vk{color:#fff;background-color:#587ea3;border-color:rgba(0,0,0,0.2)}.btn-vk:focus,.btn-vk.focus{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2)} +.btn-vk:hover{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2)} +.btn-vk:active,.btn-vk.active,.open>.dropdown-toggle.btn-vk{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2)}.btn-vk:active:hover,.btn-vk.active:hover,.open>.dropdown-toggle.btn-vk:hover,.btn-vk:active:focus,.btn-vk.active:focus,.open>.dropdown-toggle.btn-vk:focus,.btn-vk:active.focus,.btn-vk.active.focus,.open>.dropdown-toggle.btn-vk.focus{color:#fff;background-color:#3a526b;border-color:rgba(0,0,0,0.2)} +.btn-vk:active,.btn-vk.active,.open>.dropdown-toggle.btn-vk{background-image:none} +.btn-vk.disabled,.btn-vk[disabled],fieldset[disabled] .btn-vk,.btn-vk.disabled:hover,.btn-vk[disabled]:hover,fieldset[disabled] .btn-vk:hover,.btn-vk.disabled:focus,.btn-vk[disabled]:focus,fieldset[disabled] .btn-vk:focus,.btn-vk.disabled.focus,.btn-vk[disabled].focus,fieldset[disabled] .btn-vk.focus,.btn-vk.disabled:active,.btn-vk[disabled]:active,fieldset[disabled] .btn-vk:active,.btn-vk.disabled.active,.btn-vk[disabled].active,fieldset[disabled] .btn-vk.active{background-color:#587ea3;border-color:rgba(0,0,0,0.2)} +.btn-vk .badge{color:#587ea3;background-color:#fff} +.btn-yahoo{color:#fff;background-color:#720e9e;border-color:rgba(0,0,0,0.2)}.btn-yahoo:focus,.btn-yahoo.focus{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2)} +.btn-yahoo:hover{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2)} +.btn-yahoo:active,.btn-yahoo.active,.open>.dropdown-toggle.btn-yahoo{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2)}.btn-yahoo:active:hover,.btn-yahoo.active:hover,.open>.dropdown-toggle.btn-yahoo:hover,.btn-yahoo:active:focus,.btn-yahoo.active:focus,.open>.dropdown-toggle.btn-yahoo:focus,.btn-yahoo:active.focus,.btn-yahoo.active.focus,.open>.dropdown-toggle.btn-yahoo.focus{color:#fff;background-color:#39074e;border-color:rgba(0,0,0,0.2)} +.btn-yahoo:active,.btn-yahoo.active,.open>.dropdown-toggle.btn-yahoo{background-image:none} +.btn-yahoo.disabled,.btn-yahoo[disabled],fieldset[disabled] .btn-yahoo,.btn-yahoo.disabled:hover,.btn-yahoo[disabled]:hover,fieldset[disabled] .btn-yahoo:hover,.btn-yahoo.disabled:focus,.btn-yahoo[disabled]:focus,fieldset[disabled] .btn-yahoo:focus,.btn-yahoo.disabled.focus,.btn-yahoo[disabled].focus,fieldset[disabled] .btn-yahoo.focus,.btn-yahoo.disabled:active,.btn-yahoo[disabled]:active,fieldset[disabled] .btn-yahoo:active,.btn-yahoo.disabled.active,.btn-yahoo[disabled].active,fieldset[disabled] .btn-yahoo.active{background-color:#720e9e;border-color:rgba(0,0,0,0.2)} +.btn-yahoo .badge{color:#720e9e;background-color:#fff} diff --git a/docs/css/bootstrap-theme.css b/docs/css/bootstrap-theme.css new file mode 100644 index 00000000..bb663496 --- /dev/null +++ b/docs/css/bootstrap-theme.css @@ -0,0 +1,476 @@ +/*! + * Bootstrap v3.3.2 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +.btn-default, +.btn-primary, +.btn-success, +.btn-info, +.btn-warning, +.btn-danger { + text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); +} +.btn-default:active, +.btn-primary:active, +.btn-success:active, +.btn-info:active, +.btn-warning:active, +.btn-danger:active, +.btn-default.active, +.btn-primary.active, +.btn-success.active, +.btn-info.active, +.btn-warning.active, +.btn-danger.active { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn-default .badge, +.btn-primary .badge, +.btn-success .badge, +.btn-info .badge, +.btn-warning .badge, +.btn-danger .badge { + text-shadow: none; +} +.btn:active, +.btn.active { + background-image: none; +} +.btn-default { + text-shadow: 0 1px 0 #fff; + background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); + background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0)); + background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #dbdbdb; + border-color: #ccc; +} +.btn-default:hover, +.btn-default:focus { + background-color: #e0e0e0; + background-position: 0 -15px; +} +.btn-default:active, +.btn-default.active { + background-color: #e0e0e0; + border-color: #dbdbdb; +} +.btn-default.disabled, +.btn-default:disabled, +.btn-default[disabled] { + background-color: #e0e0e0; + background-image: none; +} +.btn-primary { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88)); + background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #245580; +} +.btn-primary:hover, +.btn-primary:focus { + background-color: #265a88; + background-position: 0 -15px; +} +.btn-primary:active, +.btn-primary.active { + background-color: #265a88; + border-color: #245580; +} +.btn-primary.disabled, +.btn-primary:disabled, +.btn-primary[disabled] { + background-color: #265a88; + background-image: none; +} +.btn-success { + background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); + background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); + background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #3e8f3e; +} +.btn-success:hover, +.btn-success:focus { + background-color: #419641; + background-position: 0 -15px; +} +.btn-success:active, +.btn-success.active { + background-color: #419641; + border-color: #3e8f3e; +} +.btn-success.disabled, +.btn-success:disabled, +.btn-success[disabled] { + background-color: #419641; + background-image: none; +} +.btn-info { + background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); + background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); + background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #28a4c9; +} +.btn-info:hover, +.btn-info:focus { + background-color: #2aabd2; + background-position: 0 -15px; +} +.btn-info:active, +.btn-info.active { + background-color: #2aabd2; + border-color: #28a4c9; +} +.btn-info.disabled, +.btn-info:disabled, +.btn-info[disabled] { + background-color: #2aabd2; + background-image: none; +} +.btn-warning { + background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); + background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316)); + background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #e38d13; +} +.btn-warning:hover, +.btn-warning:focus { + background-color: #eb9316; + background-position: 0 -15px; +} +.btn-warning:active, +.btn-warning.active { + background-color: #eb9316; + border-color: #e38d13; +} +.btn-warning.disabled, +.btn-warning:disabled, +.btn-warning[disabled] { + background-color: #eb9316; + background-image: none; +} +.btn-danger { + background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); + background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a)); + background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #b92c28; +} +.btn-danger:hover, +.btn-danger:focus { + background-color: #c12e2a; + background-position: 0 -15px; +} +.btn-danger:active, +.btn-danger.active { + background-color: #c12e2a; + border-color: #b92c28; +} +.btn-danger.disabled, +.btn-danger:disabled, +.btn-danger[disabled] { + background-color: #c12e2a; + background-image: none; +} +.thumbnail, +.img-thumbnail { + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); + box-shadow: 0 1px 2px rgba(0, 0, 0, .075); +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + background-color: #e8e8e8; + background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + background-color: #2e6da4; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; +} +.navbar-default { + background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); + background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8)); + background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .active > a { + background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); + background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2)); + background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); + background-repeat: repeat-x; + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); +} +.navbar-brand, +.navbar-nav > li > a { + text-shadow: 0 1px 0 rgba(255, 255, 255, .25); +} +.navbar-inverse { + background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); + background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222)); + background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .active > a { + background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); + background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f)); + background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); + background-repeat: repeat-x; + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); +} +.navbar-inverse .navbar-brand, +.navbar-inverse .navbar-nav > li > a { + text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); +} +.navbar-static-top, +.navbar-fixed-top, +.navbar-fixed-bottom { + border-radius: 0; +} +@media (max-width: 767px) { + .navbar .navbar-nav .open .dropdown-menu > .active > a, + .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; + } +} +.alert { + text-shadow: 0 1px 0 rgba(255, 255, 255, .2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); +} +.alert-success { + background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); + background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); + background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); + background-repeat: repeat-x; + border-color: #b2dba1; +} +.alert-info { + background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); + background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); + background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); + background-repeat: repeat-x; + border-color: #9acfea; +} +.alert-warning { + background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); + background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); + background-repeat: repeat-x; + border-color: #f5e79e; +} +.alert-danger { + background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); + background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); + background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); + background-repeat: repeat-x; + border-color: #dca7a7; +} +.progress { + background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); + background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); + background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090)); + background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-success { + background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); + background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); + background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-info { + background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); + background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); + background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-warning { + background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); + background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); + background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-danger { + background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); + background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); + background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.list-group { + border-radius: 4px; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); + box-shadow: 0 1px 2px rgba(0, 0, 0, .075); +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + text-shadow: 0 -1px 0 #286090; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0); + background-repeat: repeat-x; + border-color: #2b669a; +} +.list-group-item.active .badge, +.list-group-item.active:hover .badge, +.list-group-item.active:focus .badge { + text-shadow: none; +} +.panel { + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: 0 1px 2px rgba(0, 0, 0, .05); +} +.panel-default > .panel-heading { + background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; +} +.panel-primary > .panel-heading { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; +} +.panel-success > .panel-heading { + background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); + background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); + background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); + background-repeat: repeat-x; +} +.panel-info > .panel-heading { + background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); + background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); + background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); + background-repeat: repeat-x; +} +.panel-warning > .panel-heading { + background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); + background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); + background-repeat: repeat-x; +} +.panel-danger > .panel-heading { + background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); + background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); + background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); + background-repeat: repeat-x; +} +.well { + background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); + background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); + background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); + background-repeat: repeat-x; + border-color: #dcdcdc; + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); +} +/*# sourceMappingURL=bootstrap-theme.css.map */ diff --git a/docs/css/bootstrap-theme.css.map b/docs/css/bootstrap-theme.css.map new file mode 100644 index 00000000..5a12d631 --- /dev/null +++ b/docs/css/bootstrap-theme.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","bootstrap-theme.css","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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","file":"bootstrap-theme.css","sourcesContent":["\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &:disabled,\n &[disabled] {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n",".btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default:disabled,\n.btn-default[disabled] {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary:disabled,\n.btn-primary[disabled] {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success:disabled,\n.btn-success[disabled] {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info:disabled,\n.btn-info[disabled] {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning:disabled,\n.btn-warning[disabled] {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger:disabled,\n.btn-danger[disabled] {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file diff --git a/docs/css/bootstrap-theme.min.css b/docs/css/bootstrap-theme.min.css new file mode 100644 index 00000000..ac8dd550 --- /dev/null +++ b/docs/css/bootstrap-theme.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.2 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary:disabled,.btn-primary[disabled]{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} \ No newline at end of file diff --git a/docs/css/bootstrap.css b/docs/css/bootstrap.css new file mode 100644 index 00000000..c46af7df --- /dev/null +++ b/docs/css/bootstrap.css @@ -0,0 +1,6566 @@ +/*! + * Bootstrap v3.3.2 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + margin: .67em 0; + font-size: 2em; +} +mark { + color: #000; + background: #ff0; +} +small { + font-size: 80%; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -.5em; +} +sub { + bottom: -.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + height: 0; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font: inherit; + color: inherit; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + padding: .35em .625em .75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} +legend { + padding: 0; + border: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-spacing: 0; + border-collapse: collapse; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + select { + background: #fff !important; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\2a"; +} +.glyphicon-plus:before { + content: "\2b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 6px; +} +.img-thumbnail { + display: inline-block; + max-width: 100%; + height: auto; + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 36px; +} +h2, +.h2 { + font-size: 30px; +} +h3, +.h3 { + font-size: 24px; +} +h4, +.h4 { + font-size: 18px; +} +h5, +.h5 { + font-size: 14px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +small, +.small { + font-size: 85%; +} +mark, +.mark { + padding: .2em; + background-color: #fcf8e3; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + margin-left: -5px; + list-style: none; +} +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} +dl { + margin-top: 0; + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eee; + border-left: 0; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + -webkit-box-shadow: none; + box-shadow: none; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + color: #333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +.row { + margin-right: -15px; + margin-left: -15px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + display: table-column; + float: none; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + display: table-cell; + float: none; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + min-height: .01%; + overflow-x: auto; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.42857143; + color: #555; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + cursor: not-allowed; + background-color: #eee; + opacity: 1; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"], + input[type="time"], + input[type="datetime-local"], + input[type="month"] { + line-height: 34px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 46px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-top: 4px \9; + margin-left: -20px; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-right: 0; + padding-left: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.form-group-sm .form-control { + height: 30px; + line-height: 30px; +} +textarea.form-group-sm .form-control, +select[multiple].form-group-sm .form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.input-lg { + height: 46px; + line-height: 46px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.form-group-lg .form-control { + height: 46px; + line-height: 46px; +} +textarea.form-group-lg .form-control, +select[multiple].form-group-lg .form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 42.5px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; +} +.input-sm + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + background-color: #f2dede; + border-color: #a94442; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 25px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + padding-top: 7px; + margin-bottom: 0; + text-align: right; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 14.333333px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + } +} +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + pointer-events: none; + cursor: not-allowed; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; + opacity: .65; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:hover, +.btn-default:focus, +.btn-default.focus, +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary.focus, +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:hover, +.btn-success:focus, +.btn-success.focus, +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:hover, +.btn-info:focus, +.btn-info.focus, +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:hover, +.btn-warning:focus, +.btn-warning.focus, +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:hover, +.btn-danger:focus, +.btn-danger.focus, +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + font-weight: normal; + color: #337ab7; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity .15s linear; + -o-transition: opacity .15s linear; + transition: opacity .15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; + visibility: hidden; +} +.collapse.in { + display: block; + visibility: visible; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-timing-function: ease; + -o-transition-timing-function: ease; + transition-timing-function: ease; + -webkit-transition-duration: .35s; + -o-transition-duration: .35s; + transition-duration: .35s; + -webkit-transition-property: height, visibility; + -o-transition-property: height, visibility; + transition-property: height, visibility; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + text-align: left; + list-style: none; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); + box-shadow: 0 6px 12px rgba(0, 0, 0, .175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #262626; + text-decoration: none; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + background-color: #337ab7; + outline: 0; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + right: 0; + left: auto; +} +.dropdown-menu-left { + right: auto; + left: 0; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + content: ""; + border-top: 0; + border-bottom: 4px solid; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } + .navbar-right .dropdown-menu-left { + right: auto; + left: 0; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-left-radius: 4px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + display: table-cell; + float: none; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-right: 0; + padding-left: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 46px; + line-height: 46px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555; + text-align: center; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + margin-left: -1px; +} +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eee; +} +.nav > li.disabled > a { + color: #777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eee #eee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555; + cursor: default; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; + visibility: hidden; +} +.tab-content > .active { + display: block; + visibility: visible; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + -webkit-overflow-scrolling: touch; + border-top: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + visibility: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-right: 0; + padding-left: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + height: 50px; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; + } +} +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 8px; + margin-right: 15px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 7.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } +} +.navbar-form { + padding: 10px 15px; + margin-top: 8px; + margin-right: -15px; + margin-bottom: 8px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} +.navbar-btn.btn-sm { + margin-top: 10px; + margin-bottom: 10px; +} +.navbar-btn.btn-xs { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-right: 15px; + margin-left: 15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + margin-right: -15px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555; + background-color: #e7e7e7; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #fff; + background-color: #080808; +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + padding: 0 5px; + color: #ccc; + content: "/\00a0"; +} +.breadcrumb > .active { + color: #777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.42857143; + color: #337ab7; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #23527c; + background-color: #eee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #fff; + cursor: default; + background-color: #337ab7; + border-color: #337ab7; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777; + cursor: not-allowed; + background-color: #fff; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + background-color: #777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding: 30px 15px; + margin-bottom: 30px; + color: inherit; + background-color: #eee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 6px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding: 48px 0; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: border .2s ease-in-out; + -o-transition: border .2s ease-in-out; + transition: border .2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-right: auto; + margin-left: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #333; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-o-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); +} +.progress-bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + -webkit-transition: width .6s ease; + -o-transition: width .6s ease; + transition: width .6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + overflow: hidden; + zoom: 1; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + padding-left: 0; + margin-bottom: 20px; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +a.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +a.list-group-item:focus { + color: #555; + text-decoration: none; + background-color: #f5f5f5; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + color: #777; + cursor: not-allowed; + background-color: #eee; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +a.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +a.list-group-item-success.active:hover, +a.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +a.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +a.list-group-item-info.active:hover, +a.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +a.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +a.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: 0 1px 1px rgba(0, 0, 0, .05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-right: 15px; + padding-left: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + margin-bottom: 0; + border: 0; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} +.embed-responsive.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, .15); +} +.well-lg { + padding: 24px; + border-radius: 6px; +} +.well-sm { + padding: 9px; + border-radius: 3px; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + filter: alpha(opacity=20); + opacity: .2; +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + filter: alpha(opacity=50); + opacity: .5; +} +button.close { + -webkit-appearance: none; + padding: 0; + cursor: pointer; + background: transparent; + border: 0; +} +.modal-open { + overflow: hidden; +} +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + display: none; + overflow: hidden; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transition: -webkit-transform .3s ease-out; + -o-transition: -o-transform .3s ease-out; + transition: transform .3s ease-out; + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + outline: 0; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); + box-shadow: 0 3px 9px rgba(0, 0, 0, .5); +} +.modal-backdrop { + position: absolute; + top: 0; + right: 0; + left: 0; + background-color: #000; +} +.modal-backdrop.fade { + filter: alpha(opacity=0); + opacity: 0; +} +.modal-backdrop.in { + filter: alpha(opacity=50); + opacity: .5; +} +.modal-header { + min-height: 16.42857143px; + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 12px; + font-weight: normal; + line-height: 1.4; + visibility: visible; + filter: alpha(opacity=0); + opacity: 0; +} +.tooltip.in { + filter: alpha(opacity=90); + opacity: .9; +} +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + text-decoration: none; + background-color: #000; + border-radius: 4px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + right: 5px; + bottom: 0; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + font-weight: normal; + line-height: 1.42857143; + text-align: left; + white-space: normal; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + box-shadow: 0 5px 10px rgba(0, 0, 0, .2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + content: ""; + border-width: 10px; +} +.popover.top > .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, .25); + border-bottom-width: 0; +} +.popover.top > .arrow:after { + bottom: 1px; + margin-left: -10px; + content: " "; + border-top-color: #fff; + border-bottom-width: 0; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, .25); + border-left-width: 0; +} +.popover.right > .arrow:after { + bottom: -10px; + left: 1px; + content: " "; + border-right-color: #fff; + border-left-width: 0; +} +.popover.bottom > .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, .25); +} +.popover.bottom > .arrow:after { + top: 1px; + margin-left: -10px; + content: " "; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, .25); +} +.popover.left > .arrow:after { + right: 1px; + bottom: -10px; + content: " "; + border-right-width: 0; + border-left-color: #fff; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: .6s ease-in-out left; + -o-transition: .6s ease-in-out left; + transition: .6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform .6s ease-in-out; + -o-transition: -o-transform .6s ease-in-out; + transition: transform .6s ease-in-out; + + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000; + perspective: 1000; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + left: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + left: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + left: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); + filter: alpha(opacity=50); + opacity: .5; +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control:hover, +.carousel-control:focus { + color: #fff; + text-decoration: none; + filter: alpha(opacity=90); + outline: 0; + opacity: .9; +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + font-family: serif; + line-height: 1; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); + border: 1px solid #fff; + border-radius: 10px; +} +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -15px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -15px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-footer:after { + clear: both; +} +.center-block { + display: block; + margin-right: auto; + margin-left: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; + visibility: hidden !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap.css.map */ diff --git a/docs/css/bootstrap.css.map b/docs/css/bootstrap.css.map new file mode 100644 index 00000000..ff579ff5 --- /dev/null +++ b/docs/css/bootstrap.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["bootstrap.css","less/normalize.less","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"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AAA;EHqR9C;AGpRmC;EAAW,kBAAA;EHuR9C;AGtRmC;EAAW,kBAAA;EHyR9C;AGxRmC;EAAW,kBAAA;EH2R9C;AG1RmC;EAAW,kBAAA;EH6R9C;AG5RmC;EAAW,kBAAA;EH+R9C;AG9RmC;EAAW,kBAAA;EHiS9C;AGhSmC;EAAW,kBAAA;EHmS9C;AGlSmC;EAAW,kBAAA;EHqS9C;AGpSmC;EAAW,kBAAA;EHuS9C;AGtSmC;EAAW,kBAAA;EHyS9C;AGxSmC;EAAW,kBAAA;EH2S9C;AG1SmC;EAAW,kBAAA;EH6S9C;AG5SmC;EAAW,kBAAA;EH+S9C;AG9SmC;EAAW,kBAAA;EHiT9C;AGhTmC;EAAW,kBAAA;EHmT9C;AGlTmC;EAAW,kBAAA;EHqT9C;AGpTmC;EAAW,kBAAA;EHuT9C;AGtTmC;EAAW,kBAAA;EHyT9C;AGxTmC;EAAW,kBAAA;EH2T9C;AG1TmC;EAAW,kBAAA;EH6T9C;AG5TmC;EAAW,kBAAA;EH+T9C;AG9TmC;EAAW,kBAAA;EHiU9C;AGhUmC;EAAW,kBAAA;EHmU9C;AGlUmC;EAAW,kBAAA;EHqU9C;AGpUmC;EAAW,kBAAA;EHuU9C;AGtUmC;EAAW,kBAAA;EHyU9C;AGxUmC;EAAW,kBAAA;EH2U9C;AG1UmC;EAAW,kBAAA;EH6U9C;AG5UmC;EAAW,kBAAA;EH+U9C;AG9UmC;EAAW,kBAAA;EHiV9C;AGhVmC;EAAW,kBAAA;EHmV9C;AGlVmC;EAAW,kBAAA;EHqV9C;AGpVmC;EAAW,kBAAA;EHuV9C;AGtVmC;EAAW,kBAAA;EHyV9C;AGxVmC;EAAW,kBAAA;EH2V9C;AG1VmC;EAAW,kBAAA;EH6V9C;AG5VmC;EAAW,kBAAA;EH+V9C;AG9VmC;EAAW,kBAAA;EHiW9C;AGhWmC;EAAW,kBAAA;EHmW9C;AGlWmC;EAAW,kBAAA;EHqW9C;AGpWmC;EAAW,kBAAA;EHuW9C;AGtWmC;EAAW,kBAAA;EHyW9C;AGxWmC;EAAW,kBAAA;EH2W9C;AG1WmC;EAAW,kBAAA;EH6W9C;AG5WmC;EAAW,kBAAA;EH+W9C;AG9WmC;EAAW,kBAAA;EHiX9C;AGhXmC;EAAW,kBAAA;EHmX9C;AGlXmC;EAAW,kBAAA;EHqX9C;AGpXmC;EAAW,kBAAA;EHuX9C;AGtXmC;EAAW,kBAAA;EHyX9C;AGxXmC;EAAW,kBAAA;EH2X9C;AG1XmC;EAAW,kBAAA;EH6X9C;AG5XmC;EAAW,kBAAA;EH+X9C;AG9XmC;EAAW,kBAAA;EHiY9C;AGhYmC;EAAW,kBAAA;EHmY9C;AGlYmC;EAAW,kBAAA;EHqY9C;AGpYmC;EAAW,kBAAA;EHuY9C;AGtYmC;EAAW,kBAAA;EHyY9C;AGxYmC;EAAW,kBAAA;EH2Y9C;AG1YmC;EAAW,kBAAA;EH6Y9C;AG5YmC;EAAW,kBAAA;EH+Y9C;AG9YmC;EAAW,kBAAA;EHiZ9C;AGhZmC;EAAW,kBAAA;EHmZ9C;AGlZmC;EAAW,kBAAA;EHqZ9C;AGpZmC;EAAW,kBAAA;EHuZ9C;AGtZmC;EAAW,kBAAA;EHyZ9C;AGxZmC;EAAW,kBAAA;EH2Z9C;AG1ZmC;EAAW,kBAAA;EH6Z9C;AG5ZmC;EAAW,kBAAA;EH+Z9C;AG9ZmC;EAAW,kBAAA;EHia9C;AGhamC;EAAW,kBAAA;EHma9C;AGlamC;EAAW,kBAAA;EHqa9C;AGpamC;EAAW,kBAAA;EHua9C;AGtamC;EAAW,kBAAA;EHya9C;AGxamC;EAAW,kBAAA;EH2a9C;AG1amC;EAAW,kBAAA;EH6a9C;AG5amC;EAAW,kBAAA;EH+a9C;AG9amC;EAAW,kBAAA;EHib9C;AGhbmC;EAAW,kBAAA;EHmb9C;AGlbmC;EAAW,kBAAA;EHqb9C;AGpbmC;EAAW,kBAAA;EHub9C;AGtbmC;EAAW,kBAAA;EHyb9C;AGxbmC;EAAW,kBAAA;EH2b9C;AG1bmC;EAAW,kBAAA;EH6b9C;AG5bmC;EAAW,kBAAA;EH+b9C;AG9bmC;EAAW,kBAAA;EHic9C;AGhcmC;EAAW,kBAAA;EHmc9C;AGlcmC;EAAW,kBAAA;EHqc9C;AGpcmC;EAAW,kBAAA;EHuc9C;AGtcmC;EAAW,kBAAA;EHyc9C;AGxcmC;EAAW,kBAAA;EH2c9C;AG1cmC;EAAW,kBAAA;EH6c9C;AG5cmC;EAAW,kBAAA;EH+c9C;AG9cmC;EAAW,kBAAA;EHid9C;AGhdmC;EAAW,kBAAA;EHmd9C;AGldmC;EAAW,kBAAA;EHqd9C;AGpdmC;EAAW,kBAAA;EHud9C;AGtdmC;EAAW,kBAAA;EHyd9C;AGxdmC;EAAW,kBAAA;EH2d9C;AG1dmC;EAAW,kBAAA;EH6d9C;AG5dmC;EAAW,kBAAA;EH+d9C;AG9dmC;EAAW,kBAAA;EHie9C;AGhemC;EAAW,kBAAA;EHme9C;AGlemC;EAAW,kBAAA;EHqe9C;AGpemC;EAAW,kBAAA;EHue9C;AGtemC;EAAW,kBAAA;EHye9C;AGxemC;EAAW,kBAAA;EH2e9C;AG1emC;EAAW,kBAAA;EH6e9C;AG5emC;EAAW,kBAAA;EH+e9C;AG9emC;EAAW,kBAAA;EHif9C;AGhfmC;EAAW,kBAAA;EHmf9C;AGlfmC;EAAW,kBAAA;EHqf9C;AGpfmC;EAAW,kBAAA;EHuf9C;AGtfmC;EAAW,kBAAA;EHyf9C;AGxfmC;EAAW,kBAAA;EH2f9C;AG1fmC;EAAW,kBAAA;EH6f9C;AG5fmC;EAAW,kBAAA;EH+f9C;AG9fmC;EAAW,kBAAA;EHigB9C;AGhgBmC;EAAW,kBAAA;EHmgB9C;AGlgBmC;EAAW,kBAAA;EHqgB9C;AGpgBmC;EAAW,kBAAA;EHugB9C;AGtgBmC;EAAW,kBAAA;EHygB9C;AGxgBmC;EAAW,kBAAA;EH2gB9C;AG1gBmC;EAAW,kBAAA;EH6gB9C;AG5gBmC;EAAW,kBAAA;EH+gB9C;AG9gBmC;EAAW,kBAAA;EHihB9C;AGhhBmC;EAAW,kBAAA;EHmhB9C;AGlhBmC;EAAW,kBAAA;EHqhB9C;AGphBmC;EAAW,kBAAA;EHuhB9C;AGthBmC;EAAW,kBAAA;EHyhB9C;AGxhBmC;EAAW,kBAAA;EH2hB9C;AG1hBmC;EAAW,kBAAA;EH6hB9C;AG5hBmC;EAAW,kBAAA;EH+hB9C;AG9hBmC;EAAW,kBAAA;EHiiB9C;AGhiBmC;EAAW,kBAAA;EHmiB9C;AGliBmC;EAAW,kBAAA;EHqiB9C;AGpiBmC;EAAW,kBAAA;EHuiB9C;AGtiBmC;EAAW,kBAAA;EHyiB9C;AGxiBmC;EAAW,kBAAA;EH2iB9C;AG1iBmC;EAAW,kBAAA;EH6iB9C;AG5iBmC;EAAW,kBAAA;EH+iB9C;AG9iBmC;EAAW,kBAAA;EHijB9C;AGhjBmC;EAAW,kBAAA;EHmjB9C;AGljBmC;EAAW,kBAAA;EHqjB9C;AGpjBmC;EAAW,kBAAA;EHujB9C;AGtjBmC;EAAW,kBAAA;EHyjB9C;AGxjBmC;EAAW,kBAAA;EH2jB9C;AG1jBmC;EAAW,kBAAA;EH6jB9C;AG5jBmC;EAAW,kBAAA;EH+jB9C;AG9jBmC;EAAW,kBAAA;EHikB9C;AGhkBmC;EAAW,kBAAA;EHmkB9C;AGlkBmC;EAAW,kBAAA;EHqkB9C;AGpkBmC;EAAW,kBAAA;EHukB9C;AGtkBmC;EAAW,kBAAA;EHykB9C;AGxkBmC;EAAW,kBAAA;EH2kB9C;AG1kBmC;EAAW,kBAAA;EH6kB9C;AG5kBmC;EAAW,kBAAA;EH+kB9C;AG9kBmC;EAAW,kBAAA;EHilB9C;AGhlBmC;EAAW,kBAAA;EHmlB9C;AGllBmC;EAAW,kBAAA;EHqlB9C;AGplBmC;EAAW,kBAAA;EHulB9C;AGtlBmC;EAAW,kBAAA;EHylB9C;AGxlBmC;EAAW,kBAAA;EH2lB9C;AG1lBmC;EAAW,kBAAA;EH6lB9C;AG5lBmC;EAAW,kBAAA;EH+lB9C;AG9lBmC;EAAW,kBAAA;EHimB9C;AGhmBmC;EAAW,kBAAA;EHmmB9C;AGlmBmC;EAAW,kBAAA;EHqmB9C;AGpmBmC;EAAW,kBAAA;EHumB9C;AGtmBmC;EAAW,kBAAA;EHymB9C;AGxmBmC;EAAW,kBAAA;EH2mB9C;AG1mBmC;EAAW,kBAAA;EH6mB9C;AG5mBmC;EAAW,kBAAA;EH+mB9C;AG9mBmC;EAAW,kBAAA;EHinB9C;AGhnBmC;EAAW,kBAAA;EHmnB9C;AGlnBmC;EAAW,kBAAA;EHqnB9C;AGpnBmC;EAAW,kBAAA;EHunB9C;AGtnBmC;EAAW,kBAAA;EHynB9C;AGxnBmC;EAAW,kBAAA;EH2nB9C;AG1nBmC;EAAW,kBAAA;EH6nB9C;AG5nBmC;EAAW,kBAAA;EH+nB9C;AG9nBmC;EAAW,kBAAA;EHioB9C;AGhoBmC;EAAW,kBAAA;EHmoB9C;AGloBmC;EAAW,kBAAA;EHqoB9C;AGpoBmC;EAAW,kBAAA;EHuoB9C;AGtoBmC;EAAW,kBAAA;EHyoB9C;AGhoBmC;EAAW,kBAAA;EHmoB9C;AGloBmC;EAAW,kBAAA;EHqoB9C;AGpoBmC;EAAW,kBAAA;EHuoB9C;AGtoBmC;EAAW,kBAAA;EHyoB9C;AGxoBmC;EAAW,kBAAA;EH2oB9C;AG1oBmC;EAAW,kBAAA;EH6oB9C;AG5oBmC;EAAW,kBAAA;EH+oB9C;AG9oBmC;EAAW,kBAAA;EHipB9C;AGhpBmC;EAAW,kBAAA;EHmpB9C;AGlpBmC;EAAW,kBAAA;EHqpB9C;AGppBmC;EAAW,kBAAA;EHupB9C;AGtpBmC;EAAW,kBAAA;EHypB9C;AGxpBmC;EAAW,kBAAA;EH2pB9C;AG1pBmC;EAAW,kBAAA;EH6pB9C;AG5pBmC;EAAW,kBAAA;EH+pB9C;AG9pBmC;EAAW,kBAAA;EHiqB9C;AGhqBmC;EAAW,kBAAA;EHmqB9C;AGlqBmC;EAAW,kBAAA;EHqqB9C;AGpqBmC;EAAW,kBAAA;EHuqB9C;AGtqBmC;EAAW,kBAAA;EHyqB9C;AGxqBmC;EAAW,kBAAA;EH2qB9C;AG1qBmC;EAAW,kBAAA;EH6qB9C;AG5qBmC;EAAW,kBAAA;EH+qB9C;AG9qBmC;EAAW,kBAAA;EHirB9C;AGhrBmC;EAAW,kBAAA;EHmrB9C;AGlrBmC;EAAW,kBAAA;EHqrB9C;AGprBmC;EAAW,kBAAA;EHurB9C;AGtrBmC;EAAW,kBAAA;EHyrB9C;AGxrBmC;EAAW,kBAAA;EH2rB9C;AG1rBmC;EAAW,kBAAA;EH6rB9C;AG5rBmC;EAAW,kBAAA;EH+rB9C;AG9rBmC;EAAW,kBAAA;EHisB9C;AGhsBmC;EAAW,kBAAA;EHmsB9C;AGlsBmC;EAAW,kBAAA;EHqsB9C;AGpsBmC;EAAW,kBAAA;EHusB9C;AGtsBmC;EAAW,kBAAA;EHysB9C;AGxsBmC;EAAW,kBAAA;EH2sB9C;AG1sBmC;EAAW,kBAAA;EH6sB9C;AG5sBmC;EAAW,kBAAA;EH+sB9C;AG9sBmC;EAAW,kBAAA;EHitB9C;AGhtBmC;EAAW,kBAAA;EHmtB9C;AGltBmC;EAAW,kBAAA;EHqtB9C;AGptBmC;EAAW,kBAAA;EHutB9C;AGttBmC;EAAW,kBAAA;EHytB9C;AGxtBmC;EAAW,kBAAA;EH2tB9C;AG1tBmC;EAAW,kBAAA;EH6tB9C;AG5tBmC;EAAW,kBAAA;EH+tB9C;AG9tBmC;EAAW,kBAAA;EHiuB9C;AGhuBmC;EAAW,kBAAA;EHmuB9C;AGluBmC;EAAW,kBAAA;EHquB9C;AGpuBmC;EAAW,kBAAA;EHuuB9C;AGtuBmC;EAAW,kBAAA;EHyuB9C;AI3gCD;ECgEE,gCAAA;EACG,6BAAA;EACK,wBAAA;EL88BT;AI7gCD;;EC6DE,gCAAA;EACG,6BAAA;EACK,wBAAA;ELo9BT;AI3gCD;EACE,iBAAA;EACA,+CAAA;EJ6gCD;AI1gCD;EACE,6DAAA;EACA,iBAAA;EACA,yBAAA;EACA,gBAAA;EACA,2BAAA;EJ4gCD;AIxgCD;;;;EAIE,sBAAA;EACA,oBAAA;EACA,sBAAA;EJ0gCD;AIpgCD;EACE,gBAAA;EACA,uBAAA;EJsgCD;AIpgCC;;EAEE,gBAAA;EACA,4BAAA;EJsgCH;AIngCC;EErDA,sBAAA;EAEA,4CAAA;EACA,sBAAA;EN0jCD;AI7/BD;EACE,WAAA;EJ+/BD;AIz/BD;EACE,wBAAA;EJ2/BD;AIv/BD;;;;;EGvEE,gBAAA;EACA,iBAAA;EACA,cAAA;EPqkCD;AI3/BD;EACE,oBAAA;EJ6/BD;AIv/BD;EACE,cAAA;EACA,yBAAA;EACA,2BAAA;EACA,2BAAA;EACA,oBAAA;EC6FA,0CAAA;EACK,qCAAA;EACG,kCAAA;EEvLR,uBAAA;EACA,iBAAA;EACA,cAAA;EPqlCD;AIv/BD;EACE,oBAAA;EJy/BD;AIn/BD;EACE,kBAAA;EACA,qBAAA;EACA,WAAA;EACA,+BAAA;EJq/BD;AI7+BD;EACE,oBAAA;EACA,YAAA;EACA,aAAA;EACA,cAAA;EACA,YAAA;EACA,kBAAA;EACA,wBAAA;EACA,WAAA;EJ++BD;AIv+BC;;EAEE,kBAAA;EACA,aAAA;EACA,cAAA;EACA,WAAA;EACA,mBAAA;EACA,YAAA;EJy+BH;AQpnCD;;;;;;;;;;;;EAEE,sBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;ERgoCD;AQroCD;;;;;;;;;;;;;;;;;;;;;;;;EASI,qBAAA;EACA,gBAAA;EACA,gBAAA;ERspCH;AQlpCD;;;;;;EAGE,kBAAA;EACA,qBAAA;ERupCD;AQ3pCD;;;;;;;;;;;;EAQI,gBAAA;ERiqCH;AQ9pCD;;;;;;EAGE,kBAAA;EACA,qBAAA;ERmqCD;AQvqCD;;;;;;;;;;;;EAQI,gBAAA;ER6qCH;AQzqCD;;EAAU,iBAAA;ER6qCT;AQ5qCD;;EAAU,iBAAA;ERgrCT;AQ/qCD;;EAAU,iBAAA;ERmrCT;AQlrCD;;EAAU,iBAAA;ERsrCT;AQrrCD;;EAAU,iBAAA;ERyrCT;AQxrCD;;EAAU,iBAAA;ER4rCT;AQtrCD;EACE,kBAAA;ERwrCD;AQrrCD;EACE,qBAAA;EACA,iBAAA;EACA,kBAAA;EACA,kBAAA;ERurCD;AQlrCD;EAAA;IAFI,iBAAA;IRwrCD;EACF;AQhrCD;;EAEE,gBAAA;ERkrCD;AQ/qCD;;EAEE,2BAAA;EACA,eAAA;ERirCD;AQ7qCD;EAAuB,kBAAA;ERgrCtB;AQ/qCD;EAAuB,mBAAA;ERkrCtB;AQjrCD;EAAuB,oBAAA;ERorCtB;AQnrCD;EAAuB,qBAAA;ERsrCtB;AQrrCD;EAAuB,qBAAA;ERwrCtB;AQrrCD;EAAuB,2BAAA;ERwrCtB;AQvrCD;EAAuB,2BAAA;ER0rCtB;AQzrCD;EAAuB,4BAAA;ER4rCtB;AQzrCD;EACE,gBAAA;ER2rCD;AQzrCD;ECrGE,gBAAA;ETiyCD;AShyCC;EACE,gBAAA;ETkyCH;AQ5rCD;ECxGE,gBAAA;ETuyCD;AStyCC;EACE,gBAAA;ETwyCH;AQ/rCD;EC3GE,gBAAA;ET6yCD;AS5yCC;EACE,gBAAA;ET8yCH;AQlsCD;EC9GE,gBAAA;ETmzCD;ASlzCC;EACE,gBAAA;ETozCH;AQrsCD;ECjHE,gBAAA;ETyzCD;ASxzCC;EACE,gBAAA;ET0zCH;AQpsCD;EAGE,aAAA;EE3HA,2BAAA;EVg0CD;AU/zCC;EACE,2BAAA;EVi0CH;AQrsCD;EE9HE,2BAAA;EVs0CD;AUr0CC;EACE,2BAAA;EVu0CH;AQxsCD;EEjIE,2BAAA;EV40CD;AU30CC;EACE,2BAAA;EV60CH;AQ3sCD;EEpIE,2BAAA;EVk1CD;AUj1CC;EACE,2BAAA;EVm1CH;AQ9sCD;EEvIE,2BAAA;EVw1CD;AUv1CC;EACE,2BAAA;EVy1CH;AQ5sCD;EACE,qBAAA;EACA,qBAAA;EACA,kCAAA;ER8sCD;AQtsCD;;EAEE,eAAA;EACA,qBAAA;ERwsCD;AQ3sCD;;;;EAMI,kBAAA;ER2sCH;AQpsCD;EACE,iBAAA;EACA,kBAAA;ERssCD;AQlsCD;EALE,iBAAA;EACA,kBAAA;EAMA,mBAAA;ERqsCD;AQvsCD;EAKI,uBAAA;EACA,mBAAA;EACA,oBAAA;ERqsCH;AQhsCD;EACE,eAAA;EACA,qBAAA;ERksCD;AQhsCD;;EAEE,yBAAA;ERksCD;AQhsCD;EACE,mBAAA;ERksCD;AQhsCD;EACE,gBAAA;ERksCD;AQzqCD;EAAA;IAVM,aAAA;IACA,cAAA;IACA,aAAA;IACA,mBAAA;IGtNJ,kBAAA;IACA,yBAAA;IACA,qBAAA;IX84CC;EQnrCH;IAHM,oBAAA;IRyrCH;EACF;AQhrCD;;EAGE,cAAA;EACA,mCAAA;ERirCD;AQ/qCD;EACE,gBAAA;EACA,2BAAA;ERirCD;AQ7qCD;EACE,oBAAA;EACA,kBAAA;EACA,mBAAA;EACA,gCAAA;ER+qCD;AQ1qCG;;;EACE,kBAAA;ER8qCL;AQxrCD;;;EAmBI,gBAAA;EACA,gBAAA;EACA,yBAAA;EACA,gBAAA;ER0qCH;AQxqCG;;;EACE,wBAAA;ER4qCL;AQpqCD;;EAEE,qBAAA;EACA,iBAAA;EACA,iCAAA;EACA,gBAAA;EACA,mBAAA;ERsqCD;AQhqCG;;;;;;EAAW,aAAA;ERwqCd;AQvqCG;;;;;;EACE,wBAAA;ER8qCL;AQxqCD;EACE,qBAAA;EACA,oBAAA;EACA,yBAAA;ER0qCD;AYh9CD;;;;EAIE,gEAAA;EZk9CD;AY98CD;EACE,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,2BAAA;EACA,oBAAA;EZg9CD;AY58CD;EACE,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,2BAAA;EACA,oBAAA;EACA,wDAAA;UAAA,gDAAA;EZ88CD;AYp9CD;EASI,YAAA;EACA,iBAAA;EACA,mBAAA;EACA,0BAAA;UAAA,kBAAA;EZ88CH;AYz8CD;EACE,gBAAA;EACA,gBAAA;EACA,kBAAA;EACA,iBAAA;EACA,yBAAA;EACA,uBAAA;EACA,uBAAA;EACA,gBAAA;EACA,2BAAA;EACA,2BAAA;EACA,oBAAA;EZ28CD;AYt9CD;EAeI,YAAA;EACA,oBAAA;EACA,gBAAA;EACA,uBAAA;EACA,+BAAA;EACA,kBAAA;EZ08CH;AYr8CD;EACE,mBAAA;EACA,oBAAA;EZu8CD;AajgDD;ECHE,oBAAA;EACA,mBAAA;EACA,oBAAA;EACA,qBAAA;EdugDD;AajgDC;EAAA;IAFE,cAAA;IbugDD;EACF;AangDC;EAAA;IAFE,cAAA;IbygDD;EACF;AargDD;EAAA;IAFI,eAAA;Ib2gDD;EACF;AalgDD;ECvBE,oBAAA;EACA,mBAAA;EACA,oBAAA;EACA,qBAAA;Ed4hDD;Aa//CD;ECvBE,oBAAA;EACA,qBAAA;EdyhDD;AezhDG;EACE,oBAAA;EAEA,iBAAA;EAEA,oBAAA;EACA,qBAAA;EfyhDL;AezgDG;EACE,aAAA;Ef2gDL;AepgDC;EACE,aAAA;EfsgDH;AevgDC;EACE,qBAAA;EfygDH;Ae1gDC;EACE,qBAAA;Ef4gDH;Ae7gDC;EACE,YAAA;Ef+gDH;AehhDC;EACE,qBAAA;EfkhDH;AenhDC;EACE,qBAAA;EfqhDH;AethDC;EACE,YAAA;EfwhDH;AezhDC;EACE,qBAAA;Ef2hDH;Ae5hDC;EACE,qBAAA;Ef8hDH;Ae/hDC;EACE,YAAA;EfiiDH;AeliDC;EACE,qBAAA;EfoiDH;AeriDC;EACE,oBAAA;EfuiDH;AezhDC;EACE,aAAA;Ef2hDH;Ae5hDC;EACE,qBAAA;Ef8hDH;Ae/hDC;EACE,qBAAA;EfiiDH;AeliDC;EACE,YAAA;EfoiDH;AeriDC;EACE,qBAAA;EfuiDH;AexiDC;EACE,qBAAA;Ef0iDH;Ae3iDC;EACE,YAAA;Ef6iDH;Ae9iDC;EACE,qBAAA;EfgjDH;AejjDC;EACE,qBAAA;EfmjDH;AepjDC;EACE,YAAA;EfsjDH;AevjDC;EACE,qBAAA;EfyjDH;Ae1jDC;EACE,oBAAA;Ef4jDH;AexjDC;EACE,aAAA;Ef0jDH;Ae1kDC;EACE,YAAA;Ef4kDH;Ae7kDC;EACE,oBAAA;Ef+kDH;AehlDC;EACE,oBAAA;EfklDH;AenlDC;EACE,WAAA;EfqlDH;AetlDC;EACE,oBAAA;EfwlDH;AezlDC;EACE,oBAAA;Ef2lDH;Ae5lDC;EACE,WAAA;Ef8lDH;Ae/lDC;EACE,oBAAA;EfimDH;AelmDC;EACE,oBAAA;EfomDH;AermDC;EACE,WAAA;EfumDH;AexmDC;EACE,oBAAA;Ef0mDH;Ae3mDC;EACE,mBAAA;Ef6mDH;AezmDC;EACE,YAAA;Ef2mDH;Ae7lDC;EACE,mBAAA;Ef+lDH;AehmDC;EACE,2BAAA;EfkmDH;AenmDC;EACE,2BAAA;EfqmDH;AetmDC;EACE,kBAAA;EfwmDH;AezmDC;EACE,2BAAA;Ef2mDH;Ae5mDC;EACE,2BAAA;Ef8mDH;Ae/mDC;EACE,kBAAA;EfinDH;AelnDC;EACE,2BAAA;EfonDH;AernDC;EACE,2BAAA;EfunDH;AexnDC;EACE,kBAAA;Ef0nDH;Ae3nDC;EACE,2BAAA;Ef6nDH;Ae9nDC;EACE,0BAAA;EfgoDH;AejoDC;EACE,iBAAA;EfmoDH;AanoDD;EElCI;IACE,aAAA;IfwqDH;EejqDD;IACE,aAAA;IfmqDD;EepqDD;IACE,qBAAA;IfsqDD;EevqDD;IACE,qBAAA;IfyqDD;Ee1qDD;IACE,YAAA;If4qDD;Ee7qDD;IACE,qBAAA;If+qDD;EehrDD;IACE,qBAAA;IfkrDD;EenrDD;IACE,YAAA;IfqrDD;EetrDD;IACE,qBAAA;IfwrDD;EezrDD;IACE,qBAAA;If2rDD;Ee5rDD;IACE,YAAA;If8rDD;Ee/rDD;IACE,qBAAA;IfisDD;EelsDD;IACE,oBAAA;IfosDD;EetrDD;IACE,aAAA;IfwrDD;EezrDD;IACE,qBAAA;If2rDD;Ee5rDD;IACE,qBAAA;If8rDD;Ee/rDD;IACE,YAAA;IfisDD;EelsDD;IACE,qBAAA;IfosDD;EersDD;IACE,qBAAA;IfusDD;EexsDD;IACE,YAAA;If0sDD;Ee3sDD;IACE,qBAAA;If6sDD;Ee9sDD;IACE,qBAAA;IfgtDD;EejtDD;IACE,YAAA;IfmtDD;EeptDD;IACE,qBAAA;IfstDD;EevtDD;IACE,oBAAA;IfytDD;EertDD;IACE,aAAA;IfutDD;EevuDD;IACE,YAAA;IfyuDD;Ee1uDD;IACE,oBAAA;If4uDD;Ee7uDD;IACE,oBAAA;If+uDD;EehvDD;IACE,WAAA;IfkvDD;EenvDD;IACE,oBAAA;IfqvDD;EetvDD;IACE,oBAAA;IfwvDD;EezvDD;IACE,WAAA;If2vDD;Ee5vDD;IACE,oBAAA;If8vDD;Ee/vDD;IACE,oBAAA;IfiwDD;EelwDD;IACE,WAAA;IfowDD;EerwDD;IACE,oBAAA;IfuwDD;EexwDD;IACE,mBAAA;If0wDD;EetwDD;IACE,YAAA;IfwwDD;Ee1vDD;IACE,mBAAA;If4vDD;Ee7vDD;IACE,2BAAA;If+vDD;EehwDD;IACE,2BAAA;IfkwDD;EenwDD;IACE,kBAAA;IfqwDD;EetwDD;IACE,2BAAA;IfwwDD;EezwDD;IACE,2BAAA;If2wDD;Ee5wDD;IACE,kBAAA;If8wDD;Ee/wDD;IACE,2BAAA;IfixDD;EelxDD;IACE,2BAAA;IfoxDD;EerxDD;IACE,kBAAA;IfuxDD;EexxDD;IACE,2BAAA;If0xDD;Ee3xDD;IACE,0BAAA;If6xDD;Ee9xDD;IACE,iBAAA;IfgyDD;EACF;AaxxDD;EE3CI;IACE,aAAA;Ifs0DH;Ee/zDD;IACE,aAAA;Ifi0DD;Eel0DD;IACE,qBAAA;Ifo0DD;Eer0DD;IACE,qBAAA;Ifu0DD;Eex0DD;IACE,YAAA;If00DD;Ee30DD;IACE,qBAAA;If60DD;Ee90DD;IACE,qBAAA;Ifg1DD;Eej1DD;IACE,YAAA;Ifm1DD;Eep1DD;IACE,qBAAA;Ifs1DD;Eev1DD;IACE,qBAAA;Ify1DD;Ee11DD;IACE,YAAA;If41DD;Ee71DD;IACE,qBAAA;If+1DD;Eeh2DD;IACE,oBAAA;Ifk2DD;Eep1DD;IACE,aAAA;Ifs1DD;Eev1DD;IACE,qBAAA;Ify1DD;Ee11DD;IACE,qBAAA;If41DD;Ee71DD;IACE,YAAA;If+1DD;Eeh2DD;IACE,qBAAA;Ifk2DD;Een2DD;IACE,qBAAA;Ifq2DD;Eet2DD;IACE,YAAA;Ifw2DD;Eez2DD;IACE,qBAAA;If22DD;Ee52DD;IACE,qBAAA;If82DD;Ee/2DD;IACE,YAAA;Ifi3DD;Eel3DD;IACE,qBAAA;Ifo3DD;Eer3DD;IACE,oBAAA;Ifu3DD;Een3DD;IACE,aAAA;Ifq3DD;Eer4DD;IACE,YAAA;Ifu4DD;Eex4DD;IACE,oBAAA;If04DD;Ee34DD;IACE,oBAAA;If64DD;Ee94DD;IACE,WAAA;Ifg5DD;Eej5DD;IACE,oBAAA;Ifm5DD;Eep5DD;IACE,oBAAA;Ifs5DD;Eev5DD;IACE,WAAA;Ify5DD;Ee15DD;IACE,oBAAA;If45DD;Ee75DD;IACE,oBAAA;If+5DD;Eeh6DD;IACE,WAAA;Ifk6DD;Een6DD;IACE,oBAAA;Ifq6DD;Eet6DD;IACE,mBAAA;Ifw6DD;Eep6DD;IACE,YAAA;Ifs6DD;Eex5DD;IACE,mBAAA;If05DD;Ee35DD;IACE,2BAAA;If65DD;Ee95DD;IACE,2BAAA;Ifg6DD;Eej6DD;IACE,kBAAA;Ifm6DD;Eep6DD;IACE,2BAAA;Ifs6DD;Eev6DD;IACE,2BAAA;Ify6DD;Ee16DD;IACE,kBAAA;If46DD;Ee76DD;IACE,2BAAA;If+6DD;Eeh7DD;IACE,2BAAA;Ifk7DD;Een7DD;IACE,kBAAA;Ifq7DD;Eet7DD;IACE,2BAAA;Ifw7DD;Eez7DD;IACE,0BAAA;If27DD;Ee57DD;IACE,iBAAA;If87DD;EACF;Aan7DD;EE9CI;IACE,aAAA;Ifo+DH;Ee79DD;IACE,aAAA;If+9DD;Eeh+DD;IACE,qBAAA;Ifk+DD;Een+DD;IACE,qBAAA;Ifq+DD;Eet+DD;IACE,YAAA;Ifw+DD;Eez+DD;IACE,qBAAA;If2+DD;Ee5+DD;IACE,qBAAA;If8+DD;Ee/+DD;IACE,YAAA;Ifi/DD;Eel/DD;IACE,qBAAA;Ifo/DD;Eer/DD;IACE,qBAAA;Ifu/DD;Eex/DD;IACE,YAAA;If0/DD;Ee3/DD;IACE,qBAAA;If6/DD;Ee9/DD;IACE,oBAAA;IfggED;Eel/DD;IACE,aAAA;Ifo/DD;Eer/DD;IACE,qBAAA;Ifu/DD;Eex/DD;IACE,qBAAA;If0/DD;Ee3/DD;IACE,YAAA;If6/DD;Ee9/DD;IACE,qBAAA;IfggED;EejgED;IACE,qBAAA;IfmgED;EepgED;IACE,YAAA;IfsgED;EevgED;IACE,qBAAA;IfygED;Ee1gED;IACE,qBAAA;If4gED;Ee7gED;IACE,YAAA;If+gED;EehhED;IACE,qBAAA;IfkhED;EenhED;IACE,oBAAA;IfqhED;EejhED;IACE,aAAA;IfmhED;EeniED;IACE,YAAA;IfqiED;EetiED;IACE,oBAAA;IfwiED;EeziED;IACE,oBAAA;If2iED;Ee5iED;IACE,WAAA;If8iED;Ee/iED;IACE,oBAAA;IfijED;EeljED;IACE,oBAAA;IfojED;EerjED;IACE,WAAA;IfujED;EexjED;IACE,oBAAA;If0jED;Ee3jED;IACE,oBAAA;If6jED;Ee9jED;IACE,WAAA;IfgkED;EejkED;IACE,oBAAA;IfmkED;EepkED;IACE,mBAAA;IfskED;EelkED;IACE,YAAA;IfokED;EetjED;IACE,mBAAA;IfwjED;EezjED;IACE,2BAAA;If2jED;Ee5jED;IACE,2BAAA;If8jED;Ee/jED;IACE,kBAAA;IfikED;EelkED;IACE,2BAAA;IfokED;EerkED;IACE,2BAAA;IfukED;EexkED;IACE,kBAAA;If0kED;Ee3kED;IACE,2BAAA;If6kED;Ee9kED;IACE,2BAAA;IfglED;EejlED;IACE,kBAAA;IfmlED;EeplED;IACE,2BAAA;IfslED;EevlED;IACE,0BAAA;IfylED;Ee1lED;IACE,iBAAA;If4lED;EACF;AgBhqED;EACE,+BAAA;EhBkqED;AgBhqED;EACE,kBAAA;EACA,qBAAA;EACA,gBAAA;EACA,kBAAA;EhBkqED;AgBhqED;EACE,kBAAA;EhBkqED;AgB5pED;EACE,aAAA;EACA,iBAAA;EACA,qBAAA;EhB8pED;AgBjqED;;;;;;EAWQ,cAAA;EACA,yBAAA;EACA,qBAAA;EACA,+BAAA;EhB8pEP;AgB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","file":"bootstrap.css","sourcesContent":["/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n select {\n background: #fff !important;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\2a\";\n}\n.glyphicon-plus:before {\n content: \"\\2b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #ffffff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #ffffff;\n background-color: #333333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #cccccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n.row {\n margin-left: -15px;\n margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #dddddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #dddddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #dddddd;\n}\n.table .table {\n background-color: #ffffff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #dddddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #dddddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #dddddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #ffffff;\n background-image: none;\n border: 1px solid #cccccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999999;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n background-color: #eeeeee;\n opacity: 1;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"],\n input[type=\"time\"],\n input[type=\"datetime-local\"],\n input[type=\"month\"] {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-left: 0;\n padding-right: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.form-group-sm .form-control {\n height: 30px;\n line-height: 30px;\n}\ntextarea.form-group-sm .form-control,\nselect[multiple].form-group-sm .form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.form-group-lg .form-control {\n height: 46px;\n line-height: 46px;\n}\ntextarea.form-group-lg .form-control,\nselect[multiple].form-group-lg .form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 14.333333px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n pointer-events: none;\n opacity: 0.65;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default {\n color: #333333;\n background-color: #ffffff;\n border-color: #cccccc;\n}\n.btn-default:hover,\n.btn-default:focus,\n.btn-default.focus,\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #ffffff;\n border-color: #cccccc;\n}\n.btn-default .badge {\n color: #ffffff;\n background-color: #333333;\n}\n.btn-primary {\n color: #ffffff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:hover,\n.btn-primary:focus,\n.btn-primary.focus,\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #ffffff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #ffffff;\n}\n.btn-success {\n color: #ffffff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:hover,\n.btn-success:focus,\n.btn-success.focus,\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #ffffff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #ffffff;\n}\n.btn-info {\n color: #ffffff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:hover,\n.btn-info:focus,\n.btn-info.focus,\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #ffffff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #ffffff;\n}\n.btn-warning {\n color: #ffffff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:hover,\n.btn-warning:focus,\n.btn-warning.focus,\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #ffffff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #ffffff;\n}\n.btn-danger {\n color: #ffffff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:hover,\n.btn-danger:focus,\n.btn-danger.focus,\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #ffffff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #ffffff;\n}\n.btn-link {\n color: #337ab7;\n font-weight: normal;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n visibility: hidden;\n}\n.collapse.in {\n display: block;\n visibility: visible;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px solid;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #ffffff;\n border: 1px solid #cccccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #ffffff;\n text-decoration: none;\n outline: 0;\n background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed;\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n left: auto;\n right: 0;\n}\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px solid;\n content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n left: auto;\n right: 0;\n }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-bottom-left-radius: 4px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #cccccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n margin-left: -1px;\n}\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #dddddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #dddddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n border-bottom-color: transparent;\n cursor: default;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #dddddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #ffffff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #ffffff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #dddddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #ffffff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n visibility: hidden;\n}\n.tab-content > .active {\n display: block;\n visibility: visible;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n visibility: visible !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #cccccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #dddddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #dddddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555555;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #cccccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777777;\n}\n.navbar-default .navbar-link:hover {\n color: #333333;\n}\n.navbar-default .btn-link {\n color: #777777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #cccccc;\n}\n.navbar-inverse {\n background-color: #222222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #ffffff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #ffffff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #ffffff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #ffffff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #080808;\n color: #ffffff;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #ffffff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #ffffff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #ffffff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #ffffff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n content: \"/\\00a0\";\n padding: 0 5px;\n color: #cccccc;\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.42857143;\n text-decoration: none;\n color: #337ab7;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n color: #23527c;\n background-color: #eeeeee;\n border-color: #dddddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 2;\n color: #ffffff;\n background-color: #337ab7;\n border-color: #337ab7;\n cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n background-color: #ffffff;\n border-color: #dddddd;\n cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-bottom-left-radius: 6px;\n border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-bottom-right-radius: 6px;\n border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-bottom-left-radius: 3px;\n border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-bottom-right-radius: 3px;\n border-top-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n background-color: #ffffff;\n cursor: not-allowed;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #ffffff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #ffffff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #ffffff;\n line-height: 1;\n vertical-align: baseline;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #ffffff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #ffffff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding: 30px 15px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding: 48px 0;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-left: 60px;\n padding-right: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-left: auto;\n margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n overflow: hidden;\n height: 20px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #ffffff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n margin-bottom: 20px;\n padding-left: 0;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n}\n.list-group-item:first-child {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item {\n color: #555555;\n}\na.list-group-item .list-group-item-heading {\n color: #333333;\n}\na.list-group-item:hover,\na.list-group-item:focus {\n text-decoration: none;\n color: #555555;\n background-color: #f5f5f5;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #ffffff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\na.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\na.list-group-item-success.active:hover,\na.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\na.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\na.list-group-item-info.active:hover,\na.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\na.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\na.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #ffffff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #dddddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #dddddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #dddddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #dddddd;\n}\n.panel-default {\n border-color: #dddddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #dddddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #dddddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #dddddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #ffffff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #ffffff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n}\n.embed-responsive.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000000;\n text-shadow: 0 1px 0 #ffffff;\n opacity: 0.2;\n filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #ffffff;\n border: 1px solid #999999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n background-clip: padding-box;\n outline: 0;\n}\n.modal-backdrop {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n background-color: #000000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n min-height: 16.42857143px;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n visibility: visible;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 12px;\n font-weight: normal;\n line-height: 1.4;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.tooltip.in {\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.tooltip.top {\n margin-top: -3px;\n padding: 5px 0;\n}\n.tooltip.right {\n margin-left: 3px;\n padding: 0 5px;\n}\n.tooltip.bottom {\n margin-top: 3px;\n padding: 5px 0;\n}\n.tooltip.left {\n margin-left: -3px;\n padding: 0 5px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #ffffff;\n text-align: center;\n text-decoration: none;\n background-color: #000000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000000;\n}\n.tooltip.top-left .tooltip-arrow {\n bottom: 0;\n right: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n background-color: #ffffff;\n background-clip: padding-box;\n border: 1px solid #cccccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n white-space: normal;\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n margin: 0;\n padding: 8px 14px;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n border-width: 10px;\n content: \"\";\n}\n.popover.top > .arrow {\n left: 50%;\n margin-left: -11px;\n border-bottom-width: 0;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n bottom: -11px;\n}\n.popover.top > .arrow:after {\n content: \" \";\n bottom: 1px;\n margin-left: -10px;\n border-bottom-width: 0;\n border-top-color: #ffffff;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-left-width: 0;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n content: \" \";\n left: 1px;\n bottom: -10px;\n border-left-width: 0;\n border-right-color: #ffffff;\n}\n.popover.bottom > .arrow {\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n top: -11px;\n}\n.popover.bottom > .arrow:after {\n content: \" \";\n top: 1px;\n margin-left: -10px;\n border-top-width: 0;\n border-bottom-color: #ffffff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: #ffffff;\n bottom: -10px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n}\n.carousel-inner > .item {\n display: none;\n position: relative;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000;\n -moz-perspective: 1000;\n perspective: 1000;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 15%;\n opacity: 0.5;\n filter: alpha(opacity=50);\n font-size: 20px;\n color: #ffffff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n outline: 0;\n color: #ffffff;\n text-decoration: none;\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n margin-top: -10px;\n line-height: 1;\n font-family: serif;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid #ffffff;\n border-radius: 10px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: #ffffff;\n}\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #ffffff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -15px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -15px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -15px;\n }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-footer:before,\n.modal-footer:after {\n content: \" \";\n display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n visibility: hidden !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS text size adjust after orientation change, without disabling\n// user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability when focused and also mouse hovered in all browsers.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n// (include `-moz` to future-proof).\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; // 2\n box-sizing: content-box;\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n //\n // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245\n // Once fixed, we can just straight up remove this.\n select {\n background: #fff !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// Star\n\n// Import the fonts\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('@{icon-font-path}@{icon-font-name}.eot');\n src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\2a\"; } }\n.glyphicon-plus { &:before { content: \"\\2b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // Default\n outline: thin dotted;\n // WebKit\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: normal;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n background-color: @state-warning-bg;\n padding: .2em;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @grid-float-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: '\\2014 \\00A0'; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n text-align: right;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: ''; }\n &:after {\n content: '\\00A0 \\2014'; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n word-break: break-all;\n word-wrap: break-word;\n color: @pre-color;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n margin-right: auto;\n margin-left: auto;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-left: (@gutter / -2);\n margin-right: (@gutter / -2);\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: (@grid-gutter-width / 2);\n padding-right: (@grid-gutter-width / 2);\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n}\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-cell;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * 0.75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n}\n\n// Set the height of file controls to match text inputs\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius; // Note: This has no effect on s in CSS.\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &[disabled],\n &[readonly],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n background-color: @input-bg-disabled;\n opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n }\n\n // Reset height for `textarea`s\n textarea& {\n height: auto;\n }\n}\n\n\n// Search inputs in iOS\n//\n// This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"],\n input[type=\"time\"],\n input[type=\"datetime-local\"],\n input[type=\"month\"] {\n line-height: @input-height-base;\n\n &.input-sm,\n .input-group-sm & {\n line-height: @input-height-small;\n }\n\n &.input-lg,\n .input-group-lg & {\n line-height: @input-height-large;\n }\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: 15px;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n\n label {\n min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; // space out consecutive inline controls\n}\n\n// Apply same disabled cursor tweak as for inputs\n// Some special care is needed because

    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

    7kia!NdhQQwZ} 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

    r!XJH;~81qh84!tlP4}9ebmbuSh7~^Nu)uaN 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

    ke_hHn(f7>2M1QE?2A}4W}iVC^Jzw% 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�YV7Wme{l)hW996GA&x5V7=`k@EeM-ci9^8 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у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